/*
 Theme Name:   MAINSTREAM
 Description:  Custom theme
 Author:       Carnoustie Creative
 Author URI:   https://www.carnoustiecreative.co.uk
 Template:     baseline
 Version:      1.1.6
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  baseline-child

.archivo-<uniquifier> {
  font-family: "Archivo", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

*/

:root {
    --ms-downriver: #2D2D61;
    --ms-caribbean-green: #34D4AE;
    --ms-lochinver: #17978A;
    --ms-whisper: #F0F0F8;
    --ms-line: #B1CDD6;
    --ms-radius: 1rem;
    --ms-gradient: radial-gradient(30.95% 56.24% at 26.24% 50%, #0E756B 1.44%, #2D2D61 92.79%);
}

.baseline {
    --baseline-aos-distance: 30px;
    --baseline-aos-distance-negative: -30px;
}

body.baseline {
    --cde-edge-padding: 8rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.45;
    font-family: "Archivo", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: clamp( 1.5rem, 2vw, 1.75rem );    
}

.header-wrap .container,
#footer-bottom-container.container {
    max-width: 96%;
    width: 96%;
}

.baseline h1,
.baseline h2,
.baseline h3,
.baseline h4,
.baseline h5,
.baseline h6 {
    font-weight: 600;
}

body.header_overlay .header-wrap,
body.header_overlay .mobile-nav {
    position: absolute;
    width: 100%;
    z-index: 2;
}

body.header_overlay .mobile-nav {
    background: transparent;
}

body.baseline.header_overlay .flex-elm.first {
    margin-top: 0;
}

@media ( max-width: 600px ) {

    body.baseline.header_overlay .flex-elm .wrapper {
        margin-top: 0;
    }

}

.cde-image-header {
    height: 40vw;
    min-height: 30rem;
    max-height: 55vh;
}

body.header_overlay .cde-image-header {
    height: 55vw;
    min-height: 50rem;
    max-height: 75vh;
}

@media ( max-width: 600px ) {

    body.home.header_overlay .cde-image-header {
        height: 70vw;
        min-height: 50rem;
        max-height: 85vh;
    }
    
    .home .flex-elm.cde-image-header .cde-crop-mr {
        background-position: 80% center;
    }

    #home-apply.cde-image-left-text-right .img {
        margin-bottom: 0;
    }

}

.cde-image-header .wrapper {
    position: relative;
    z-index: 1;    
}

.cde-image-header .container,
.cde-text-header .container  {
    position: static;   
    display: flex;
    flex-direction: column;
    justify-content: center; 
    height: 100%;
    padding-top: 10vw;    
}

@media ( max-width: 600px ) {

    .cde-image-header .container,
    .cde-text-header .container  {
        padding-top: 20vw;    
    }

}

.cde-image-header .img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-size: cover;    
}

.cde-image-header.no-screen-overlay .img:after {
    display: none;
}

.cde-image-header .img:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 60%);
}

.cde-image-header .inner {
    position: relative;
    z-index: 1;
    color: #fff;
    max-width: 34vw;
}

@media ( max-width: 1100px ) {

    .cde-image-header .inner {
        max-width: 60%;
    }

}

@media ( max-width: 800px ) {

    .cde-image-header .inner {
        max-width: 80%;
    }

}

.cde-image-header .inner h1, 
.cde-image-header .inner h2,
.cde-image-header .inner h3 {
    color: #fff;
}

.baseline h1 {    
    font-weight: 700;
    font-size: clamp(3rem, 3.5vw, 6rem);
}

.baseline h1.xl {
    font-size: clamp(4rem, 4.5vw, 9rem);
}

.baseline h2 {
    font-size: clamp(2.5rem, 2.4vw, 3.6rem);
    margin-bottom: 2rem;
}

.baseline .header-wrap {
    background: transparent
}

.header-wrap .second li a {
    font-size: clamp(1.4rem, 1.1vw, 1.7rem);
}

.header-wrap .container {
    max-width: calc( 100% - 5.2rem);
    width: calc( 100% - 5.2rem);
    background-color: rgba(255, 255, 255, 0.75);
    border-radius: var(--ms-radius);
    backdrop-filter: blur(1rem);
    border: 0.1rem solid var(--ms-line);
}

