/*!
Theme Name: CBD
Theme URI: https://www.cbwebsitedesign.co.uk/
Author: Creative Brand Design
Author URI: https://www.cbwebsitedesign.co.uk/
Description: Creative Brand Design
Version: 04.12.24
Text Domain: cbd
*/

/* Private Pages */

.post-password-form {
    height: 70vh;
    height: 70svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.post-password-form > p {
    width: 100%;
    text-align: center;
    font-size: 115%;
}

.post-password-form label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.post-password-form input[type=password] {
    padding: 0.75rem 1.5rem;
    background: none;
    border: 1px solid #fff;
    border-radius: 0.3rem;
}

.post-password-form input[type=submit] {
    padding: 0.75rem 1.5rem;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 0.3rem;
    color: #000;
    cursor: pointer;
    font-weight: 600;
    transition: 0.3s opacity;
    margin-top: 1.5rem;
}

.post-password-form input[type=submit]:hover {
    opacity: 0.7;
}

/* Gravity Forms */
.gform_required_legend {
    display: none;
}

.gform_fields {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 2rem;
}

.gfield--type-text input, .gfield--type-email input, .gfield--type-phone input, .gfield--type-select select, .gfield--type-textarea textarea, .gfield--type-fileupload input {
    transition: border-color .4s ease-in-out,background-color .4s ease-in-out;
}

.gfield--type-text input, .gfield--type-email input, .gfield--type-phone input, .gfield--type-select select, .gfield--type-textarea textarea, .gfield--type-fileupload input {
    margin: calc(var(--spacing) * 0);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-gray);
    background-color: var(--color-white);
    width: 100%;
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 5);
    font-family: var(--font-heading);
    --tw-leading: 1.2;
    --tw-font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1.2;
    font-weight: var(--font-weight-medium);
    --tw-tracking: -.02em;
    letter-spacing: -.02em;
}

.gfield--type-text label, .gfield--type-email label, .gfield--type-phone label, .gfield--type-select label, .gfield--type-textarea label, .gfield--type-fileupload label {
    margin-bottom: calc(var(--spacing) * 4);
    padding-inline: calc(var(--spacing) * 5);
    font-family: var(--font-heading);
    --tw-font-weight: var(--font-weight-bold);
    font-size: 14px;
    font-weight: var(--font-weight-bold);
    --tw-tracking: -.02em;
    letter-spacing: -.02em;
    text-transform: capitalize;
    display: block;
}

.gfield--type-textarea {
    grid-column: 1 / 3;
}

.gfield--type-consent legend {
    display: none;
}

.gfield--type-submit {
    justify-items: end;
}

.gfield--type-fileupload input {
    cursor: pointer;
}

.gfield--type-fileupload.full-length {
    grid-column: 1 / 3;
}

.gfield--type-consent {
    position: relative;
}

.gfield--type-consent input[type=checkbox] {
    left: -9999px;
    position: absolute;
    top: 0;
    visibility: hidden;
}

.gfield--type-consent .gform-field-label:before {
    border-width: 1px;
    border-style: var(--tw-border-style);
    background: 0 0;
    border-color: currentColor;
    border-radius: 100%;
    width: 14px;
    height: 14px;
    margin: -9px 0 0;
    transition: all .5s;
    left: 0;
}

.gfield--type-consent .gform-field-label:after {
    opacity: 0;
    background: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.86337 7.5831L1.55004 5.26976C1.42548 5.14493 1.25638 5.07477 1.08004 5.07477C0.903694 5.07477 0.734593 5.14493 0.610039 5.26976C0.350039 5.52976 0.350039 5.94976 0.610039 6.20976L3.39671 8.99643C3.65671 9.25643 4.07671 9.25643 4.33671 8.99643L11.39 1.9431C11.65 1.6831 11.65 1.2631 11.39 1.0031C11.2655 0.878261 11.0964 0.808105 10.92 0.808105C10.7437 0.808105 10.5746 0.878261 10.45 1.0031L3.86337 7.5831Z' fill='%23ffffff'/%3E%3C/svg%3E") 50%/contain no-repeat;
    width: 8px;
    height: 8px;
    margin: -6px 0 0;
    transition: opacity .25s ease-in-out,transform .25s ease-in-out;
    left: 3px;
    transform: translate(0)scale(.5);
}

.gfield--type-consent .gform-field-label:before, .gfield--type-consent .gform-field-label:after {
    content: "";
    position: absolute;
    top: 15px;
}

.gfield--type-consent label {
    padding-left: 25px;
}

.gfield--type-consent label a {
    text-decoration: underline;
    text-transform: capitalize;
}

.gfield--type-consent input[type=checkbox]:checked+label:before {
    background-color: var(--color-blue);
    border-color: #0000;
}

.gfield--type-consent input[type=checkbox]:checked+label:after {
    opacity: 1;
    transform: translate(0);
}

.gform_confirmation_message {
    text-align: center;
}

.gform_validation_errors h2 {
    font-size: clamp(1.6rem, 1.15vw, 2.2rem) !important;
    color: #d20000;
    font-weight: 400 !important;
}

