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

*/

@font-face {
    font-family: 'Texta Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Texta Regular'), url('font/TextaRegular.woff') format('woff');
}

@font-face {
    font-family: 'Texta Medium';
    font-style: normal;
    font-weight: normal;
    src: local('Texta Medium'), url('font/TextaMedium.woff') format('woff');
}

@font-face {
    font-family: 'Texta Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Texta Bold'), url('font/TextaBold.woff') format('woff');
}

@font-face {
    font-family: 'Texta Heavy';
    font-style: normal;
    font-weight: normal;
    src: local('Texta Heavy'), url('font/TextaHeavy.woff') format('woff');
}
    
@font-face {
    font-family: 'Texta Black';
    font-style: normal;
    font-weight: normal;
    src: local('Texta Black'), url('font/TextaBlack.woff') format('woff');
    }

:root {
    --af-tango: #F47D2F;
    --af-firebrick: #B52B28;
    --af-zircon: #F1F3F9;
    --af-wistful: #99A3E3;
    --af-gradient-bgnd: linear-gradient(180deg, #95A0D1 0%, #F1F3F9 100%);;
}

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

.baseline .container {
    max-width: 1400px;
}

body.baseline {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.3;
    font-style: normal;
    font-family: 'Texta Regular';
    font-size: clamp(1.75rem, 2.2vw, 2rem);
}

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

.baseline .header-wrap {
    border-bottom-color: var(--af-zircon);
}

.baseline footer {
    padding: 0;
}

#footer-bottom-container.container {
    background-color: var(--af-tango);
    max-width: 100%;
    width: 100%;
    padding: 1.5rem 2% 0.5rem 2%;
}

#footer-bottom-container p {
    margin-bottom: 0;
}

/* Second menu flex centered */

.second {
    top: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

header .second .menu {    
    justify-content: space-between;
    margin-right: 2rem;
}

header i {
    color: var(--af-tango);
    font-size: clamp(2rem, 1.8vw, 3rem);
}

header .second .menu > li > a {
    font-family: 'Texta Medium';
    border-top: 0.3rem solid transparent;
    border-bottom: 0.3rem solid transparent;
    padding: 0.8rem 0;
    font-size: clamp(1.3rem, 1.4vw, 1.9rem);
}

header .second .menu li.current-menu-item > a {
    font-family: 'Texta Heavy';
    border-bottom-color: var(--af-firebrick);
}

header .second .menu li.current-menu-item > a:hover {
    text-decoration: none;
}

.baseline h3,
.baseline h4 {
    font-family: 'Texta Black';
}

.baseline h1,
.baseline h2 {
    font-family: 'Texta Black';
    color: var(--af-firebrick);
}

.baseline h1 {
    font-size: clamp(4.2rem, 4.5vw, 6rem);
    line-height: 1.1;
}

.baseline h2.xl,
.baseline .home-slider h2 {
    font-size: clamp(4rem, 4.3vw, 5.5rem);
    line-height: 1.1;
}

.baseline h2 {
    font-size: clamp(2.8rem, 2.6vw, 4rem);
}

.baseline h3 {
    font-size: clamp(2.6rem, 2.3vw, 3.5rem);
}

.baseline h1.has-accent:after,
.baseline h2.has-accent:after,
.baseline .home-slider h2:after {
    content: "";
    width: 6.8rem;
    height: 0.8rem;
    display: block;
    background-color: var(--af-tango);
    margin-top: 1.6rem;
}

.baseline h1.has-accent[style*=text-align]:after {
    margin-left: auto;
    margin-right: auto;
}

.baseline .inline-list {
    text-align: left;
    text-transform: uppercase;
    font-size: clamp(1.4rem, 2.4vw, 1.7rem);
}

.baseline .inline-list li:after {
    background-color: var(--af-tango);
}

.baseline nav .full li > ul li,
.baseline  header .widget .menu li > ul li {
    background-color: var(--af-tango);
}

.baseline nav .full li > ul li a,
.baseline  header .widget .menu li > ul li a {
    color: #fff;
    font-size: 1.7rem;
}

h3 + .inline-list {
    margin-bottom: 1.5rem;
}

.flex-elm.limit-width .inner {
    max-width: 75rem;
    margin: 0 auto;
}

#footer-three-cols-container .row {
    display: grid;
    grid-template-columns: 27% 28% 45%;
    grid-column-gap: 0;
}