.baseline .header-wrap {
    border-bottom: none;
    margin-top: 2.6rem;
}

.header-wrap .logotitle.row {    
    padding: 2rem;
}

.left.img, 
.right.img {
    border-radius: var(--ms-radius);
}


.ms-logobar {
    padding: 3rem 4rem 1rem 4rem;
    border-top: 0.1rem solid var(--ms-caribbean-green);
    border-bottom: 2rem solid var(--ms-caribbean-green);
}

.ms-logobar p {
    text-align: center;
    margin: 0 auto 2rem auto;
    max-width: 50rem;
    font-size: clamp(1.2rem, 1vw, 1.4rem);
}

.widget .ms-logobar ul {
    float: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}

.widget .ms-logobar ul {
    list-style: none;
    margin-left: 0;
}

.ms-logobar img {
    max-height: 6rem;
    width: auto; 
    padding: 3rem;
}

.ms-logobar img.logo-uon {
    max-height: 7.5rem;
}

.after-content-full .widget:last-child {
    margin-bottom: 0;
}

footer {
    border-top: 2rem solid var(--ms-lochinver);
    padding-top: 6rem;
}

.footer-credit p {
    margin-bottom: 0;
}

.header-wrap .second {
    position: static;  
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;   
}

.header-wrap .second .menu {
    padding-left: 1vw; 
    padding-right: 4vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

header .menu li.current-menu-item > a {
    font-weight: 700;
    color: var(--ms-lochinver)
}

.cde-image-header h2 {    
    line-height: 1;
}

h2 em {
    background-color: var(--ms-downriver);
    padding: 0.7rem 1rem;
    font-style: normal;
    font-size: clamp(1.9rem, 1.8vw, 2.6rem);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.baseline .flex-elm .col-none h2,
.baseline .flex-elm .col-none h3,
.baseline .flex-elm .col-none h4,
.baseline .flex-elm .col-none h5 {
    color: var(--ms-downriver);
}

.inner_linklist li a em {
    font-style: normal;
}

.inner_linklist li a,
a.deep-link {
    font-weight: 500;    
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;    
}

.inner_linklist li a,
.inner_linklist li a:hover,
.inner a.deep-link,
.inner a.deep-link:hover {
    text-decoration: none;
    border-bottom: none;
}

.inner_container_right {
    padding-top: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
}

.left .inner_linklist li a {
    justify-content: flex-end;
}

.inner_linklist li a:after,
a.deep-link:after {
    content: "\f0a9";
    font-family: "Font Awesome 6 Pro";
    font-weight: 200;
    font-size: 4rem;;
    color: var(--ms-lochinver);
    margin-left: 1rem;
    transition-duration: 0.3s;
    position: relative;
}

.inner_linklist li a:hover:after,
a.deep-link:hover:after {
    right: -0.5rem;
}

.inner_linklist {
    margin-top: 4rem;
}

.link-boxes .cde-grid-item-inner a {
    display: block;
    padding: 2rem;
    background-color: var(--ms-caribbean-green);    
    border-radius: var(--ms-radius);
    transition-duration: 0.3s;
}

.link-boxes .cde-grid-item-inner a,
.link-boxes .cde-grid-item-inner a:hover {
    border-bottom: none;    
}

.link-boxes .cde-grid-item-inner a:hover {
    transform: scale(1.05);
}

.link-boxes .item-label {
    padding-top: 2rem;
    margin-top: 3.5rem;
    font-size: 1.9rem;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.5);
    min-height: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-right: 3rem;
    position: relative;
}

.link-boxes .item-label:after {
    content: "\f061";
    font-family: "Font Awesome 6 Pro";
    font-weight: 200;
    position: absolute;
    right: 0;
    color: #fff;;
    font-size: 2.5rem;
}

.link-boxes .item-icon {
    background-color: var(--ms-downriver);
    color: #fff;
    padding: 1.7rem;
    border-radius: 100%;
    width: 5rem;
    height: 5rem;
    font-size: 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cde-grid-list.link-boxes.has-bgcolor:not(.col-none) {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

#footer-bottom-container {
    margin-top: 5rem;
}

footer .footer-50-left.widget-area .menu li {
    margin-bottom: 2rem;
    max-width: 20rem;
    line-height: 1.3;
}

.img-draw-in .swiper-slide,
.cde-image-header {
    animation-fill-mode: forwards;
    clip-path: inset(100% 0 0 0);    
}

.cde-image-header .img,
.swiper-slide_img {
    animation-fill-mode: forwards;
    transform: scale(1.1);
    overflow: hidden;
}

.fully-loaded .img-draw-in .swiper-slide,
.fully-loaded .cde-image-header { 
    -webkit-animation-name: draw-in-from-bottom;
    animation-name: draw-in-from-bottom;    
    webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;    
}

.fully-loaded .cde-image-header .img,
.fully-loaded .swiper-slide_img  {    
    animation: hero-zoom 0.9s ease-out forwards;
}

@keyframes draw-in-from-bottom {
    0% {
        clip-path: inset(100% 0 0 0);    
    }
    100% {
        clip-path: inset(0% 0 0 0);
    }
}

@keyframes draw-in-from-right {
    0% {
        clip-path: inset(0 0 0 100%);
    }
    100% {
        clip-path: inset(0 0 0 0%);
    }
}

@keyframes draw-in-from-left {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    100% {
        clip-path: inset(0 0% 0 0);
    }
}

@keyframes hero-zoom { 
    to { transform: scale(1); } 
}


[data-aos="draw-in-from-left"].aos-animate {
    -webkit-animation-name: draw-in-from-left;
    animation-name: draw-in-from-left;
    webkit-animation-duration: 1.6s;
    animation-duration: 1.6s;
}

[data-aos="draw-in-from-right"].aos-animate {
    -webkit-animation-name: draw-in-from-right;
    animation-name: draw-in-from-right;
    webkit-animation-duration: 1.6s;
    animation-duration: 1.6s;
}

.baseline.header_anim .header-wrap {
    transition-delay: 0.4s;
    transition-duration: 0.9s;    
    opacity: 0;
}

.baseline.header_anim.fully-loaded .header-wrap {
    opacity: 1;
}

/* Latest news items */

.widget .latest-item:first-child a {
    margin-left: 0;
}

.widget .latest-item a {
    display: block;    
    background-color: var(--ms-downriver);
    border-radius: var(--ms-radius);
    color: #fff;
}

.widget .latest-item h3 {
    color: #fff;
}

.widget .latest-item a,
.widget .latest-item a:hover {
    border-bottom: none;
}

.latest-content {
    padding: 3rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.latest-image img {
    height: 32rem;
    object-fit: cover;
    object-position: center;
    border-top-right-radius: var(--ms-radius);
    border-top-left-radius: var(--ms-radius);
}

@media ( max-width: 600px ) {

    .latest-image img {
        height: 20rem;
    }

    .baseline .cde-image-left-text-right .left.img, 
    .baseline .cde-text-left-image-right .right.img {
        min-height: 29rem;
    }

}

.inner_latest .swiper-container-horizontal {
    position: relative;
}

.baseline .latest-item.swiper-slide::before {
    content: none;
}

.baseline .swiper-container-horizontal> .swiper-scrollbar {    
    bottom: -5rem;
    left: calc( (100vw - 1200px) / 2 );
    max-width: 1200px;
    width: 92%;
    height: 1rem;
}

@media ( max-width: 1200px ) {

    .baseline .swiper-container-horizontal> .swiper-scrollbar {    
        left: 3%;
        width: 94%;
    }

}

.baseline .swiper-container-horizontal .swiper-scrollbar-drag {
    background: var(--ms-caribbean-green);
}

.cde-latest-news {
    padding-bottom: 5rem;
}

.cde-latest-news .container {
    margin-bottom: 3rem;
}

.latest-content .time_wrapper {
    margin-top: auto;
    border-bottom: 0.1rem solid var(--ms-caribbean-green);
    padding-bottom: 2rem;
}

.time_wrapper time {
    font-size: 1.5rem;
}

/* Latest news (Swiper) — make slides slider height */
.cde-latest-news .latest-swiper { width: 100%; }
.cde-latest-news .latest-list { list-style: none; margin: 0; padding: 0; }
.cde-latest-news .latest-swiper .swiper-wrapper { align-items: stretch; }
.cde-latest-news .latest-swiper .swiper-slide { height: auto; display: flex; transition-duration: 0.3s; }
.cde-latest-news .latest-swiper .latest-item { width: 100%; display: flex; }
.cde-latest-news .latest-swiper .latest-item > a { 
    display: flex; 
    flex-direction: column; 
    width: 100%; 
    height: 100%; 
}

.cde-latest-news .latest-swiper .swiper-slide:hover {
    transform: scale(1.03);
}

.cde-latest-news .container {
    display: grid;
    grid-template-columns: 50rem 1fr;
    grid-column-gap: 4rem;
}

.latest-item:first-child {
    margin-left: calc( (100vw - 1200px) / 2 );
}

@media ( max-width: 1200px ) {

    .latest-item:first-child {
        margin-left: 3%;
    }

}

/* End of latest news */

/* Blog posts */

body.single {
    position: relative;
    z-index: 1;
}

body.single:after {
    content: "";
    background: var(--ms-gradient);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 60rem;
    z-index: -1;
}

@media ( max-width: 600px ) {

    body.single:after {
        height: 70vw;
    }

}

.baseline.single .before-content {
    margin-top: 4rem;
}

.baseline.single .before-content .container,
.baseline.single .main .container {
    max-width: 75rem;
}

.baseline.single .hero,
.baseline.single .image {
    height: 50rem;
}

@media ( max-width: 600px ) {

    .baseline.single .hero,
    .baseline.single .image {
        height: 27rem;
    }

    .baseline .content.container {
        width: inherit;
        max-width: 75rem;
    }

}

.baseline.single .hero .image {
    border-radius: var(--ms-radius);    
}

.single .meta-below {
    border-bottom: 0.1rem solid var(--ms-line);
    padding-bottom: 2rem;
}

.single .main .flex-elm img {
    width: 100%;
}

.single .aligncenter {
    margin: 4rem auto;
}

.single .post-meta {
    display: block;
    padding: 2rem;
    background-color: var(--ms-whisper);
    border-radius: var(--ms-radius);
    margin-bottom: 3rem;
}

/* Text header */

.widget .cde-text-header .parent-link a {
    border-bottom: none;
    color: #fff;
}

.widget .cde-text-header .parent-link:after {
    content: "/";
    margin-left: 1rem;
    opacity: 0.5;
}

.widget .cde-text-header .parent-link a:hover {
    border-bottom: 0.1rem solid var(--ms-caribbean-green);
}

.flex-elm.cde-text-header.first {
    background-color: var(--ms-downriver);
    margin-top: 0;
    height: 70vh; 
    color: #fff;
}

@media ( max-width: 800px ) {

    .flex-elm.cde-text-header.first {
        max-height: 30rem;;
    }

    .baseline .flex-elm.cde-text-header {
        padding-bottom: 2rem;
    }

}

.flex-elm.cde-text-header:before {
    content: "";
    opacity: 0.07;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background-image: url('cell-pattern.jpg');
    background-size: cover;
    background-repeat: no-repeat;
}

.flex-elm.cde-text-header {
    z-index: 1;
    position: relative;
    background: var(--ms-gradient);
    background-size: 200% 200%;
    animation: anim-gradient 15s ease infinite;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem 0;
}

@keyframes anim-gradient {
    0% { background-position: 0% 100%; }
    50% { background-position: 70% 50%; }
    100% { background-position: 0% 100%; }
}


.cde-text-header .inner {
    position: relative;
    max-width: 70rem;
    z-index: 2;
}

.cde-text-header .inner p,
.baseline .large-text {
    font-size: clamp( 1.75rem, 2.2vw, 2rem );    
}

.cde-text-header .inner p {
    color: rgba(255, 255, 255, 0.6);
}

.flex-elm.cde-text-header.first h1,
.flex-elm.cde-text-header.first h2 {
    color: #fff;
}
 
/* End of text header */


.mobile-nav > .container {
    margin-top: 0.7rem;
    padding: 1rem;
    border-radius: var(--ms-radius);
    background-color: rgba(255, 255, 255, 0.8); 
    backdrop-filter: blur(1rem);
}

.mobile-nav > .container > .menu-bar.right {
    padding: 0;
}

body.baseline.header_overlay .mobile-nav.side {
    width: calc( 100% - 1.4rem );
}

.baseline .mobile-nav #menu-choices li.current-menu-item>a,
.baseline .mobile-nav #menu-choices li.current_page_item>a,
.baseline .mobile-nav #menu-choices-side li.current-menu-item>a,
.baseline .mobile-nav #menu-choices-side li.current_page_item>a {
    background-color: var(--ms-downriver);
}

.baseline .mobile-nav #menu-choices li, 
.baseline .mobile-nav #menu-choices-side li {
    background: var(--ms-whisper);
}

.baseline #menu-close .label {
    color: #fff;
}