.gfield_validation_message {
    color: #d20000;
}

@media(min-width: 1025px) {
    .gfield--type-text input, .gfield--type-email input, .gfield--type-phone input, .gfield--type-select select, .gfield--type-textarea textarea, .gfield--type-fileupload input {
        padding-inline: calc(var(--spacing) * 8);
        padding-block: calc(var(--spacing) * 6);
        font-size: 16px;
    }
    
    .gfield--type-text label, .gfield--type-email label, .gfield--type-phone label, .gfield--type-select label, .gfield--type-textarea label, .gfield--type-fileupload label {
        padding-inline: calc(var(--spacing) * 8);
        font-size: 16px;
    }
}

/* Fixes */
.s-simple-content a {
    color: var(--color-dark);
    filter: invert(0);
}

.s-simple-content a:hover {
    color: var(--color-blue);
}

@media(min-width: 1025px) {
    .social-menu li a {
        width: 1.8rem;
        height: 1.8rem;
    }
}

.social-menu li a {
    width: 1.8rem;
    height: 1.8rem;
}

.s-text-center li {
    text-align: left;
}

header .menu-overlay .menu .anchorlink.current-menu-item>a {
    color: var(--color-black);
}

.offices-list-item .office-item-content {
    position: relative;
    display: none;
    z-index: 1;
}

.offices-list-item.active .office-item-content {
    position: relative;
    display: block;
    z-index: 99;
    max-height: 450px;
    overflow-y: auto;
}

/*.history-main-carousel .swiper-slide .content {*/
/*    height: 200px;*/
/*}*/

.pagination-numbers {
    color: var(--color-black);
    font-weight: 600;
    opacity: .4;
}

.pagination-numbers:hover {
    color: var(--color-blue);
    opacity: 1;
}

.pagination-numbers.current {
    color: var(--color-blue);
    text-decoration: underline;
    opacity: 1;
}

.news-search input {
    border: none;
}

.news-search {
    border: 1px solid black;
}

.s-news.bg-gray .news-search {
    border: none;
}

/* WPML Language switcher*/
.lng-block {
    height: 100%;
}

