/*
 Theme Name:   Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child
*/

:root {
    --header-height: 0px;
    --service-content-wrapper-left-height: 0px;
}

html {
    /* scrollbar-color: #000 #fff;
    scrollbar-width: thin; */
    scroll-behavior: smooth;
    font-variant-numeric: lining-nums;
}

@media (max-width: 1250px) {
    .container {
        --bs-gutter-x: 4rem;
    }
}

::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

::-webkit-scrollbar-thumb {
    background: #AA1A1A;
    border: 6px solid rgba(170, 26, 26, 0.2);
}

::selection {
    background: var(--bs-primary);
    color: #fff;
}

.transition {
    transition: 0.3s all ease-in-out;
}

.grecaptcha-badge {
    scale: 0;
    opacity: 0;
    pointer-events: none
}

.btn {
    box-shadow: 0 54px 15px 0 rgba(0, 0, 0, 0.00), 0 34px 14px 0 rgba(0, 0, 0, 0.01), 0 19px 12px 0 rgba(0, 0, 0, 0.05), 0 9px 9px 0 rgba(0, 0, 0, 0.09), 0 2px 5px 0 rgba(0, 0, 0, 0.10);
}

.btn:focus-visible {
    box-shadow: none;
}

.btn-primary:hover {
    --bs-btn-hover-bg: #BA1D1D;
    border-color: transparent;
}

.btn-primary:active,
.btn-primary:focus {
    --bs-btn-active-bg: #D42121;
    --bs-btn-active-border-color: #D42121;
}

.btn-secondary:hover {
    background: #F5F5F5;
}

.btn-secondary:active,
.btn-secondary:focus {
    --bs-btn-active-bg: #EAEAEA;
    --bs-btn-active-border-color: #EAEAEA;
}

/* Pagination - START */
.pagination li .prev-icon {
    scale: -1;
}

.pagination li:hover svg path {
    fill: var(--bs-gray-808084);
}

.pagination li .page-link:focus svg path {
    fill: var(--bs-gray-808084);
}

@media (min-width: 1025px) {
    .pagination {
        margin-bottom: 12rem;
        margin-top: -6rem;
    }
}

/* Pagination - END */

.line-clamp {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.line-clamp-1:not(:empty) {
    -webkit-line-clamp: 1;
    height: 1lh;
}

.line-clamp-2:not(:empty) {
    -webkit-line-clamp: 2;
    height: 2lh;
    text-overflow: ellipsis;
}

.line-clamp-3:not(:empty) {
    -webkit-line-clamp: 3;
    height: 3lh;
}

.line-clamp-4:not(:empty) {
    -webkit-line-clamp: 4;
    height: 4lh;
}

.line-clamp-5:not(:empty) {
    -webkit-line-clamp: 5;
    height: 5lh;
}

/* Articles - START */
#articles-section .section-background,
.taxonomy-title {
    letter-spacing: -1.08px;
    background: url(src/images/Category-background.svg) no-repeat center center;
    background-size: 295px 20px;
}


#case-studies-section .section-background {
    background: url(src/images/bg-case-studies.svg) no-repeat 50% 35%;
}

.wysiwyg-content p {
    margin-bottom: 2rem;
}

body.post-template-default div.wysiwyg-content > .heateor_sss_sharing_container {
    margin-top: 5rem;
}

body:not(.post-template-default) .heateor_sss_sharing_container {
    display: none;
}

.section-pre-title {
    color: #7B7B7B;
    border-radius: 4px;
    border: 1px solid #EFEFEF;
    background: #F7F7F7;
}


@media (min-width: 1025px) {

    #articles-section .category-title,
    .taxonomy-title {
        letter-spacing: -2.16px;
    }
}


#articles-section .post-blog img,
#related-posts .post-blog img {
    aspect-ratio: 1;
    object-fit: cover;
    transition: 0.3s ease-in-out;
    border-radius: 6px;
}

#articles-section .post-blog .outer::before,
#related-posts .post-blog .outer::before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    background-color: rgba(219, 219, 219, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1;
}

@media (min-width: 1025px) {

    #articles-section .post-blog:hover .outer::before,
    #related-posts .post-blog:hover .outer::before {
        opacity: 1;
        visibility: visible;
    }
}