.baseline header .right .sub-menu {
    padding-top: 1rem;
    margin-left: 2rem;
}

header .widget .menu li > ul.sub-menu li {
    background-color: var(--ms-whisper);
}

.after-content-full {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-grow: 1;
}

.main {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.baseline .after-content-full .widget:last-child {
    margin-top: auto;
}

header .right .second .menu-main-container > .menu > li:not(.button) {
    max-width: 16rem;
}

.logotitle .right .menu > li:not(.button) > a {    
    text-align: center;
    line-height: 1.2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin: 0 auto;
}

.logotitle .right .menu > li:not(.button) > a,
.logotitle .right .sub-menu > li > a  {
    font-size: clamp(1.2rem, 1vw, 1.6rem);
}

.baseline header .right .widget .menu li {
    margin-left: 0;
}

header .right .second .menu-main-container > .menu > li:not(.button) {
    box-sizing: border-box;
    padding: 0 1.6%;
    border-right: 0.1rem solid rgba(0,0,0,0.1);
    flex-grow: 1;
}

header .right .second .menu-main-container > .menu > li.cemi-logo {
    text-align: center;
}

.baseline header .right .second .menu-main-container > .menu > li:last-child {
    border-right: none;
} 

.menu li.cemi-logo a,
.mobile-nav #menu-choices-side li.cemi-logo a {
    width: 4.2rem;
    height: 4.2rem !important;
    color: transparent;
    background-image: url('cemi-logo.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.mobile-nav #menu-choices-side li.cemi-logo a {
    width: 100%;
    height: 2.5rem !important;
    margin: 1rem auto;
    background-position: 1rem center;
}

.baseline .button,
.baseline .woocommerce #respond input#submit,
.baseline .woocommerce a.button,
.baseline .woocommerce button.button,
.baseline .woocommerce input.button,
.baseline button,
.baseline input[type=button],
.baseline input[type=reset],
.baseline input[type=submit] {
    padding: 1.5rem 5rem;
    font-size: clamp( 1.35rem, 1.8vw, 1.55rem );    
}

.baseline footer .button {
    color: #000;
}

.ukri-logo img {
    max-width: 25.6rem; 
}

.widget-area.footer-50-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 4rem;
}