footer .four.columns {
    width: auto;
}

footer h4 {
    font-size: 1.6rem;
    color: #fff;
    opacity: 0.5;
}

#footer-three-cols-container .row .columns {
    margin-left: 2.5vw;
    padding-left: 2.5vw;
    border-left: 0.1rem solid var(--af-tango);
}

#footer-three-cols-container .row .columns:nth-child(1) {
    border-left: none;
    margin-left: 0;
    padding-left: 0;
}

#footer-three-cols-container {
    padding: 5rem 0;
}

.footer-col-3-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 1.6rem;
    line-height: 1.4;
}

footer i {
    color: var(--af-tango);    
}

.centre-text {
    text-align: center;
}

.footer-col-1 .menu li a {
    font-size: 1.8rem;
}

footer .widget-area.footer-col-1 .menu li {
    margin-bottom: 1rem;
}

footer .four.columns {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.footer-col-2 h4 {
    margin-bottom: 2rem;
}

.product-grid .before {
    display: grid;
    grid-template-columns: 31.5% 1fr;
    grid-column-gap: 4rem;
    margin-bottom: 3rem;
}

.product-grid .before p {
    font-size: 1.9rem;
}

.product-grid .item-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition-duration: 0.5s;
}

.product-grid .item-image {
    overflow: hidden;
    width: 100%;
    height: 100%;    
    background: var(--af-gradient-bgnd);
    aspect-ratio: 1/.75;
}

.product-grid .cde-grid-item.col-none {
    background-color: var(--af-tango);
    color: #fff;        
    transition-duration: 0.5s;
}

.product-grid .grid-list {
    grid-auto-rows: auto;
}

.product-grid .cde-grid-item a:hover img {
    transform: scale(1.1);
}

.product-grid .cde-grid-item.col-none:hover {
    background-color: var(--af-firebrick);
}

.product-grid .item-label {
    font-family: 'Texta Heavy';
    padding: 1.5vw 2vw 1rem 2vw;
    color: #fff;
    font-size: clamp(2.1rem, 3.6vw, 2.7rem);
    line-height: 1;

}

.product-grid .item-content {
    padding: 0 2vw 0.9vw 2vw;
    font-size: clamp(1.4rem, 2.3vw, 1.7rem);
}

.product-grid .col-none .item-content p {
    color: #fff;
}

.cde-slides.home-slider {
    background-color: var(--af-zircon);    
    min-height: clamp(40rem, 40vw, 60rem);
}

.home-slider .inner {    
    display: grid;    
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10rem;   
}

.home-slider .swiper-container {    
    height: 100%;
    background-image: url('city-background.svg');
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100%;
} 

.home-slider .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 12%;
    box-sizing: border-box;
}

.home-slider .slide-image {    
    width: 80%;    
    display: flex;
    flex-direction: column;
    justify-content: center; 
    margin: 0 auto;
    padding: 3rem 0;
}

.home-slider .slide-image_wrap {
    background-color: var(--af-wistful);
    position: relative;
    text-align: center;
}

.home-slider .slide-image_wrap:before,
.home-slider .slide-image_wrap:after {
    content: "";
    width: 20%;    
    background-color: var(--af-tango);
    display: block;
    position: absolute;
    left: -1.3rem;
    top: -1.3rem;
    z-index: -1;
    aspect-ratio: 1/1;
}

.home-slider .slide-image_wrap:after {
    left: unset;
    top: unset;
    bottom: -1.3rem;
    right: -1.3rem;
}

.home-slider a:hover {
    text-decoration: none;
}

.home-slider .slide-image img { 
    position: relative;
    z-index: 2;    
    max-height: 50rem;
    object-fit: contain;
    object-position: center;
}

