/*
Theme Name: SHC
Author: Seven Hills Creative
Author URI: https://www.sevenhillscreative.co.uk/
Description: Another custom theme for a happy customer!
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2025.1
Requires at least: 5.2
Requires PHP: 7.0
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* BASE */

:root {
  --color-darkteal: #053C49;
  --color-teal: #0B78A8;
  --color-apricot: #E69734;
  --color-parchment: #F4F2ED;
  --color-white: #ffffff;
  --color-hamburgermenu: #D9D9D9;
  --color-black: #053C49;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    color: var(--color-white);
    box-sizing: border-box;
    font-family: 'outfit', sans-serif;
    /* outline: 1px solid red !important; */
}

html{
    overflow-x: hidden !important;
  }
  
body {
    font-family: 'outfit', sans-serif;
    overflow-x: hidden !important;
    display: grid;
}

@media only screen and (max-width: 1100px) {}
@media only screen and (max-width: 960px) {}
@media only screen and (max-width: 760px) {}
@media only screen and (max-width: 660px) {}
@media only screen and (max-width: 560px) {}
@media only screen and (max-width: 460px) {}
@media only screen and (max-width: 360px) {}
@media only screen and (max-width: 320px) {
    body, header, main, section, footer {
        width: 320px;
    }
}


/* LAYOUT */

section, article, main, nav, header, #primary, footer {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    grid-column: 1 / 17;
    justify-self: center;
    max-width: 2000px;
    width: 100%;
}


/* BUTTON LINKS */

.all-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25em !important;
    font-weight: 700;
    cursor: Pointer;
    border-radius: 24.5px;
    padding: 0.5em 1em;
}

.clear-button {
    background-color: transparent;
    border: 2px solid var(--color-parchment);
    color: var(--color-white);
}

.clear-button i {
    color: var(--color-apricot);
    margin-left: 5px;
    --fa-primary-color: var(--color-white);
    --fa-secondary-color: var(--color-apricot);
}

.clear-button i:after {
    opacity: 1;
}

.clear-button:hover {
    background-color: var(--color-apricot);
    border: 2px solid var(--color-apricot);
    color: var(--color-white);
}

.clear-button:hover i {
    color: var(--color-white);
}

.teal-button {
    background-color: var(--color-darkteal);
    border: 2px solid var(--color-darkteal);
    color: var(--color-white);
}

.clear-teal-button {
    background-color: transparent;
    border: 2px solid var(--color-teal);
    color: var(--color-teal);
}

.clear-teal-button i {
    color: var(--color-apricot);
}


/* TEXT */
h1, h2, h3, h4, h5, h6 {
    font-family: 'outfit', sans-serif;
    font-weight: 700;
}

h1{
    font-size: 3.125em;
}

h2{
    font-size: 2.813em
}

h3{
    font-size: 1.563em;
}

h4{
    font-size: 1.688em;
}

p, li{
    font-size: 1.125em;
    font-weight: 300;
    color: var(--color-white);
    line-height: 30px;
}

strong {
  font-weight: 700;
}

label {
    font-size: 1.125em; 
    font-weight: 600;
    color: var(--color-apricot);
    text-transform: uppercase;
    letter-spacing: 14%;
}

img {
    width: 100%;
}

ul.main-nav{
  padding: 0;
}

em {
  font-style: italic;
}

.underline {
  text-decoration: underline;
}

a {
  cursor: Pointer !important;
  text-decoration: none;
}



@media only screen and (max-width: 800px) {

    h1,  h1 span{
        font-size: 2.5em;
    }
    
    h2{
        font-size: 2.188em;

    }
    
    h3{
        font-size: 1.563em;
    
    }
    
    h4{
        font-size: 1.25em;
    }
        
    p , li{
        font-size: 1.125em;
    }   
    
    label {
        font-size: 1em !important;
    }

    .all-button {
        font-size: 18px !important
    }

}

/* WP CONTENT */
.wp-content-section {
    grid-column: 4 / 14;
    grid-template-columns: 1fr;
    display: grid;
    gap: 2em;
    margin: 5em 0;
    text-align: center;
    justify-items: center;
}

.wp-content-section ul li {
    font-size: 20px;
    font-weight: 300;
}


@media only screen and (max-width: 1350px) {

    .wp-content-section {
        grid-column: 2 / 16;
    }

}

/* 404 PAGE */

section.error{
    min-height: 60vh;
    align-content: center;
    grid-column: 2 / 16;
}

section.error h1 {
    color: var(--color-darkteal);
    text-align: center;
    grid-column: 2 / 16;
}

section.error p {
    text-align: center;
    grid-column: 2 / 16;
    color: var(--color-black);;
}







@media  only screen and  (max-width: 1350px){

    .sub-banner-inner {
        grid-column: 2/16;
    }

    .main-banner{
        min-height: 65vh;
    }

    .outer-company-logos {
       display: none;
    }

    .main-banner-title {
        flex-direction: column;
        text-align: center;
        display: grid;
    }

    .outer-main-banner {
        /* padding: 0; */
        gap: 1em;
        grid-template-columns: 1fr;
    }

    .outer-main-banner label{
        text-align: center;
    }

    .main-banner img {
        max-width: 35px;
    }

    .sub-page-banner {
        padding: 2em 0;
    }

    .sub-page-banner h1 {
        font-size: 40px;
    }

    .main-banner-title p label {
        font-size: 17px;
        font-weight: 600;
    }

    .header-contents {
        gap: 1em;
        text-align: center;
        justify-self: center;
    }

    .single-blog-header {
        padding: 2em 0 8em 0
    }

    .home-page-links {
        justify-content: center;
    }

    .sub-page-banner-image {
        min-height: 40vh;
    } 
        

}










/* 404 PAGE */

section.error{
    min-height: 60vh;
    align-content: center;
    grid-column: 2 / 16;
}

section.error h1 {
    color: #0B1A35;
    text-align: center;
    grid-column: 2 / 16;
}

section.error p {
    text-align: center;
    grid-column: 2 / 16;
}





/* WP CONTENT */
.wp-content-section {
    grid-column: 4 / 14;
    grid-template-columns: 1fr;
    display: grid;
    gap: 2em;
    margin: 5em 0;
    text-align: center;
    justify-items: center;
}

.wp-content-section ul li {
    font-size: 20px;
    font-weight: 300;
}


@media only screen and (max-width: 1350px) {

    .wp-content-section {
        grid-column: 2 / 16;
    }

}








/* MENU BAR */

.grid-header-section {
    background-color: var(--color-darkteal);
    position: relative;
}

.header-bar {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column: 3 / 15;
    align-self: center;
    margin: 1em 0;
    z-index: 20;
    align-items: center;
}

.header-logo-img {
    max-width: 155px;
}

.responsive-menu {
    display: flex;
    gap: 2em;
    align-items: center;
}