footer .contact {
    text-align: right;
    margin-top: 0.8rem;
}

@media ( max-width: 900px ) {

    .widget-area.footer-50-right {     
        margin-top: 5rem;
        grid-template-columns: 1fr;
        grid-row-gap: 5rem;
    }

    footer .contact {
        text-align: center;        
    }

}

.baseline .cde-box-menu.style-3 li {
    border-radius: var(--ms-radius);
}

.baseline .cde-box-menu.style-3 a {
    padding: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;  
}

.baseline .cde-box-menu.style-3 p {
    display: none;
}

.baseline .cde-box-menu.style-3 h2 {
    font-weight: 500;
    color: var(--ms-downriver);
    padding-right: 4rem;
    position: relative;
}

.baseline .cde-box-menu.style-3 h2:after {
    position: absolute;
    right: 0;
    top: -1rem;
    font-size: 4rem;
    content: "\f0a9";
    font-family: "Font Awesome 6 Pro";
    font-weight: 200;
    color: #fff;
}

/* Person */

li.person {
    background-color: var(--ms-whisper);
    padding: 4rem;
    border-radius: var(--ms-radius);
    display: grid;
    grid-template-columns: 33% 1fr;
    grid-column-gap: 3rem;
    margin-bottom: 0;
}

@media ( max-width: 600px ) {

    li.person {
        grid-template-columns: 1fr;
        grid-row-gap: 3rem;
    }

}