#articles-section .post-blog .post-arrow,
#related-posts .post-blog .post-arrow {
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in-out;
}


#related-posts .blog-link {
    text-decoration: underline !important;
    text-underline-offset: 10px;
    text-decoration-skip-ink: none;
}

#related-posts .blog-link {
    text-decoration: underline !important;
    text-underline-offset: 10px;
    text-decoration-skip-ink: none;
    transition: 0.3s ease-in-out;
}

@media (min-width: 1025px) {
    #related-posts .blog-link:hover {
        color: rgba(0, 0, 0, 0.50);
    }
}


.content__wrapper a {
    text-decoration: underline;
}

.content__wrapper img {
    max-width: 100%;
    width: 100%;
    object-fit: cover;
    height: auto;
    border-radius: 4px;
}

/* Articles - END */

h1.entry-title {
    margin-bottom: 1.2rem;
}

/* CF7 Plugin Form - START */
.wpcf7 .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.wpcf7 .wpcf7-form input:not([type="checkbox"], [type="submit"]) {
    border-radius: 8px;
    background: #fff;
    border: 1px solid #F9F9F9;
    transition: 0.3s ease-in-out;
    max-width: 100%;
    width: 100%;
    min-height: 56px;
}

.wpcf7 .wpcf7-form input:not([type="checkbox"], [type="submit"]):hover {
    border: 1px solid #EFEFEF;
}

.wpcf7 .wpcf7-form input:not([type="checkbox"], [type="submit"]):focus,
.wpcf7 .wpcf7-form input:not([type="checkbox"], [type="submit"]):focus-visible {
    border: 1px solid #7B7B7B;
    outline: none;
    box-shadow: none;
}

.wpcf7-not-valid {
    border: 1px solid #AA1A1A !important;
}

.wpcf7 .wpcf7-form .wpcf7-list-item {
    margin: 0;
}

.wpcf7 .wpcf7-form {
    --checkbox-width: 16px;
    --checkbox-height: 16px;
    --checkbox-background: var(--bs-gray-dark);
}

.wpcf7 .wpcf7-form input[type="checkbox"] {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    width: var(--checkbox-width);
    height: var(--checkbox-height);
}

.wpcf7 .wpcf7-form input[type="checkbox"]:focus-visible {
    outline: 1px solid transparent;
}

.wpcf7 .wpcf7-form input[type="checkbox"]::before {
    position: absolute;
    width: var(--checkbox-width);
    height: var(--checkbox-height);
    background: #fff;
    border: 1px solid var(--checkbox-background);
    border-radius: 4px;
    cursor: pointer;
    transition: background .3s;
    content: '';
    top: 4px;
    left: 0px;
}

.wpcf7 .wpcf7-form input[type="checkbox"]:checked::before {
    background: var(--checkbox-background);
}

.wpcf7 .wpcf7-form input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    transform: rotate(-45deg);
    top: 8px;
    left: 4px;
    width: 8px;
    height: 5px;
    border: 2px solid #fff;
    border-top-style: none;
    border-right-style: none;
}

.wpcf7 .wpcf7-submit {
    min-height: 56px;
}


.wpcf7 .wpcf7-form .wpcf7-spinner {
    margin: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50%;
}

.wpcf7 .wpcf7-form .wpcf7-response-output {
    border: none !important;
    font-size: 1.2rem;
    border-radius: 6px;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.2rem;
}

@media (min-width: 1025px) {
    .wpcf7 .wpcf7-form .wpcf7-response-output {
        font-size: 1.5rem;
        max-width: 100%;
        margin: 0;
    }
}

.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7 .wpcf7-form.payment-required .wpcf7-response-output {
    background: rgba(198, 0, 34, 0.1);
    color: #C60022;
}

.wpcf7 .wpcf7-form .wpcf7-response-output {
    background: rgba(0, 158, 60, 0.1);
    color: #009E3C;
}

