/*
Theme Name: Twenty Twenty-Four
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.0
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

header {
    position: relative;
    z-index: 99;
}

footer {
    margin: 0;
}

a,
button,
button:focus-visible,
input,
select,
textarea,
summary,
input[type="checkbox"] + label,
input[type='radio'] + label,
.wp-block-button__link {
    outline-color: transparent;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
    -webkit-tap-highlight-color: transparent !important;
}

.overflow-h {
    overflow: hidden;
}

.img-overlay {
    position: relative;
}

.banner-overlay {
    position: relative;
    top: -100px;
    margin-bottom: -100px !important;
    background-position: right;
}

.img-overlay::before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    content: '';
    z-index: 0;
    background-color: rgba(68, 115, 223, 0.7);
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.banner-overlay::before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    content: '';
    z-index: 0;
    background-color: rgba(68, 115, 223, 0.85);
}

header.inner-header .has-custom-blue-background-color {
    background-color: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.main-wrapper {
    margin-top: 0;
    padding-bottom: 100px;
}

.bg {
    background-repeat: no-repeat;
    background-size: 1840px !important;
    background-position: 0 380px;
}

.first-block {
    position: relative;
    top: -100px;
    z-index: 1;
    margin-bottom: -40px;
}

.about-img {
    position: relative;
    right: -30px;
    top: -30px;
    z-index: 1;
}

.services-img {
    position: relative;
    right: -30px;
    z-index: 1;
}

.divider {
    height: 4px;
}

.row-terms {
    background-repeat: repeat-y !important;
}

.tab-link a {
    box-sizing: border-box;
    letter-spacing: 0;
    outline: none;
    text-decoration: none;
}

.tab-link a:hover {
    text-decoration: underline;
}

.tab-icon-active {
    background-color: #4aac1f;
}

.faq-list {
    position: relative;
}

.faq-list .wp-block-post-excerpt__more-text {
    position: absolute;
    bottom: 30px;

}

.faq-list .wp-block-post-excerpt__more-text a {
    color: #41D301;
    font-size: 12px;
}

.case-list {
    position: relative;
}

.case-list h6 {
    position: absolute;
    bottom: 30px;

}

.case-list h6 {
    text-decoration: underline;
    cursor: pointer;
}

.case-list .case-ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.case-modal .wp-block-cloudcatch-light-modal-block__close {
    background-color: #41d301;
    outline: none;
}

.case-modal .wp-block-cloudcatch-light-modal-block__close svg {
    fill: #fff;
}

.header-buttons .wp-block-button__link {
    width: 130px;
}

.header-buttons .wp-block-button__link,
.button-img .wp-block-button__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 18px;
}

.header-buttons .wp-block-button__link img,
.button-img .wp-block-button__link img {
    margin-right: 5px;
}

.current-menu-item {
    color: #41d301;
}

.header-buttons a,
.wp-block-button__link {
    transition: all .3s ease-in-out;
}

.header-buttons a:hover {
    background-color: transparent !important;
    border-color: #fff !important;
    opacity: .7;
}

.wp-block-button__link:hover {
    opacity: .7;
}

.range-slider input[type="range"] {
    -webkit-appearance: none;
    /* appearance: none; */
    background: #e3e3e3;
    cursor: pointer;
    width: 100%;
    height: 10px;
    accent-color: #4473EA;
    border-radius: 5px;
}

/* Removes default focus */
.range-slider input[type="range"]:focus {
    outline: none;
}

/******** Chrome, Safari, Opera and Edge Chromium styles ********/
/* slider track */
.range-slider input[type="range"]::-webkit-slider-runnable-track {
    background: linear-gradient(to right, #4473EA var(--valuePercent), #e3e3e3 var(--valuePercent));
    border-radius: 5px;
    height: 10px;
    -webkit-appearance: none;
    appearance: none;
}

/* slider thumb */
.range-slider input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    margin-top: -7px; /* Centers thumb on the track */
    background-color: #41d301;
    border-radius: 50%;
    height: 24px;
    width: 24px;
}

/*********** Firefox styles ***********/

@-moz-document url-prefix() {
    .range-slider input[type="range"] {
        appearance: none;
        background-color: #e3e3e3;
    }
}