.person .person_photo img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
}

@media ( max-width: 600px ) {

    .person .person_photo img {
        width: 70%;        
    }

    .person .person_photo {
        text-align: center;
    }

}

.person .person_title {
    font-weight: 600;
    text-transform: uppercase;
}

.person_right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.people-two-cols .people ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 6rem;
}

@media ( max-width: 900px ) {

    .people-two-cols .people ul {
        grid-template-columns: 1fr;
    }

}

.person_bio:before {
    content: "";
    width: 6rem;
    height: 0.5rem;
    background: var(--ms-caribbean-green);
    position: relative;
    display: block;
    margin-bottom: 1.5rem;
}

.person_role {
    font-size: 1.4rem;
    text-transform: uppercase;
}

.person_bio {
    position: relative;
    margin-top: 1.5rem;
    font-size: 1.5rem;    
}

.baseline .person_name h3 {
    margin-bottom: 0rem;
}

/* End of person */

.baseline .cde-readmore-label {
    letter-spacing: 0;
    font-size: 1.3rem;
    font-weight: 500;
}

.baseline .cde-readmore-label:hover {
    border-bottom-color: var(--ms-caribbean-green);
}

.baseline .cde-readmore-label:before {
    content: "\f054";
    color: var(--ms-caribbean-green);
    font-family: "Font Awesome 6 Pro";
    font-weight: 700;
    font-size: 1.5rem;
    margin-right: 0.7rem;
}