.wpcf7 .wpcf7-form .wpcf7-response-output::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='23' viewBox='0 0 22 23' fill='none'%3E%3Crect x='1' y='1.5' width='20' height='20' rx='5' stroke='%23009E3C' stroke-width='1.5'/%3E%3Cpath d='M8.5 11L10.5 13L14.5 9' stroke='%23009E3C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    width: 25px;
    height: 25px;
}

.wpcf7 .wpcf7-form.invalid .wpcf7-response-output::before {
    content: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 18.4261C2 17.8187 2.15479 17.2214 2.44975 16.6904L8.63566 5.5558C9.18399 4.56881 10.1381 3.87239 11.2452 3.65096V3.65096C11.7435 3.55131 12.2565 3.55131 12.7548 3.65096V3.65096C13.8619 3.87239 14.816 4.56881 15.3643 5.55581L21.5502 16.6904C21.8452 17.2214 22 17.8187 22 18.4261V18.4261C22 20.3999 20.3999 22 18.4261 22H5.57391C3.60009 22 2 20.3999 2 18.4261V18.4261Z' stroke='%23C60022' stroke-width='1.5'/%3E%3Cpath d='M12 9.5L12 13.5' stroke='%23C60022' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 16.5L12 17' stroke='%23C60022' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    width: 25px;
    height: 25px;
}

.wpcf7-not-valid-tip {
    color: #AA1A1A;
    font-size: 1.2rem;
    margin-top: 0.8rem;
}

/* Select2 - START */


#form-section .select2-container--default .select2-selection--single,
#contact-form .select2-container--default .select2-selection--single {
    border-radius: 8px;
    background: #fff;
    border: 1px solid #F9F9F9;
    transition: 0.3s ease-in-out;
    max-width: 100%;
    min-height: 56px;
}

#form-section .select2-container--default .select2-selection--single:focus-visible,
#contact-form .select2-container--default .select2-selection--single:focus-visible {
    outline: 1px solid #EFEFEF !important;
}

#form-section .select2-container .select2-selection--single .select2-selection__rendered,
#contact-form .select2-container .select2-selection--single .select2-selection__rendered {
    display: flex;
    align-items: center;
    justify-content: start;
    height: 100%;
    padding: 0 16px;
}

#form-section .select2-container--default .select2-selection--single .select2-selection__arrow,
#contact-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M7 10L12 15L17 10" stroke="%237B7B7B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-size: cover;
    transition: transform 0.2s ease;
}

#form-section .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow,
#contact-form .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
    transform: translateY(-50%) rotate(180deg);
}

#form-section .select2-container--default .select2-selection--single .select2-selection__arrow b,
#contact-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2 {
    width: 100% !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    display: none !important;
}

.select2-container--open .select2-dropdown--below,
.select2-container--open .select2-dropdown--above {
    border: none !important;
    padding: 16px !important;
    background: #FBFBFB !important;
    box-shadow: none !important;
}

.select2-results__options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #FBFBFB;
    border-radius: 8px;
}

.select2-search--dropdown {
    padding: 0 !important;
}


.select2-results__options li {
    color: var(--bs-gray-dark) !important;
    opacity: 0.7 !important;
    background-color: #fff !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: start !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    transition: 0.3s ease-in-out !important;
}

.select2-results__options li:hover {
    border: 1px solid #EFEFEF !important;
}


.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container--default .select2-results__option--selected {
    background-color: #fff;
    color: var(--bs-gray-dark);
    opacity: 1;
}

.select2-selection__rendered.on-click {
    background: var(--bs-secondary);
}


.form-label-floating {
    color: rgba(var(--bs-body-color-rgb), .65) !important;
    transform: scale(.85) translateY(-1.5rem) translateX(.15rem) !important;
}

/* Select2 - END */

/* CF7 Plugin Form - END */

/* 404 page - START */
.error-404 {
    height: 60dvh;
    display: grid;
    place-content: center;
}

/* 404 page - END */

/* Default page - START */

#page-entry .post-image {
    max-height: 600px;
}

/* Default page - END */

/* Single post - START */

#breadcrumbs a {
    color: #2A2A2A;
}


#breadcrumbs span.breadcrumb_last {
    color: #808084;
}

#single-post .post-image {
    max-height: 400px;
    border-radius: 4px;
}