.menu-icon {
    width: 37px;
    height: 5px;
    background-color: var(--color-hamburgermenu);
    margin: 3.5px 0;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s, visibility .35s, height .35s;
    overflow: hidden;
    background: var(--color-parchment);
}

#hamburger-input {
    display: none;
}

#hamburger-menu {
    display: flex;
    align-items: start;
    flex-direction: column;
}

#hamburger-menu #sidebar-menu {
    grid-template-columns: 1fr;
    visibility: hidden;
    position: absolute;
    top: 100%;
    right: -100%;
    width: 50%;
    background-color: var(--color-parchment);
    transition: right 0.3s ease, visibility 0.3s ease;
    box-sizing: border-box;
    z-index: 999;
    padding: 3em 2em;
    border-radius: 0 0 0 71px;
}

/* Scroll Side Menu */
#sidebar-menu {
    overflow-y: auto;
    background-color: var(--color-parchment);
}

/* Open state */
#hamburger-input:checked + #hamburger-menu #sidebar-menu {
    visibility: visible;
    right: 0;
}

.inner-mobile-header-logo img {
    max-width: 155px;
}

#hamburger-menu ul li ul,
#hamburger-menu ul li ul li ul {
    height: auto;
} 

#hamburger-menu li {
    list-style-type: none;
    border-bottom: 2px solid var(--color-teal);
    justify-items: start;
    padding: 1.2em 0;
    max-width: 448px;
}

.mobile-account-icon i {
    color: var(--color-apricot);
}

#hamburger-menu a:active{
    -ms-transform: translateX(30px);
    -webkit-transform: translateX(30px);
    transform: translateX(3px);
}

#hamburger-input:checked + #hamburger-menu #sidebar-menu {
    visibility: visible;
    right: 0;
}

.side-nav li a span {
    font-size: 25px;
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
}

.social-side-menu {
    display: flex;
    gap: 1em;
    padding: 1.5em 0;
}

.social-side-menu i {
    color: var(--color-white);
    background-color: var(--color-apricot);
    border-radius: 50%;
    width: 37px;
    height: 37px;
    font-size: 1em;
    align-content: center;
    text-align: center;
}

.main-contact-details {
    display: grid;
    gap: 1.5em;
}

.main-contact-details a {
    color: var(--color-black);
    text-transform: none;
}


.main-contact-details a i {
    color: var(--color-apricot);
}


@media only screen and (max-width: 1000px) {
    #hamburger-menu #sidebar-menu {
        width: 100%;
    }

    .main-contact-details {
        text-align: center;
    }

    .main-contact-details a {
        word-break: break-all;
    }

    #hamburger-menu li {
        text-align: center;
    }

    .social-side-menu {
        justify-content: center;
    }

    .side-menu-inner {
        justify-items: center;
    }

    .header-bar {
        grid-column: 2/16;
    }

}


@media only screen and (max-width: 600px) {

    .desktop-menu-chat {
        display: none;
    }
}






/* FOOTER */

.footer {
    background-color: var(--color-darkteal);
    padding: 3em 0;
}

.footer-logo {
    grid-column: 3 / 15;
}
.footer-logo a img {
    max-width: 155px;
}

.footer-areas {
    display: grid;
    grid-template-columns: 30% auto auto;
    grid-column: 3 / 15;
    padding: 2em 0 0 0;
    gap: 5em;
}

.footer-box {
    display: grid;
    align-content: start;
    gap: 1em;
}


/* FOOTER COLUMN ONE */

.footer-col-one .contact-details-list i {
    color: var(--color-apricot);
    font-size: 20px;
    max-width: 22px;
    width: 100%;
}

.footer-col-one .contact-details-list a,
.footer-col-one .contact-details-list {
    font-weight: 700;
    display: flex;
    gap: 0.5em;
    width: 100%;
    line-height: 1.5;
}

/* FOOTER COLUMN TWO */

.footer-col-two {
    display: grid;
    gap: 1em;
    align-content: start;
    color: var(--color-white);
}

.footer-box h3 {
    color: var(--color-teal);
    text-transform: capitalize;
    font-size: 16px;
}

.footer-box li a span {
    font-size: 16px;
    color: var(--color-white);
    text-decoration: underline;
    text-decoration-thickness: 1px; 
    text-underline-offset: 4px; 
}

.footer-logo{
    max-width: 319px;
}


/* FOOTER COLUMN THREE - SIGN UP FORM */

.sign-up-form form p{
    background-color: var(--color-white);
    display: grid;
    grid-template-columns: 1fr 35px;
    gap: 8px;
    padding: 8px;
    border-radius: 30px;
    align-items: center;
    max-width: 300px;
}

.sign-up-form h4 {
    color: var(--color-white);
    font-weight: 300;
    font-size: 16px;
    margin-bottom: 1em;
}

.sign-up-form h4 span {
    color: var(--color-teal);
    font-weight: 700;
}

.sign-up-form form br,
.sign-up-form form span.wpcf7-spinner{
    display: none;
}

.sign-up-form form p > span{
    align-self: center;
}

.sign-up-form form p > span input{
    padding: 0 1em;
    border: 0;
    width: 100%;
    border-radius: 30px;
    outline: none;
    box-sizing: border-box;
    background: none;
}

.sign-up-form .wpcf7 input[type="submit"]{
    width: 34px;
    height: 34px;
    border: 1px solid var(--color-apricot);
    border-radius: 999px;
    background-color: var(--color-apricot);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M9.29 6.71a1 1 0 0 1 1.42 0L15 11l-4.29 4.29a1 1 0 1 1-1.42-1.42L12.17 11 9.29 8.12a1 1 0 0 1 0-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 40% 40%;
    background-size: 50px 50px;
    cursor: pointer;
    padding: 0;
    margin: 0;
    color: transparent;
    text-indent: -9999px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--color-apricot);
}

.footer-inner-contact-details a {
    display: flex;
}

.social-contact-details {
    display: flex;
    gap: 1em;
}

.social-contact-details i {
    background-color: var(--color-apricot);
    color: var(--color-white);
    border-radius: 50%;
    font-size: 20px;
    min-width: 35px;
    min-height: 35px;
    align-content: center;
    text-align: center;
}

.socials-mobile {
    display: none;
}


@media only screen and (max-width: 1000px) {

    .footer-areas {
        grid-template-columns: 1fr;
        gap: 2em;
        text-align: center;
        justify-items: center;
    }

    .footer-logo {
        grid-column: 2 / 16;
        justify-self: center;
    }

    .social-contact-details {
        justify-content: center;
    }

    .footer-col-one .contact-details-list a, 
    .footer-col-one .contact-details-list {
        justify-content: center;
        word-break: break-word;
    }

    /* .social-contact-details {
        display: none;
    } */

    .socials-mobile {
        display: flex;
    }

    .footer-box {
        line-height: 1.5;
    }

    .footer-nav {
        grid-template-columns: 1fr;
    }

    .footer-box p {
        font-size: 18px;
        text-align: left;
    }

    .inner-contact-details {
        justify-items: left;
    }
}