.init-words .cont-symbol {
    display: none;
}

.baseline .cde-two-cols .inner {
    grid-row-gap: 2rem;
}

.baseline .cde-two-cols .before h2:last-child {
    margin-bottom: 0;
}

.cde-grid-item.has-bgcolor {
    border-radius: var(--ms-radius);
}

.cde-grid-list.small-gap .grid-list {
    grid-gap: 3rem;

}

.flex-elm.has-bgcolor {
    border-radius: var(--ms-radius);
}

.flex-elm .inner p:last-child {
    margin-bottom: 0;
}

.cde-grid-item .item-label {
    font-weight: 600; 
}

.cde-grid-item .item-label + .item-content {
    margin-top: 1rem;
}

.cde-wide-text.limit-width .inner {
    max-width: 80rem;
}

.flex-elm.has-bgcolor.col-lochinver h2,
.flex-elm.has-bgcolor.col-lochinver h3 {
    color: #fff;
}

.flex-elm.has-bgcolor.col-lochinver a {
    border-bottom-color: var(--ms-caribbean-green);
}

.left-col i:first-child {
    font-size: 5rem;
    color: var(--ms-caribbean-green);
}

.flex-elm.show-caption figcaption {
    display: block;
    z-index: 3;
    color: #fff;
    border-bottom-left-radius: var(--ms-radius);
    border-bottom-right-radius: var(--ms-radius);
}

.icon-img .img {
    position: relative;
    background-image: unset;    
    background: var(--ms-gradient) !important;    
}

.icon-img .img:after {
    position: absolute;
    content: "\e068";    
    top: 0;
    left: 0;    
    font-family: "Font Awesome 6 Pro";
    font-weight: 200;
    font-size: clamp(10rem, 10vw, 20rem);    
    width: 100%;
    height: 100%;    
    color: var(--ms-caribbean-green);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media ( max-width: 600px ) {

    .cde-box-menu.items-per-row-2 {
        grid-template-columns: 1fr;
    }

}

.baseline nav .full ul.menu>li.menu-item-has-children>a:after,
.baseline header .widget ul.menu>li.menu-item-has-children>a:after,
.baseline #menu-choices ul.menu>li.menu-item-has-children>.menu-toggle-label {
    background-position: center;
    position: relative;
    z-index: 3
}

.cde-horz-line {
    height: 0.1rem;
    background: var(--ms-caribbean-green);
}