.wpml-ls-legacy-dropdown-click {
    width: 100%;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle {
    background: #f5f5f5;
    border: none;
}

.lng-block:hover .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle {
    background: #d3d3d3;
}

.wmpl-ls-legacy-dropdown-click .wpml-ls-sub-menu .wpm-ls-link {
    background: #f5f5f5;
}

.hero-subpage-inner .btn.is-icon {
    display: flex;
}

@media (max-width: 767px) {
    [data-scroll][data-fade],
    [data-scroll][data-fade-up],
    [data-scroll][data-fade-right],
    [data-scroll][data-fade-left],
    [data-scroll][data-fade-down] {
        opacity: 1;
        visibility: visible;
        transform: translateZ(0);
        transition: 0s all;
    }
}

@media(max-width: 768px) {
    .s-hero.hero-subpage-inner .hero-content .title h1 {
        font-size: clamp(2.9rem,2.1vw,4rem);
    }
    
    .s-team-member-info .team-member-info-content {
        display: flex;
        flex-wrap: wrap;
    }
    
    /*.history-main-carousel .swiper-slide .history-details-item {*/
    /*    max-height: 300px;*/
    /*}*/
    
    footer .foot-container .item-start {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

.s-hero.hero-subpage-inner .title h1 {
    font-size: clamp(3.6rem,3.12vw,6rem);
}

/*.card-top-image .card-top-image-media img {*/
/*    max-height: 150px;*/
/*    object-fit: contain;*/
/*}*/
.card-top-image-media img {
    object-position: top;
}
footer .foot-content .social-menu li a {
    width: 3.4rem;
    height: 3.4rem;
}

.team-member-inner-grid ul {
    list-style: disc;
}

.team-member-inner-grid ul li {
    padding: 1rem;
}

.s-faq :is(.title,.content)>ul li:before {
    background-color: var(--color-white);
}

.s-faq .content p a {
    color: var(--color-white);
    text-decoration: underline;
    filter: none;
}

.s-simple-content .simple-content .wp-block-list li, .s-simple-content-columns .simple-content-columns .wp-block-list li {
    list-style: auto;
    margin-left: 1rem;
}

.s-simple-content .simple-content a, .s-simple-content-columns .simple-content-columns a {
    color: var(--color-black);
    text-decoration: underline;
    filter: none;
}

body.single-employee .s-simple-content.s-padding-top {
    padding-top: clamp(1rem, 2.7vw, 7rem);
}

@media(min-width: 1025px) {
    .boxes-grid-content .boxes-grid-items {
        grid-template-columns: repeat(auto-fit, 25%);
        justify-content: center;
    }
    body.single-post .btn-group {
      flex-wrap: nowrap;
      width: 895px;
    }
}

:is(.btn:hover,.btn:focus):after {
    border-radius: 0px;
}

.hero-subpage-team .breadcrumbs-block ul li a{
    color: #000000;
}

.search-title-container {
    grid-column: 1/5;
}

.search-results .team-member-card {
    background-color: var(--color-white);
}

.search-results .team-member-card:hover {
    background-color: var(--color-dark);
}

.search-results .s-hero .search-form input {
    color: black;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #000;
    margin: 1em auto;
    padding: 0;
    width: 100%;
}

.search-title {
    padding: 0 5rem;
    font-size: 4rem;
    text-transform: capitalize;
}


.ip-library-grid .card-top-image .inner .top .title, .card-top-image .inner .top .title {
    font-size: var(--text-22);
    line-height: var(--tw-leading, var(--text-22--line-height));
    font-weight: var(--tw-font-weight, var(--text-30--font-weight));
}
.ip-library-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
}

.s-simple-content .simple-content a.btn {
    text-decoration: none;
    color: white;
}

.card-top-image .inner .top .title {
    font-size: var(--text-20);
    line-height: var(--tw-leading, var(--text-20--line-height));
    font-weight: var(--tw-font-weight, var(--text-30--font-weight));
}

.card-top-image .inner .top .title h4 {
    font-size: var(--text-26);
    line-height: var(--tw-leading, var(--text-22--line-height));
    font-weight: var(--tw-font-weight, var(--text-30--font-weight));
}

.content a:not(.btn) {
    --tw-invert: unset;
    color: var(--color-blue);
    text-decoration: underline;
}

.content a:not(.btn):hover {
    color: var(--color-dark);
}

.s-simple-content .simple-content .content ul li {
    display: list-item;
    list-style-type: disc;
    margin-left: 2rem;
}

.s-simple-content .simple-content .content ul li::before {
    display: none;
}

@media (min-width: 640px) {
    .ip-library-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 1025px) {
    .ip-library-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    body.single-sector .hero-subpage-inner .hero-content, body.single-post .hero-subpage-inner .hero-content {
        max-width: 70%;
    }
    .s-hero .hero-content .content {
        width: 100%;
    }
}

@media(max-width: 768px) {
    .gfield--type-select select {
        padding-block: calc(var(--spacing) * 4.5);
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-flag {
        width: 3rem;
    }
    
    header .menu-overlay {
        height: 90vh;
    }
}

@media(max-width: 1200px) {
    .boxes-grid-content .boxes-grid-items {
        grid-template-columns: repeat(1,minmax(0,1fr));
    }
}

.s-simple-content .simple-content h5 {
    font-size: var(--text-26) !important;
}

@media(max-width: 768px) {
    .s-simple-content .simple-content h5 {
        text-align: left !important;
    }
}

.s-news .grid .search-form .form-group input::placeholder {
    text-transform: unset;
}

.object-contain {
    object-fit: contain;
}

.simple-content-columns .wp-block-image img {
    width: auto;
    height: auto;
}
.blog .wpml-ls-item-zh-hans {
    display: none;
}

.pb-14 {
    padding-bottom: calc(var(--spacing) * 14);
}

@media(min-width: 1025px) {
    .lg\:pb-40 {
        padding-bottom: calc(var(--spacing) * 40);
    }   
}
@media (max-width: 1024px) {
    .children-indicator-wrap {
        top: 0;
        right: 0;
        bottom: 0;
        aspect-ratio: 1 / 1;
        position: absolute;
    }
}
.card-top-image {
    height: 100%;
}

.search-title {
    white-space: nowrap;
}
@media (min-width: 1600px) and (max-width: 1700px) {
    #menu-top-menu {
        column-gap: calc(var(--spacing) * 8);
    }
}
@media (max-width: 380px) {
    .s-hero.hero-subpage-inner .hero-content .title h1 {
        font-size: clamp(1.9rem, 2.1vw, 4rem);
    }
}

input[type=file]::file-selector-button {
    background-color: var(--color-dark);
    color: var(--color-white);
    cursor: pointer;
    padding-inline: calc(var(--spacing) * 8);
    padding-block: calc(var(--spacing) * 6);
    margin-inline: calc(-1 * calc(var(--spacing) * 8));
    margin-block: calc(-1 * calc(var(--spacing) * 6));
    margin-right: calc(var(--spacing) * 8);
}

input[type=file]::file-selector-button:hover {
  background-color: var(--color-blue);
}

@media (max-width: 480px) {
    .pagination-block {
        gap: calc(var(--spacing)*6)
    }
    .pagination-block>.arrow {
        width: 3rem;
        height: 3rem;
    }
}

.s-team-member-info .team-member-info-content .col .detail {
    align-items: flex-start;
}

.s-simple-content em:has(img) {
    display: flex;
}

em {
    font-style: italic;
}

.size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
}

.search .field {
    width: 100%;
    height: 100%;
    border: 1px solid black;
    padding: 1rem;
}

.search .field input {
    width: 100%;
}

.team-grid-output.loading {
  opacity: 0.6;
  position: relative;
}

.team-grid-output.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.card-top-image .inner .top .title h4 {
    font-size: var(--text-22);
}