/* Page Social Short Links */
main {
    position: relative;
}

.social-short-links {
    position: fixed;
    right: 2em;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
    display: grid;
    gap: 1em;
}
.social-short-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: end;
    text-decoration: none;
}

.social-short-link i {
    color: var(--color-white);
    background-color: var(--color-apricot);
    border-radius: 50%;
    width: 37px;
    height: 37px;
    font-size: 1.2em;
    align-content: center;
    text-align: center;
    order: 2;
    position: relative;
    z-index: 2;
    transition: border-radius 0.4s ease;
}

.flyout-detail {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%) translateX(20px);
    opacity: 0;
    display: flex;
    align-items: center;
    white-space: nowrap;
    background-color: var(--color-apricot);
    color: var(--color-white);
    height: 37px;
    padding: 0 18px 0 14px;
    border-radius: 18.5px 0 0 18.5px;
    font-weight: 700;
    font-size: 25px;
    pointer-events: none;
    z-index: 1;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.social-short-link:hover .flyout-detail {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.social-short-link:has(.flyout-detail):hover i {
    border-radius: 0 18.5px 18.5px 0;
}



@media only screen and (max-width: 1000px) {
    .social-short-links {
        display: none;
    }
}



/* HEADERS */

/* Home page header */
.home-page-header {
    position: relative;
    background-color: var(--color-teal);
    min-height: 80vh;
}

.home-page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-url);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 1;
    opacity: 0.1;
}

.page-down-icon {
    position: absolute;
    left: 0;
    bottom: -1.5em;
    z-index: 1;
}

.page-down-icon i {
    --fa-primary-color: var(--color-white);
    --fa-secondary-color: var(--color-apricot);
    font-size: 3em;
}

.page-down-icon i:after {
    opacity: 1;
}

.inner-home-page-header {
    display: grid;
    grid-column: 3 / 15;
    max-width: 784px;
    gap: 2em;
    align-content: center;
    position: relative;
    z-index: 2;
}

.inner-home-page-header h1 span {
    font-weight: 300;
}

.header-links {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
}

.header-links a:nth-child(1) i {
    --fa-primary-color: var(--color-white);
    --fa-secondary-color: var(--color-apricot);
}

.header-links a i::before,
.header-links a i::after {
    opacity: 1 !important;
}

.header-links a:nth-child(2) {
    background-color: var(--color-darkteal);
    border: 2px solid var(--color-darkteal);
}

.header-links a:nth-child(2) i {
    --fa-primary-color: var(--color-white);
    --fa-secondary-color: var(--color-darkteal);
}



@media only screen and (max-width: 1000px) {

    .home-page-header::before {
        background-size: contain;
        background-position: bottom;;
    }

    .inner-home-page-header {
        grid-column: 2/16;
        padding: 3em 0 5em 0;
        text-align: center;
    }

    .header-links {
        justify-content: center;
    }

    .inner-home-page-header h1 span {
        font-size: 40px;
    }

    .page-down-icon {
        left: 50%;
        transform: translate(-50%);
    }

}


/* Sub Page Header */

.sub-header {
    background-color: var(--color-parchment);
}

.inner-sub-header {
    display: grid;
    grid-column: 3/15;
    gap: 1em;
    position: relative;
    padding: 5em 0;
    max-width: 843px;
}

.inner-sub-header,
.inner-sub-header * {
    color: var(--color-black);
}

.inner-sub-header span {
    color: var(--color-apricot);
    font-weight: 700;
}
 
.sub-page-down-icon {
    position: absolute;
    left: 0;
    bottom: -1.5em;
    z-index: 1;
}

.sub-page-down-icon i {
    --fa-primary-color: var(--color-white);
    --fa-secondary-color: var(--color-apricot);
    font-size: 3em;
}

.sub-page-down-icon i:after {
    opacity: 1;
}

@media only screen and (max-width: 1000px) {

    .inner-sub-header {
        grid-column: 2/16;
        padding: 3em 0;
        text-align: center;
    }

    .sub-page-down-icon {
        left: 50%;
        transform: translate(-50%);
    }

}



/* Blog page header */

.blog-header {
    background-color: var(--color-parchment);
}

.inner-blog-header {
    display: grid;
    grid-column: 3/15;
    gap: 1em;
    position: relative;
    padding: 5em 0;
}

.inner-blog-header h1,
.inner-blog-header p {
    color: var(--color-black);
}

.blog-page-down-icon {
    position: absolute;
    left: 0;
    bottom: -1.5em;
    z-index: 1;
}

.blog-page-down-icon i {
    --fa-primary-color: var(--color-white);
    --fa-secondary-color: var(--color-apricot);
    font-size: 3em;
}

.blog-page-down-icon i:after {
    opacity: 1;
}


@media only screen and (max-width: 1000px) {

    .inner-blog-header {
        grid-column: 2/16;
        padding: 3em 0;
        text-align: center;
    }

    .blog-page-down-icon {
        left: 50%;
        transform: translate(-50%);
    }

}







/* Archive case studies header */

.archive-case-studies-header {
    background-color: var(--color-white);
    padding: 5em 0;
}

.inner-archive-case-studies-header {
    display: grid;
    grid-column: 3/15;
    gap: 1em;
    max-width: 670px;
}

.inner-archive-case-studies-header h1,
.inner-archive-case-studies-header p {
    color:  var(--color-black);
}

@media only screen and (max-width: 1000px) {

    .inner-archive-case-studies-header {
        grid-column: 2/16;
        text-align: center;
    }

    .archive-case-studies-header {
        padding: 3em 0;
    }

}


/* Single case studies header */

.single-case-studies {
    background-size:cover;
    background-position:center;
    min-height: 80vh;
}

.inner-single-case-studies {
    display: grid;
    grid-column: 3 / 15;
    grid-template-columns: repeat(2, 1fr);
    gap: 5em;
    padding: 5em 0 0 0;
}

.case-study-content-header {
    display: grid;
    gap: 1em;
    align-content: center;
}

.case-study-featured-image {
    display: grid;
    align-self: end;
    height: 600px;
}

.case-study-featured-image.bordered img {
    object-fit: cover;
    height: auto;
    border: none;
    border-top: 5px solid var(--color-white);
    border-left: 5px solid var(--color-white);
    border-right: 5px solid var(--color-white);
    border-radius: 20px 20px 0 0;
    height: 100%;
}

.case-study-featured-image.floating {
    align-self: center;
}

.case-study-featured-image.floating img {
    object-fit: contain;
    height: auto;
}