.home-slider .slide-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-slider .slide-text p {
    line-height: 1.4;
}

.baseline .swiper-button-next,
.baseline .swiper-button-prev {
    display: block;
    width: 1rem;
    height: 1rem;
    background-size: 1.5rem;    
    padding: 2rem;
    border-radius: 50%;
    background-color: rgba(0,0,0,0.5);
    z-index: 3;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.baseline .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.baseline .swiper-button-next:hover,
.baseline .swiper-button-prev:hover {
    background-color: rgba(0,0,0,1);
}

.documents-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 4rem;
}

.documents-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.document-item {
    border: 0.3rem solid var(--af-zircon);
    width: 25rem;
    background-color: var(--af-zircon);
    margin-right: 3rem;
    margin-bottom: 3rem;
}

@media ( max-width: 600px ) {

    .document-item {
        width: 15rem;
        margin-right: 1rem;
    }

}

.document-item a {
    transition-duration: 0.5s;
}

.document-item a:hover {
    color: unset;  
    opacity: 0.7; 
}

h3.document-title {
    font-size: 2rem;
    line-height: 1.3;
    padding: 1rem 1rem 0 1rem;
}

@media ( max-width: 600px ) {

    h3.document-title {
        font-size: 1.6rem;
    }    

}

.document-meta {
    font-size: 1.5rem;
    border-top: 0.1rem solid #fff;
    padding: 1.4rem 1rem 1rem 1rem;
}

@media ( max-width: 600px ) {
    
    .document-meta {
        font-size: 1.2rem;
    }

}

.document-group h2.group-title {
    margin-top: 5rem;
    background: var(--af-tango);
    padding: 1rem 2rem;
    color: #fff;
    margin-bottom: 3rem;
}

.document-excerpt {
    font-size: 1.5rem;
    line-height: 1.2;
    padding: 0 1rem 1rem 1rem;    
}

h2.assoc-docs-title {
    margin-bottom: 4rem;
}

.baseline .flex-elm .col-none h2 {
    color: var(--af-firebrick);
}

.product-header.cde-text-left-image-right  {
    padding-left: 3%;
    padding-right: 3%;
}


.product-header .inner {
    margin-left: 5vw;
}

@media ( min-width: 1450px ) {

    .product-header.cde-text-left-image-right  {
        padding-left: calc( (100vw - 1400px) / 2  ); 
        padding-right: calc( (100vw - 1400px) / 2  ); 
    }

}

.baseline .product-header.col-wistful .col-none h1 {
    color: #fff;
}

.baseline .cde-tabs .tabs {
    background-color: var(--af-zircon);
}

.baseline .cde-tabs .label {
    color: #000;
    background-color: var(--af-wistful);
    border-right: 0.5rem solid #fff;
    font-family: 'Texta Bold';
}

.baseline .cde-tabs .label:hover {
    color: #fff;
    background-color: var(--af-tango);
}