#single-post .post-title {
    letter-spacing: -0.84px;
}

@media (min-width: 1025px) {
    #single-post .post-title {
        letter-spacing: -1.44px;
    }
}

#related-posts .related-posts-heading {
    letter-spacing: -0.84px;
}

@media (min-width: 1025px) {
    #related-posts .related-posts-heading {
        letter-spacing: -1.08px;
    }
}

#related-posts .related-post-link,
#articles-section .related-post-link,
.service-link {
    border: 1px solid #EFEFEF;
    background: #FDFDFD;
}

/* Hover effect for clickable content area */
#related-posts .related-post-link a:first-child,
#articles-section .related-post-link a:first-child,
.service-link a:first-child {
    transition: 0.3s ease-in-out;
    cursor: pointer;
}

#related-posts .related-post-link:hover a:first-child,
#articles-section .related-post-link:hover a:first-child,
.service-link:hover a:first-child {
    opacity: 0.8;
}


#related-posts .related-post-image,
#articles-section .post-blog img {
    max-height: 300px;
    border-radius: 4px;
}

.service-link img {
    max-height: 300px;
    border-radius: 4px;
}

#case-studies-section .post-blog img.img-fluid {
    max-height: 300px;
    border-radius: 4px;
}

#case-studies-section .related-post-read-more {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.85);
    min-height: 40px;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.21) inset;
    transition: 0.3s ease-in-out;
    cursor: pointer;
}

#case-studies-section .related-post-read-more:hover {
    background: #F5F5F5;
}

#related-posts .related-post-read-more,
#articles-section .post-blog .related-post-read-more,
.service-link .related-post-read-more {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F9F9F9;
    min-height: 40px;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.21) inset;
    transition: 0.3s ease-in-out;
    cursor: pointer;
}

#related-posts .related-post-read-more:hover,
#articles-section .post-blog .related-post-read-more:hover,
.service-link .related-post-read-more:hover {
    background: #F5F5F5;
}


/* Single post - END */


/* Service - START */

@media (min-width: 768px) {
    #service-article #service-hero-section {
        min-height: 50vh;
        min-height: 50dvh;
    }
}

#service-article #service-hero-section .service-hero-wrapper {
    max-width: 455px;
}

#service-article #service-hero-section .service-hero-image {
    pointer-events: none;
}

#service-article #service-hero-section .service-hero-wrapper-bg {
    background: #FFF;
    filter: blur(32px);
}

#service-article #service-hero-section .service-title {
    letter-spacing: -1.08px;
    line-height: 100%;
}

#service-article .product-uppertext {
    color: #7B7B7B;
    border-radius: 4px;
    border: 1px solid #EFEFEF;
    background: #F7F7F7;
}

@media (min-width: 1025px) {
    #service-article #service-hero-section .service-title {
        letter-spacing: -2.16px;
    }
}


#service-article #service-content-section .service-content-title,
#service-article #service-benefits-section .service-benefits-title {
    letter-spacing: -0.84px;
}

@media (min-width: 1025px) {

    #service-article #service-content-section .service-content-title,
    #service-article #service-benefits-section .service-benefits-title {
        letter-spacing: -1.08px;
    }
}

#service-article #service-content-section .service-content-wrapper-right {
    max-width: 740px;
    border: 1px solid #EFEFEF;
    box-shadow: 0 270px 76px 0 rgba(0, 0, 0, 0.00), 0 173px 69px 0 rgba(0, 0, 0, 0.00), 0 97px 58px 0 rgba(0, 0, 0, 0.01), 0 43px 43px 0 rgba(0, 0, 0, 0.02), 0 11px 24px 0 rgba(0, 0, 0, 0.02);
    margin-inline: auto;
}

@media (min-width: 1025px) {
    #service-article #service-content-section .service-content-wrapper-right {
        margin-inline: unset;
        margin-inline-start: auto;
    }
}

#service-article #service-content-section .service-content-wrapper-right .service-content-title {
    letter-spacing: -0.72px;
}

@media (min-width: 1025px) {
    #service-article #service-content-section .service-content-wrapper-right .service-content-title {
        letter-spacing: -0.96px;
    }
}