@media only screen and (max-width: 1000px) {

    .inner-single-case-studies {
        grid-column: 2 / 16;
        grid-template-columns: 1fr;
        gap: 2em;
        padding: 2em 0 0 0;
    }

    .case-study-content-header {
        text-align: center;
    }

    .case-study-content-header h1 {
        font-size: 35px;
    }

    .case-study-featured-image img {
        max-width: 253px;
        justify-self: center;
    }

}










/* Case Studies Deliverables */

.case-studies-deliverables {
    background-color: var(--color-parchment);
    padding: 5em 0;
}

.inner-case-studies-deliverables {
    grid-column: 3/15;
    display: flex;
    gap: 6em;
    flex-wrap: wrap;
}

.deliverable-item {
    display: grid;
    gap: 1em;
}

.deliverable-item h2 {
    font-size: 30px;
    color: var(--color-black);
}

.deliverable-item ul {
    display: flex;
    gap: 1em;
}

.deliverable-item ul li {
    padding: 0.3em 1em;
    border-radius: 24.5px;
    font-weight: 700;
}

.deliverable-item:nth-child(3n + 1) ul li {
    background-color: var(--color-teal);
}

.deliverable-item:nth-child(3n + 2) ul li {
    background-color: var(--color-apricot);
}

.deliverable-item:nth-child(3n + 3) ul li {
    background-color: var(--color-white);
    color: var(--color-black);
}

@media only screen and (max-width: 800px) {

    .inner-case-studies-deliverables {
        grid-column: 2/16;
        gap: 3em;
        justify-content: center;
        text-align: center;
    }

    .deliverable-item {
        justify-items: center;
        align-self: start;
    }

    .deliverable-item ul {
        flex-direction: column;
    }
}




/* TWO CLUMN CONTENT */

.two-column-content {
    padding: 8em 0;
}

.defualt-content-container {
  display: grid;
  align-items: start;
  grid-column: 3 / 15;
  gap: 2em;
  grid-template-columns: repeat(2, 1fr);
}

.defualt-content-container p,
.defualt-content-container h2,
.defualt-content-container h3,
.defualt-content-container h4,
.defualt-content-container h5,
.defualt-content-container p strong {
    color: var(--color-black);
}

.content-title h2 {
  color: var(--color-darkteal);
  font-size: 2.8125em;
  margin: 0;
}

.content-title h2 span {
    color: var(--color-teal);
}

.content-text {
    display: grid;
    gap: 1em;
}

.content-text p span {
  color: var(--color-apricot);
  font-weight: bold;
}

.content-text p {
  line-height: 1.7;
}


@media only screen and (max-width: 800px) {

    .content-title h2 {
        font-size: 35px;
    }

    .two-column-content {
        padding: 4em 0;
    }

    .defualt-content-container {
        grid-column: 2 / 16;
        grid-template-columns: 1fr;
    }
    
    .content-title,
    .content-text {
        justify-content: center;
        text-align: center;
    }

}





/* 3 Uneven Rows for Content */

.shc-uneven-rows {
    position: relative;
    background-color: var(--color-darkteal);
    padding: 5em 0;
    z-index: 1;
    overflow: hidden;
}

.shc-uneven-rows::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-image);
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.2;
    z-index: -1;
}

.shc-uneven-row-title {
    display: grid;
    grid-column: 3/15;
}

.card-container {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-column: 3/15;
    gap: 1em;
    padding: 3em 0;
}

.card-container .shc-uneven-row-card:nth-child(2) {
    margin-top: 100px;
}

.card-container .shc-uneven-row-card:nth-child(3) {
    margin-top: 200px;
}

.shc-uneven-row-card {
    background-color: #0F4350;
    border-radius: 12px;
    width: 100%;
    transition: background-color 0.4s ease;
    display: grid;
    gap: 2em;
    text-align: start;
    color: var(--color-white);
    padding: 2em;
    min-height: 457px;
    align-content: start;
    align-self: start;
}

.cirlce-icon {
    background-color: var(--color-teal);
    display: grid;
    opacity: 0.2;
    width: 91px;
    border-radius: 50%;
    aspect-ratio: 1/1;
}

.cirlce-icon span{
    justify-self: center;
    align-self:  center;
    font-size: 2em;
    font-weight: 800;
    color: var(--color-white);
}

.shc-uneven-row-card:hover {
    background-color: var(--color-teal);
}

.shc-uneven-row-card:hover .cirlce-icon{
    background-color: var(--color-darkteal);
}

.shc-uneven-row-card h3 span {
    color: var(--color-apricot);
    font-weight: bold;
    font-size: 18px;
}


@media only screen and (max-width: 1100px) {

    .card-container {
        grid-template-columns: 1fr;
        grid-column: 2/16;
        gap: 2em;
    }

    .shc-uneven-row-card {
        text-align: center;
    }

    .cirlce-icon {
        justify-self: center;
    }

    .card-container .shc-uneven-row-card:nth-child(2),
    .card-container .shc-uneven-row-card:nth-child(3) {
        margin-top: 0;
        padding: 1em;
    }

     .shc-uneven-rows::before {
        background-position: bottom center;
    }

    .shc-uneven-row-title {
        text-align: center;
    }

    .shc-uneven-row-card h3 {
        font-size: 18px;
    }

}




/* SERVICES */

.multi-content-container-section {
    background-color: var(--color-teal);
}

.inner-content-container {
    display: grid;
    grid-column: 3/15;
    gap: 2em;
    position: relative;
    padding: 5em 0;
}

.multi-content-section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.multi-content-section-title h2 {
    color: var(--color-white);
}

.multi-content-card-container {
    display: grid;
    gap: 2em;
}

.multi-content-card {
    background-color: rgba(244, 242, 237, 0.2);
    grid-template-columns: 20% 1fr;
    border-radius: 12px;
    padding: 2em;
    display: grid;
    transition: background-color 0.4s ease;
    gap: 2em;
}

.multi-content-card-text {
    display: grid;
    gap: 1em;
}

.multi-content-card-text a {
    justify-self: start;
}

.multi-content-card-image {
    display: grid;
    justify-content: center;
    align-items: center;
}

.multi-content-card-image img {
    max-width: 124px;
    justify-self: center;
}

.services-icons {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2em;
}

.services-icons img {
    max-width: 270px;
    object-fit: contain;
}

@media only screen and (max-width: 900px) {

    .inner-content-container {
        grid-column: 2/16;
    }

    .multi-content-card {
        grid-template-columns: 1fr;
        padding: 1em;
    }

    .multi-content-card-text {
        text-align: center;
    }

    .multi-content-card-text a {
        justify-self: center;
    }

    .multi-content-section-title {
        flex-direction: column;
        gap: 1em;
        text-align: center;
    }

    .services-icons img {
        max-width: 200px;
    }

    .services-icons {
        justify-content: center;
    }
}





/* REPEATED ELEMENTS */