/* slider track */
.range-slider input[type="range"]::-moz-range-track {
    background: linear-gradient(to right, #4473EA var(--valuePercent), #e3e3e3 var(--valuePercent));
    border-radius: 5px;
    height: 10px;
}

/* slider thumb */
.range-slider input[type="range"]::-moz-range-thumb {
    background-color: #41d301;
    border: none; /*Removes extra border that FF applies*/
    border-radius: 50%;
    height: 24px;
    width: 24px;
}

.range-slider .range-box {
    width: 160px;
    position: absolute;
    top: 40px;
    right: 30px;
    padding: 5px 10px;
    border: 1px solid #41D301;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

.range-slider .range-box label {
    color: #41D301;
}

.range-slider .range-box output {
    display: inline-block;
    width: 90px;
}

.range-slider .range-box output#amountValue {
    text-align: right;
}

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

    .bg {
        background: none !important;
    }

    .header-row {
        padding: 0 20px !important;
    }
    .main-wrapper {
        margin-top: 40px;
    }

    .first-block {
        top: 0;
        margin-bottom: 40px;
    }

    .banner-overlay {
        min-height: 320px !important;
    }

    .inner-intro {
        align-items: flex-start;
    }

    .inner-intro > .wp-block-group:first-child {
        padding-top: 40px;
        padding-left: 40px !important;
    }

    .inner-intro .about-img {
        top: 0;
        right: 0;
    }

    .hg-adv-services {
        max-width: 640px;
    }
}

@media screen and (max-width: 1023px) {
    /* hamburger button */
    .wp-block-navigation__responsive-container-open  {
        display: block !important;
    }

    /* full menu */
    .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
        display: none !important;
    }

    .wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
        color: #fff;
        background-color: #4473EA;
    }

    .header-row .custom-logo-link img {
        max-width: 140px;
    }

    .hg-adv-right,
    .hg-adv-left {
        flex-basis: 100%;
        min-height: 0 !important;
    }

    .hg-adv-right {
        border-radius: 0 !important ;
    }

    .img-overlay::before {
        border-radius: 0;
    }

    .text-image {
        flex-direction: column-reverse;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .text-image > .wp-block-group:first-child {
        margin-top: 40px;
    }

    .text-image > .wp-block-group:first-child .wp-block-buttons {
        width: 100%;
        justify-content: center;
    }

    .text-image > .wp-block-group:last-child {
        padding-right: 0 !important;
    }

    .text-image > .wp-block-group:last-child figure {
        margin: 0 auto !important;
    }

    .inner-intro {
        flex-direction: column-reverse;
    }

    .inner-intro > .wp-block-group:first-child {
        padding: 40px 20px 0 !important;
        text-align: center;
        font-size: 18px !important;
    }

    .inner-intro > .wp-block-group:first-child p {
        font-size: 18px !important;
    }

    .inner-intro .about-img {
        padding-left: 0 !important;
    }

    .inner-intro .about-img img {
        width: 100% !important;
        border-top-left-radius: 10px !important;
    }

    .faq-img-text,
    .faq-text-img {
        margin: 0 auto 40px !important;
        text-align: center;
    }

    .faq-img-text ul,
    .faq-text-img ul{
        text-align: left;
    }

    .faq-img-text {
        flex-direction: column;
    }

    .faq-img-text > .wp-block-group:last-child {
        margin-top: 20px;
        padding: 0 !important;
    }

    .faq-text-img {
        flex-direction: column-reverse;
    }

    .faq-text-img > .wp-block-group:first-child {
        margin-top: 20px;
        padding: 0 !important;
    }

    .tabs-wrapper {
        min-height: 0 !important;
        padding: 0 20px;
    }

    .tabs {
        display: block !important;
        overflow-x: auto;
        white-space: nowrap;
        text-align: center;
    }

    .tabs > .wp-block-column {
        display: inline-block;
        width: auto;
        padding: 0 10px 10px;
    }

    .tab-icon {
        min-height: 0 !important;
        padding-top: 45px !important;
        background-position: 50% 30% !important;
        background-size: 36px !important;
    }

    .tab-link a {
        height: 70px !important;
        padding-bottom: 0 !important;
        font-size: 16px;
    }

    .tab-icon-active {
        background-color: transparent;
        opacity: .4;
    }

    .inner-intro-services {
        padding-top: 0 !important;
    }

    .inner-intro-services .services-img img {
        border-radius: 0 !important;
    }

    .inner-intro-services ul {
        text-align: left;
    }

    .header-buttons {
        margin: 100px auto 0;
        padding-left: 0 !important;
    }
}

@media screen and (max-width: 767px) {
    .footer-menu {
        gap: 40px;
    }

    .footer-menu > div {
        width: 100%;
    }

    .hg-adv-right > .wp-block-group > .wp-block-group {
        flex-basis: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid #f4f4f4 !important;
    }
}