.cde-grid-list .before {
    margin-bottom: 3rem;
}

.cde-grid-list.text-left-25 .inner {
    display: grid;
    grid-template-columns: 25% 1fr;
    grid-column-gap: 4rem;
}

.cde-grid-list.text-left-50 .inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 4rem;
}

.cde-grid-list.less-padding .inner .has-bgcolor:not(.col-none) {
    padding: 4rem 3rem;    
}

.cde-text-header .inner p.highlight-strong strong {
    color: #fff;
}

.cde-partners .partner {
    display: grid;
    grid-template-columns: 30rem 1fr;
    grid-column-gap: 10rem;
    border-bottom: 0.1rem solid var(--ms-caribbean-green);
    padding-bottom: 5rem;
    margin-bottom: 6rem;
}

@media ( max-width: 900px ) {

    .cde-partners .partner {
        grid-template-columns: 1fr;
    }

    .partner_left {
        margin-bottom: 3rem;
    }

}

.cde-partners .partner:last-child {
    border-bottom: none;
}

.cde-partners .partner_link {
    margin-bottom: 2rem;
}

.partner_link i {
    color: var(--ms-lochinver);
    margin-right: 0.3rem;
}

.cde-icons.partner-logos .before {
    max-width: 80rem;
    margin-bottom: 7rem;
}

.cde-icons.partner-logos .icons {    
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 7vw;
}

@media ( max-width: 960px ) {

    .cde-icons.partner-logos .icons {            
        grid-template-columns: 1fr 1fr;
        grid-gap: 6vw;
    }

}

@media ( max-width: 600px ) {

    .cde-icons.partner-logos .icons {            
        grid-template-columns: 1fr;
        grid-gap: 6vw;
    }

}

.cde-icons.partner-logos .cde-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cde-icons.partner-logos .cde-icon img {
    max-height: 15rem;    
    width: auto;
    max-width: 20rem;
}

.cde-icons.partner-logos .cde-icon.fixed img {
    height: 18rem;
    max-height: 18rem;
    max-width: 25rem;    
}

.cde-icons.partner-logos .cde-icon.smaller img {
    max-height: 13rem;    
    max-width: 12rem;
}

.cde-icons.partner-logos .cde-icon.bigger img {
    max-height: 20rem;        
    max-width: 25rem;
}

.cde-icons.partner-logos .cde-icon.max img {
    max-height: 20rem;        
    max-width: 30rem;
}

.baseline .main .content {
    background: transparent;
}

.blog .eight.columns.left, 
.archive .eight.columns.left {
    width: 100%;
    margin: 0;
}

.before-content-page .widget-area {
    margin: 2rem 0;
}

@media ( max-width: 600px ) {

    .before-content-page .widget-area {
        margin: 0 0 2rem 0;
    }

}

.blog .article-text-block,
.archive .article-text-block {  
    border-top: 0.1rem solid rgba(0,0,0,0.2);  
    padding: 1.8rem 2.4rem;
    box-sizing: border-box;
    color: #fff;    
}

.baseline.blog article,
.baseline.archive article {
    border-radius: var(--ms-radius);
    margin-top: 0;
    border-top: 0;
    padding-top: 0;
    background-color: var(--ms-downriver);
}

article .featured {
    border-top-left-radius: var(--ms-radius);
    border-top-right-radius: var(--ms-radius);
}

.single .flex-elm.first {
    margin-top: 0;
}

@media ( max-width: 600px ) {

    .single .flex-elm.first {
        margin-top: 0;
    }
    

}

.single .main .content {
    padding-bottom: 0;
}

.baseline.blog .post-date a, 
.baseline.blog .post-date {
    color: #fff;
    font-weight: 300;
}

article h1, 
article h1 a {
    color: #fff;
}

.post-summary-wrap {
    display: none;
}

article h1 {
    position: relative;
}

article h1:after {
    margin-top: 2rem;
    content: "";
    width: 100%;
    height: 0.1rem;
    display: block;
    background-color: var(--ms-caribbean-green);
}

.baseline .mobile-nav {
    background:transparent;
}

.lightbox img {
    border-radius: var(--ms-radius);
}