.contact-cta-section {
    position: relative;
    background-color: var(--color-teal);
    overflow: hidden;
    padding: 8em 0;
}

.contact-cta-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.1;
    z-index: 0;
}

.contact-cta-section > * {
    position: relative;
    z-index: 1;
}

.contact-cta-inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-column: 3/15;
    align-items: center;
    max-width: 594px;
}

.contact-cta-content {
    display: grid;
    gap: 2em;
}

.contact-cta-content a {
    justify-self: start;
}

@media only screen and (max-width: 1100px) {
    .contact-cta-content {
        display: grid;
        gap: 1em;
        padding: 4em 0;
        text-align: center;
    }

    .contact-cta-content a {
        justify-self: center;
    }

    .contact-cta-inner {
        grid-column: 2/16;
    }

    .contact-cta-section::before {
        background-position: bottom;
        background-size: contain;
    }

    .contact-cta-section {
        padding: 0;
    }
}






/* HOME CASE STUDIES */

.case-studies-header-content {
    display: grid;
    grid-column: 3 / 15;
    padding: 5em 0;
    gap: 1em;
    max-width: 811px;
}

.case-studies-header-content h2, 
.case-studies-header-content p {
    color: var(--color-black);
}

.case-studies-header-content p span {
    color: var(--color-apricot);
    font-weight: 500;
}

.case-studies-header-content a {
    justify-self: start;
}

.case-studies-header-content a i {
    margin-left: 0.5em;
}

.inner-case-studies {
    display: grid;
    grid-column: 1 / 17;
}

.case-study-item {
    overflow: hidden;
}

.case-study-toggle {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    border: 0;
    padding: 3em 0;
    cursor: pointer;
    text-align: left;
    align-items: center;
}

.case-study-toggle-inner {
    grid-column: 3 / 15;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-right: 20px;
}

.inner-case-study-toggle {
    display: flex;
    gap: 4em;
    align-items: center;
}

.inner-case-study-toggle .deliverable-item ul li{
    background-color: transparent;
    color: var(--color-white);
    border: 2px solid var(--color-white);
    font-size: 20px;
}

.case-study-chevron {
    font-size: 4em;
}

.case-study-item.active .case-study-chevron {
    transform: rotate(-180deg);
}

.case-study-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: var(--color-white);
}

.case-study-content-inner {
    display: grid;
    grid-template-columns: 40% 1fr;
    grid-column: 3/15;
    gap: 2em;
}

.case-study-content-home {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
}

.inner-case-study-images {
    position: relative;
    display: flex;
    justify-self: center;
    max-width: 500px;
    aspect-ratio: 1 / 1;
}

.inner-case-study-images.bordered img{
    border: none;
    border-top: 5px solid var(--color-white);
    border-left: 5px solid var(--color-white);
    border-right: 5px solid var(--color-white);
    border-radius: 20px 20px 0 0;
    object-fit: cover;
}

.inner-case-study-images.floating img {
     object-fit: contain;
}

.case-study-dropdown-copy {
    display: grid;
    gap: 1em;
    align-self: start;
    padding: 0 0 2em 0;
}

.case-study-dropdown-copy a {
    justify-self: start;
}

.case-study-dropdown-copy a i {
    color:  var(--color-white);
}


@media only screen and (max-width: 1250px) {

    .inner-case-study-toggle .deliverable-item {
        display: none;
    }
}

@media only screen and (max-width: 900px) {

    .case-study-dropdown-copy {
        text-align: center;
        padding: 0;
    }

    .case-study-dropdown-copy a {
        justify-self: center;
    }

    .case-study-chevron {
        font-size: 3em;
    }

    .case-studies-header-content {
        text-align: center;
    }

    .case-studies-header-content a {
        justify-self: center
    }

    .case-study-content-inner {
        grid-template-columns: 1fr;
    }

}





/* PROJECT PROCESSES */

.project-processes {
    position: relative;
    background-color: var(--color-teal);
    padding: 8em 0;
    gap: 5em;
}

.project-processes::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--process-bg-image);
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.1;
    z-index: 0;
}

.title-project-processes {
    display: grid;
    grid-column: 3/15;
    z-index: 1;
}

.inner-project-processes {
    display: grid;
    grid-column: 3/15;
    grid-template-columns: 1fr 1fr;
    gap: 3em;
    z-index: 1;
}

.project-processes-box {
    display: flex;
    gap: 2em;
}

.number-icon p {
    background-color: var(--color-apricot);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    align-content: center;
    text-align: center;
    font-weight: 700;
    font-size: 30px;
}

.process-content {
    display: grid;
    gap: 1em;
}


.process-content h3 {
    line-height: 30px;
}


@media only screen and (max-width: 1200px) {

    
    .project-processes {
        gap: 0;
        padding: 5em 0;
        row-gap: 2em;
    }

    .title-project-processes {
        grid-column: 2/16;
        text-align: center;
    }

    .inner-project-processes {
        grid-column: 2/16;
        grid-template-columns: 1fr;
        gap: 2em;
        text-align: center;
    }

    .project-processes-box {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1em;
    }

    .project-processes::before {
        background-size: contain;
        background-position: bottom;
    }

    .process-content h3 {
        font-size: 20px;
    }

}







/* TESTIMONIAL SLIDER */

.testimonials {
    display: grid;
    padding: 5em 0;
    background-color: var(--color-parchment);
    overflow-x: hidden;
}

.slideshow-container {
    grid-column: 3 / 15;
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 2em;
    min-width: 0;
    width: 100%;
}

.inner-slider-buttons {
    display: flex;
    gap: 1em;
}

.slides-wrapper {
    display: flex;
    transition: transform 1s ease;
    width: 100%;
    min-width: 0;
}

.slidet {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
    height: 100%;
}

.slidet .text {
    color: var(--color-black);
    display: grid;
    gap: 1em;
    font-size: 25px;
    font-weight: 700;
    min-width: 0;
    width: 100%;
}

.slidet .text .stars {
    display: flex;
    gap: 0.5em;
}

.slidet .text .stars i {
    color: var(--color-apricot);
}

.slidet .text p,
.slidet .text div,
.slidet .text span,
.slidet .text label,
.slidet .text h4 {
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
}

.slidet .text p {
    color: var(--color-teal);
    font-size: 35px;
    font-weight: 700;
    line-height: 45px;
}

/* NAV ARROWS */
.nav {
    border: none;
    cursor: pointer;
    z-index: 10;
    background: transparent;
}

.nav i {
    font-size: 2em;
    color: var(--color-apricot);
}

.prev { left: 0; }
.next { right: 0; }

.nav:focus {
    outline: none;
}