.page-links .cde-grid-item {
    background: linear-gradient(109.09deg, #132240 0%, #4266B0 100%);
    transition-duration: 0.6s;
    height: 100%;
    min-height: 30rem;
}

.page-links .cde-grid-item-inner,
.page-links .latest-post {    
    height: 100%;
}

.page-links .cde-grid-item:hover {
    opacity: 0.8;
}

.page-links .cde-grid-item .item-label {
    font-size: clamp(2.6rem, 2.3vw, 3.7rem);
    color: #fff; 
    margin-bottom: 3rem;
    margin-left: 3rem;
    font-family: 'Texta Heavy';
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.page-links .cde-grid-item .item-label:after {
    content: "\f061";
    font-family: "Font Awesome 6 Pro";
    color: var(--af-tango);
    margin-left: 1rem;
    font-size: 1.6em;
    font-weight: 400;
}

.page-links .cde-grid-item a {
    display: block;    
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    
}

.page-links .cde-grid-item a,
.page-links .cde-grid-item a:hover {
    border-bottom: none;
}

.page-links .item-image {
    position: absolute;
    top: -5%;
    right: -5%;
}

.page-links .latest-post .text-panel {
    background-color: var(--af-wistful);
    padding: 3rem;    
}

.latest-post .text-panel .post-date {
    color: #fff;
    font-weight: 400;
    font-size: 1.9rem;
}

.latest-post {
    transition-duration: 0.6s;
}

.inner .latest-post a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;      
    height: 100%;    
}

.inner .latest-post a,
.inner .latest-post a:hover {
    border-bottom: none;    
}

.latest-post:hover {
    opacity: 0.8;
}

.baseline .latest-post .text-panel h4 {
    color: #fff;
    margin-bottom: 0;
    margin-top: 0.5rem;
    font-size: 2.7rem;
}

.latest-post .image-panel {
    height: 100%;
    display: grid;
    grid-template-columns: 20% 80%;
}

.latest-post .image-panel img {
    width: 100%;    
    aspect-ratio: 2/1;    
    height: auto;
    display: block;
    object-fit: cover;    
    height: 100%;
}

.latest-post .image-panel_right {
    background-color: var(--af-zircon);
    background-image: url('abesco-trans-logo.png');
    background-position: center;
    background-size: 50%;
    background-repeat: no-repeat;    
}

.latest-post .image-panel_left {
    background-color: var(--af-firebrick);
    border-left: 3.8rem solid var(--af-tango);
}

.baseline article h1 {
    font-size: clamp(2.9rem, 2.8vw, 3.8rem);
}

.baseline article h1 a {
    color: var(--af-firebrick);
}

.text-page .inner {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
}

.footer-contact-button {
    margin-top: 3rem;
}

.baseline footer .button:hover {
    background-color: #000;
}

.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] {
    font-size: 1.6rem;
}

.baseline .swiper-slide a:hover {
    color: inherit;
}

.baseline.tab-images .tabs img {
    max-width: 30rem;
    height: auto;
}

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

.single .twelve.columns.none,
.single .after-content-full .container {
    max-width: 90rem;
    margin: 0 auto; 
    float: none;
}

.baseline .mobile-nav .custom-logo {
    max-width: unset !important;
    width: auto !important;
    height: 6rem !important;
}

.baseline #burger-button {
    margin-right: 1rem;
}


.baseline .cde-text-left-image-right.product-header .right.img {
    margin-bottom: 0;
}

.baseline .cde-text-left-image-right.product-header .inner{
    padding-top: 0.5rem;
    padding-bottom: 2rem;
}

@media ( max-width: 720px ) {

    .home-slider .swiper-slide {
        justify-content: flex-start;
    }

    .baseline .home-slider .inner {
        grid-template-columns: 1fr;
        padding: 2rem 0 3rem 0;
        height: 100%;
    }

    .home-slider .slide-text {
        justify-content: flex-start;
    }

    .home-slider .slide-image {
        padding-top: 0;
        height: 30rem;
    }

    .home-slider .slide-image img {
        max-height: 30rem;
        height: 20rem;
    }

}

@media ( max-width: 720px ) {

    #footer-three-cols-container .row {
        display: block;
    }

    .footer-iso img {
        width: 10rem;
    }

    .footer-iso {
        padding-right: 3%;
        text-align: right;
    }

    footer .four.columns {
        width: 100%;
    }

    #footer-three-cols-container .row .columns {
        border-left: none;
        border-top: 0.1rem solid var(--af-tango);
        margin-top: 1rem;
        padding-top: 3rem;
    }

    #footer-three-cols-container {
        padding: 0;
    }

    #footer-three-cols-container .row .columns:nth-child(1) {
        border-top: none;
    }

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

    .baseline .cde-tabs {
        border: 0.1rem solid var(--af-zircon);
    }

    .baseline .cde-tabs .tabs {
        margin-top: 0;
        background: transparent;
    }

    .baseline .cde-tabs .label {
        border-bottom: 0.1rem solid var(--af-tango);
    }


}