#service-article #service-content-section .service-content-wrapper-right .service-content-description,
#service-article #service-content-section .service-content-wrapper-left .service-content-description {
    max-width: 400px;
}

#service-article #service-content-section .service-content-wrapper-left {
    top: calc(50% - var(--service-content-wrapper-left-height) - var(--bs-gutter-y));
}


#service-article #service-content-section .service-content-wrapper-right .service-content-image-hover {
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in-out;
}

#service-article #service-content-section .service-content-wrapper-right:hover .service-content-image-hover {
    opacity: 1;
    visibility: visible;
}

#service-article #service-content-section .service-content-wrapper-right .service-content-image-hover,
#service-article #service-content-section .service-content-wrapper-right .service-content-image {
    max-height: 85px;
    object-fit: contain;
    aspect-ratio: 1/1;
    height: 100%;
}

@media (min-width: 1025px) {

    #service-article #service-content-section .service-content-wrapper-right .service-content-image-hover,
    #service-article #service-content-section .service-content-wrapper-right .service-content-image {
        max-height: 144px;
    }
}

#service-article #service-benefits-section .service-benefits-main-description {
    max-width: 550px;
}

#service-article #service-benefits-section .service-benefits-wrapper {
    border: 1px solid #EFEFEF;
    background: #FDFDFD;
    box-shadow: 0 281px 79px 0 rgba(0, 0, 0, 0.00), 0 180px 72px 0 rgba(0, 0, 0, 0.00), 0 101px 61px 0 rgba(0, 0, 0, 0.01), 0 45px 45px 0 rgba(0, 0, 0, 0.02), 0 11px 25px 0 rgba(0, 0, 0, 0.02);
    position: relative;
}

#service-article #service-benefits-section .service-benefits-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 106px;
    height: 1px;
    background: #AA1A1A;
    opacity: 0.4;
}

#service-article #service-benefits-section .service-benefits-description {
    max-width: 250px;
}

#service-article #service-benefits-section .service-benefits-item-title,
#service-article #service-benefits-section .service-benefits-item-description {
    max-width: 400px;
}


#service-article #service-benefits-section .service-benefits-item-title {
    letter-spacing: -0.54px;
}


#service-article #service-hero-section .service-hero-description,
#service-article #service-content-section .service-content-description,
#service-article #service-benefits-section .service-benefits-item-description,
#service-article #service-benefits-section .service-benefits-main-description {
    max-height: 350px;
    overflow-y: auto;
}

#service-article #service-benefits-section .service-benefits-icon img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    aspect-ratio: 1/1;
}

.service-benefits-item {
    border: 1px solid #EFEFEF;
    background: #FDFDFD;
    box-shadow: 0 281px 79px 0 rgba(0, 0, 0, 0.00), 0 180px 72px 0 rgba(0, 0, 0, 0.00), 0 101px 61px 0 rgba(0, 0, 0, 0.01), 0 45px 45px 0 rgba(0, 0, 0, 0.02), 0 11px 25px 0 rgba(0, 0, 0, 0.02);
}


#service-key-features .service-benefits-main-description {
    max-width: 490px;
}

/* Service - END */


#features-section .swiper-pagination-bullet {
    --swiper-pagination-bullet-width: 12px;
    --swiper-pagination-bullet-height: 12px;
    --swiper-pagination-bullet-border-radius: 24px;
    --swiper-pagination-color: #000;
    --swiper-pagination-bullet-size: 24px;
    --swiper-pagination-bullet-inactive-color: #000;
    --swiper-pagination-bullet-inactive-opacity: 0.2;
    --swiper-pagination-bullet-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: 12px;
}

.carousel-swiper-solution {
    background: url('/wp-content/themes/understrap-child-main/src/images/bg-grid.svg') no-repeat center center / cover;
}


.back-to-top-button {
    position: fixed;
    bottom: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #AA1A1A url('/wp-content/themes/understrap-child-main/arrow-alt-circle-up-solid.svg') no-repeat center center / 75%;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in-out;
    z-index: 10;
}

body.body-scrolled .back-to-top-button {
    opacity: 1;
    visibility: visible;
}