@media (max-width: 600px) {

    .testimonials {
        padding: 3em 0;
    }

    .inner-slider-buttons {
        justify-content: center;
    }

    .testimonials h2,
    .slideshow-container {
        grid-column: 2 / 16 !important;
    }

    .slideshow-container {
        max-width: 100%;
        width: 100%;
        min-width: 0;
    }

    .slides-wrapper {
        min-width: 0;
    }

    .slidet {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding: 0;
        min-width: 0;
    }

    .slidet .text {
        gap: 2em;
        text-align: center;
        font-size: 18px;
        min-width: 0;
    }

    .slidet .text .stars {
        justify-content: center;
        flex-wrap: wrap;
    }

    .nav {
        width: 37px;
        height: 37px;
        font-size: 1em;
    }

    .slidet .text p,
    .slidet .text p label,
    .slidet .text h4 {
        font-size: 22px;
        line-height: 1.4;
        text-align: center;
    }

    .testimonials {
        gap: 0;
    }

    .slideshow-container {
        min-height: 100%;
    }
}








/* SINGLE BLOG POST */

section.single-post {
    background-color: var(--color-parchment);
}
  
.inner-single-post {
    grid-column: 3 / 15;
}

.inner-single-post h1 {
    text-align: center;
}

.single-blog-image img {
    width: 100%;
    object-fit: cover;
    max-height: 581px;
    border-radius: 0 0 42px 42px;
    height: 100%;
    object-position: top;
}

.single-content {
    display: grid;
    gap: 2em;
    padding: 0 0 2em 0;
}

.single-content ul, .single-content ol{
    list-style: outside;
}

.single-content ol{
    list-style: decimal;
}

.single-content h2,.single-content h3,.single-content h4,.single-content h5,
.single-content p, .single-content li, .single-content strong {
    color: var(--color-black); 
}

.single-content a{
    color: var(--color-apricot);
    font-weight: 600;
}

.single-content .post-author {
    font-size: 25px;
    font-weight: 700;
}

.blog-details {
    display: flex;
    justify-content: space-between;
    padding: 2em 0;
    align-items: center;
}

.post-date {
    color: var(--color-apricot);
    font-size: 18px;
    letter-spacing: 14%;
    font-weight: 600;
}

.post-category {
    cursor: Pointer;
}

.post-category a {
    align-items: center;
    justify-content: center;
    font-size: 1.25em !important;
    font-weight: 700;
    cursor: Pointer;
    border-radius: 24.5px;
    padding: 0.5em 1em;
    background-color: transparent;
    border: 2px solid var(--color-black);
    color: var(--color-black);;
}



@media only screen and (max-width: 900px) {

    .post-category {
        display: flex;
        flex-wrap: wrap;
        row-gap: 1em;
    }

    .inner-single-post {
        grid-column: 2 / 16;
        padding: 2em 0;
    }

    .single-blog-image img {
        border-radius: 42px;
        object-position: center;
    }

    .single-content {
        text-align: center;
    }

    .single-content h2 {
        font-size: 25px;
    } 
    
} 









/* Related blog slider - single blog page */

.related-blogs-slider {
    padding: 4em 0;
    background-color: var(--color-darkteal);
    position: relative;
}

.related-blogs-slider__inner {
    width: 100%;
    margin: 0 auto;
    grid-column: 3 / 17;
}

.related-blogs-slider__header {
    margin-bottom: 2em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-column: 3 / 15;
}

.related-blogs-slider__header a {
    align-items: center;
    justify-content: center;
    font-size: 1.25em !important;
    font-weight: 700;
    cursor: pointer;
    border-radius: 24.5px;
    padding: 0.5em 1em;
    background-color: transparent;
    border: 2px solid var(--color-white);
}

.related-blogs-slider__header a i {
    color: var(--color-apricot);
    margin-left: 0.5em;
}

.related-blogs-slider__frame {
    position: relative;
}

.related-blogs-slider__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 3rem;
    cursor: grab;
    user-select: none;
    touch-action: pan-x;
}

.related-blogs-slider__inner,
.related-blogs-slider__frame,
.related-blogs-slider__viewport {
    min-width: 0;
}

.related-blogs-slider__frame {
    overflow: hidden;
}

.related-blogs-slider__viewport {
    max-width: 100%;
    scroll-behavior: smooth;
}

.related-blogs-slider__viewport.is-dragging {
    scroll-behavior: auto;
    scroll-snap-type: none;
}

.related-blog-card,
.related-blog-card * {
    cursor: inherit;
}

.related-blogs-slider__viewport {
    cursor: grab;
}

.related-blogs-slider__viewport.is-dragging,
body.is-related-blog-dragging {
    cursor: grabbing !important;
}

.related-blog-card img {
    pointer-events: none;
}
.related-blogs-slider__viewport.is-dragging {
    cursor: grabbing;
}

.related-blogs-slider__viewport::-webkit-scrollbar {
    display: none;
}

.related-blogs-slider__viewport a,
.related-blogs-slider__viewport img {
    -webkit-user-drag: none;
    user-select: none;
}

.related-blogs-slider__track {
    display: flex;
    gap: 1rem;
}

.related-blog-card {
    flex: 0 0 747px;
    background: rgb(15, 67, 80, 0.9);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    scroll-snap-align: start;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
    border-radius: 20px;
}

.related-blog-card__image {
    min-height: 100%;
}

.related-blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.related-blog-card__content {
    padding: 3em 1.5em 2em 1.5em;
    display: grid;
    gap: 1em;
    position: relative;
    align-content: start;
}

.related-blog-card__meta {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
}

.dots {
    color: var(--color-teal);
    font-size: 3em;
    font-weight: 700;
    position: absolute;
    top: -25px;
    left: 15px;
    line-height: 1;
}

.related-blog-card__date {
    color: var(--color-apricot);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.related-blog-card__category {
    align-items: center;
    justify-content: center;
    font-size: 1.25em !important;
    font-weight: 700;
    cursor: pointer;
    border-radius: 24.5px;
    padding: 0.5em 1em;
    background-color: transparent;
    border: 2px solid var(--color-white);
    justify-self: start;
}

.mobile-see-all-blog-button {
    display: none;
}


/* Tablet */
@media (max-width: 991px) {

    .desktop-blog-all-button {
        display: none;
    }
    
    .single-more-blogs-desktop {
        display: none;
    }

    .mobile-see-all-blog-button {
        display: grid;
        grid-column: 2/16;
        justify-content: center;
        padding: 2em 0 0 0;
        margin: 0;
    }

    .related-blogs-slider__inner {
        grid-column: 2 / 16;
    }

    .dots {
        top: -23px;
        left: 50%;
        transform: translate(-50%);
    }

    .related-blogs-slider__header {
        grid-column: 2 / 16;
        text-align: center;
        justify-content: center;
    }

    .related-blogs-slider__viewport {
        padding: 0 1.5rem;
    }

    .related-blog-card {
        flex: 0 0 100%;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .related-blog-card__image {
        order: -1;
        height: 280px;
        min-height: 280px;
    }

    .related-blog-card__image img {
        height: 100%;
    }

    .related-blog-card__content {
        padding: 3em 1.25em 1.5em;
        text-align: center;
        justify-items: center;
    }

    .related-blog-card__category {
        justify-self: center;  
    }

}

/* Mobile */
@media (max-width: 767px) {

    .related-blogs-slider__header {
        gap: 1em;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .related-blogs-slider__header a {
        font-size: 1rem !important;
    }

    .related-blogs-slider__viewport {
        padding: 0 1rem;
    }

    .related-blog-card {
        border-radius: 16px;
    }

    .related-blog-card__image {
        height: 220px;
        min-height: 220px;
    }

    .related-blog-card__content {
        padding: 3em 1em 1.25em;
        gap: 0.85em;
    }

    .related-blog-card__date {
        font-size: 15px;
    }

    .related-blog-card__category {
        font-size: 1rem !important;
        padding: 0.45em 0.85em;        
    }


}

/* Small mobile */
@media (max-width: 480px) {

    .related-blogs-slider__viewport {
        padding: 0 0.75rem;
    }

    .related-blog-card__image {
        height: 200px;
        min-height: 200px;
    }

    .related-blog-card__content {
        padding: 2em 0.9em 1.1em;
    }

    .related-blogs-slider__header {
        justify-content: center;
    }
}
















/* BLOG ARCHIVE PAGE */

.blog-page {
    padding: 5em 0;
    background-color: var(--color-darkteal);
}

.inner-blog-page {
    display: grid;
    grid-template-columns: 1fr;
    grid-column: 3 / 15;
    gap: 2em;
}

.blog-dets {
    display: grid;
    gap: 2em;
}




/* blog Search */

.blog-search {
    display: flex;
    justify-content: space-between;
}

.blog-search {
    display: flex;
    gap: 1em;
    align-items: center;
}

.blog-search form {
    background-color: var(--color-white);
    border-radius: 41px;
    display: grid;
    grid-template-columns: 1fr 20%;
    align-items: center;
    align-self: center;
    min-width: 392px;
}

.blog-search .search-submit {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.blog-search .search-submit span, .screen-reader-text {
    display: none;
}


/* search form */
.blog-search form input[type=search] {
    border: none;
    resize: vertical;
    background-color: transparent;
    padding: 0.8em;
    width: 100%;
    text-transform: none;
    font-size: 20px;
    font-weight:400;
    text-align: left;
    color: var(--color-black);
}

.search-submit {
    text-align: right;
    padding-right: 2em !important;
}

.search-submit i {
    font-size: 35px;
    color: var(--color-apricot);
}




/* Blog Categories */

.blog-categories {
    display: flex;
    gap: 1em;
    justify-content: right;
}

.blog-categories h3 {
    font-size: 20px;
    font-weight: 700;
    text-transform: capitalize;
}

.blog-categories ul {
    display: flex;
    gap: 1em;
}

.blog-categories ul li {
    border: 2px solid var(--color-white);
    border-radius: 24.5px;
    padding: 0.2em 0.5em;
}

.blog-categories ul li a {
    font-size: 18px;
    color: var(--color-white);
    font-weight: 700;
}






/* Blog counts */

.blog-results-count, .blog-search p {
    color: var(--color-white);
    font-size: 18px;
    font-weight: 700;
    text-align: right;
}






/* pagination */

.blog-pagination {
    display: flex;
    gap: 2em;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    padding: 2em 0 0;
}

.blog-pagination .page-chip {
    display: inline-flex;
    font-weight: 500;
}

.blog-pagination a.page-numbers,
.blog-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    gap: 10px;
}

.blog-pagination span.page-numbers.current {
    font-weight: 700;
}




/* blog card */

.blog-boxes {
    display: grid;
    gap: 2em;
}

.homepage-blog-image {
    max-height: 369px;
}

.blog-home-related-blog-card-content {
    align-content: center;
}


@media (max-width: 1000px) {

    .inner-blog-page {
        grid-column: 2 / 16;
    }

    .blog-categories {
        order: 2;
    }

    .blog-categories ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .blog-search {
        flex-wrap: wrap;
        gap: 0;
        row-gap: 2em;
    }

    .blog-search form {
        min-width: 100%;
        order: 1;
    }

    .blog-results-count, .blog-search p {
        text-align: center;
    }

}








/* CASE STUDIES IMAGES BLOCK */

.case-studies-images-block {
}

.inner-case-studies-images-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: 3/15;
    gap: 1em;
}

.inner-case-studies-images-block img {
    object-fit: cover;
    height: 100%;
    max-height: 700px;
}


/* staggered images */
.inner-case-studies-images-block.staggered img:nth-child(odd) {
    padding-top: 3em;
}

.inner-case-studies-images-block.staggered img:nth-child(even) {
    padding-bottom: 3em;
}

/* same height images */
.inner-case-studies-images-block.same-height img:nth-child(odd) {
    padding-top: 2em;
}

.inner-case-studies-images-block.same-height img:nth-child(even) {
    padding-top: 2em;
}

/* one small / one large images */
.inner-case-studies-images-block.one-small-and-one-larger img:nth-child(odd) {
    padding: 3em 0;
}

.inner-case-studies-images-block.one-small-and-one-larger img:nth-child(even) {
    padding-top: 3em;
}



@media (max-width: 1000px) {

    .inner-case-studies-images-block {
        grid-column: 2/16;
    }

    .inner-case-studies-images-block img {
        max-height: 280px;
    }

    /* staggered images */
    .inner-case-studies-images-block.staggered img:nth-child(odd) {
        padding-top: 1em;
    }

    .inner-case-studies-images-block.staggered img:nth-child(even) {
        padding-bottom: 1em;
    }

    /* same height images */
    .inner-case-studies-images-block.same-height img:nth-child(odd) {
        padding-top: 1em;
    }

    .inner-case-studies-images-block.same-height img:nth-child(even) {
        padding-top: 1em;
    }

    /* one small / one large images */
    .inner-case-studies-images-block.one-small-and-one-larger img:nth-child(odd) {
        padding: 1em 0;
    }

    .inner-case-studies-images-block.one-small-and-one-larger img:nth-child(even) {
        padding-top: 1em;
    }

}





/* ARCHIVE CASE STUDIES */

.case-studies-listing {

}

.case-study-content-archive {
    display: grid;
    gap: 1.5em;
}

.case-study-content-archive .deliverable-item ul li {
    background-color: transparent;
    border: 2px solid var(--color-white);
    color: var(--color-white);
}

.inner-case-studies-listings {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: 1/17;
}

.case-study-card {
    display: grid;
    gap: 1.5em;
    justify-content: center;
    padding: 4em 0 0 0;
    align-content: start;
}

.case-study-image {
    display: grid;
    position: relative;
    max-width: 453px;
    max-height: 400px;
    aspect-ratio: 1/1;
}

.case-study-image.bordered img {
    object-fit: cover;
    border: none;
    border-top: 5px solid var(--color-white);
    border-left: 5px solid var(--color-white);
    border-right: 5px solid var(--color-white);
    border-radius: 20px 20px 0 0;
    justify-self: center;
    object-position: top;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
}

.case-study-image.floating img {
    object-fit: contain;
    height: auto;
}

.cs-archive-view {
    display: none;
}

.case-study-image:hover .cs-archive-view {
    position: absolute;
    top: -1em;
    right: -3em;
    background-color: var(--color-apricot);
    width: 86px;
    height: 86px;
    border-radius: 50%;
    display: grid;
    align-items: center;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
}


@media (max-width: 1000px) {

    .inner-case-studies-listings {
        grid-template-columns: 1fr;
    }

    .case-study-image,
    .case-study-card img {
        max-width: 253px;
        max-height: 250px;
        justify-self: center;
    }

    .case-study-content-archive {
        text-align: center;
    }

    .case-study-content-archive .deliverable-item {
        display: none;
    }

    .cs-archive-view {
        position: absolute;
        top: -1em;
        right: -1em;
        background-color: var(--color-apricot);
        width: 75px;
        height: 75px;
        border-radius: 50%;
        display: grid;
        align-items: center;
        text-align: center;
        font-weight: 700;
        font-size: 18px;
    }


}








/* Contact page */

.contact-us {
    position: relative;
    background-color: var(--color-teal);
    padding: 5em 0;
}

.contact-us::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-url);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 0;
    opacity: 0.1;
}

.inner-contact-us {
    display: grid;
    grid-column: 3/15;
    gap: 1em;
    z-index: 1;
}

.contact-inner-contact-details {
    display: flex;
    gap: 3em;
    flex-wrap: wrap
}

.contact-inner-contact-details p {
    font-weight: 700;
}

.contact-inner-contact-details p i {
    color: var(--color-apricot);
}


@media (max-width: 1000px) {

    .contact-us {
        padding: 3em 0;
    }

    .inner-contact-us {
        grid-column: 2/16;
        text-align: center;
    }
    
    .contact-inner-contact-details {
        justify-content: center;
        gap: 1em;
    }

}






/* CONTACT FORM AND MAP */

.inner-contact-form-map {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: 1/17;
}

/* form */
.contact-form {
    padding: 4em 0;
    gap: 2em;
    display: grid;
    align-content: start;
}

.contact-form h2 {
    font-size: 25px;
    font-weight: 700;
    color: var(--color-black);
    max-width: 454px;
    margin: 0 auto;
    width: 100%;
}

.contact-form form {
    max-width: 454px;
    margin: 0 auto;
    width: 100%;
}

form input.wpcf7-form-control.wpcf7-submit {
    cursor: pointer;
 }

.contact-form form input[type=text], 
.contact-form form input[type=tel],
.contact-form form input[type=email],
.contact-form form textarea {
    width: 100%;
    padding: 2em 1.5em;
    border: none;
    resize: vertical;
    background: var(--color-parchment);
    justify-items: start;
    margin-bottom: 1em;
    border-radius: 20px;
}

.contact-form form input[type=text]::placeholder,
.contact-form form input[type=email]::placeholder,
.contact-form form input[type=tel]::placeholder,
.contact-form form textarea::placeholder {
    font-size: 14px;
    text-align: left;
    color: var(--color-black);
}


/* FORM SUBMIT BUTTON */
/* FORM SUBMIT BUTTON */
.contact-form form input[type=submit] {
    justify-self: start;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 0.5em 3em 0.5em 2em;
    text-transform: uppercase !important;
    align-self: center !important;
    display: inline-block !important;
    background-color: transparent;
    border: 2px solid var(--color-teal);
    color: var(--color-teal);
    border-radius: 24.5px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M3 1l4 4-4 4' fill='none' stroke='%23E69734' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.2em center;
    background-size: 18px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
}

.full-width {
    grid-template-columns: 1fr;
}



/* Map */

.contact-map p,
.contact-map h2 {
    color: var(--color-black);
    max-width: 454px;
    margin: 0 auto;
    width: 100%;
}

.contact-map h2 {
    font-size: 25px;
}

.inner-contact-map {
    display: grid;
    gap: 2em;
    padding: 4em 0;
    align-content: start;
    background-color: var(--color-parchment);
    grid-template-columns: 1fr;
}

.inner-contact-map .acf-map {
    width: 100%;
    height: 518px;
    min-height: 518px;
}

.acf-map {
    display: block;
    width: 100%;
    height: 518px;
    max-width: 454px;
    margin: 0 auto;
    width: 100%;
}

.acf-map img {
    max-width: inherit !important;
}

.contact-map-link {
    display: grid;
    justify-content: start;
    max-width: 454px;
    justify-self: center;
    width: 100%;
}

.contact-map-link i {
    margin-left: 0.5em;
}

@media only screen and (max-width: 1000px) {

    .inner-contact-form-map {
        grid-template-columns: 1fr;
    }

    .inner-contact-map,
    .contact-form form, 
    .contact-form h2 {
        justify-content: center;
        text-align: center;
    }

    .contact-form form input[type=submit] {
        justify-self: center;
    }

    .contact-form form input[type=text], .contact-form form input[type=tel], .contact-form form input[type=email], .contact-form form textarea {
        padding: 2em 0.7em;
    }

    .inner-contact-map, .contact-form form{
        padding: 2em;
    }

    .contact-form {
        padding: 2em 0;
    }

}








/* SERVCIE DETAILS */

.service-details {
    background-color: var(--color-teal);
    padding: 5em 0;
}

.inner-service-details {
    display: grid;
    grid-column: 3/15;
    gap: 2em;
}

.service-box {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 3em;
    background-color: rgb(244, 242, 237, 0.2);
    padding: 4em;
    border-radius: 38px;

}

.service-box a {
    justify-self: start;
}

.service-box a i {
    --fa-primary-color: var(--color-black);
    --fa-secondary-color: var(--color-apricot);
    margin-left: 0.5em;
}

.service-box-image img {
    max-width: 130px;
    justify-self: center;
    object-fit: cover;
}

.service-box-content {
    display: grid;
    gap: 1em;
}

.service-box-content h2 {
    font-size: 25px;
}

.icon-images {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 2em 0 0 0;
}

.icon-images img {
    max-width: 128px;
    object-fit: contain;
    justify-self: center;
}

@media only screen and (max-width: 1000px) {

    .service-details {
        padding: 3em 0;
    }

    .inner-service-details {
        grid-column: 2/16;
    }

    .service-box {
        grid-template-columns: 1fr;
        padding: 1em;
        text-align: center;
    }

    .service-box a {
        justify-self: center;
    }

    .icon-images {
        justify-content: center;
    }

}






