@supports (-webkit-touch-callout: none) { /* CSS specific to iOS devices */ 
    select {
        background: url(../images/chevron_down.svg) no-repeat right center;
    }
    select,
    option {
        -webkit-appearance: none;
        color: inherit;
    }
    .css-parallax {
        background-attachment: inherit;
    }
}

@media (pointer:coarse) { /* CSS specific to touch devices */
    .vc_tta-tabs.vc_general .vc_tta-tabs-list li > a:hover,
    .vc_tta-tabs.vc_general .vc_tta-tabs-list li > p > a:hover,
    .vc_tta-container .vc_tta-tabs.vc_general .vc_tta-panels-container .vc_tta-panel-heading:hover {
        background-color: transparent;
    }
    .vc_tta-tabs.vc_general .vc_tta-tabs-list li > a:active,
    .vc_tta-tabs.vc_general .vc_tta-tabs-list li > p > a:active {
        color: #666;
        box-shadow: none;
    }
    .services-list .custom-btn i {
        width: 1rem;
    }
    .package-list .icon-info:not(.active):hover + .custom-tooltip {
        opacity: 0;
        visibility: hidden;
    }
    .package-list .icon-info:not(.active):hover:before,
    .package-list .icon-info:not(.active):focus:before {
        content: "\e909";
    }
}

@media all and (max-width: 1199px) {

}

@media all and (max-width: 991px) {
    body.menu-open {
        overflow: hidden;
    }
    body.menu-open .header-wrapper {
        box-shadow: none;
    }
    body.menu-open .main-overlay,
    body.menu-open .main-navigation {
        opacity: 1;
        visibility: visible;
    }
    body.menu-open .nav-btn span,
    body.menu-open .nav-btn span:before,
    body.menu-open .nav-btn span:after {
        background-color: var(--color-secondary);
    }
    body.menu-open .nav-btn span:before,
    body.menu-open .nav-btn span:after {
        top: 0;
        opacity: 0;
    }
    .modal-overlay {
        overflow: hidden;
    }
    .modal-outer {
        align-items: stretch;
    }
    .modal-body {
        max-height: none;
        height: calc(100dvh - 103px);
    }
    .admin-bar .modal-body {
        height: calc(100dvh - 135px);
    }
    .modal-content {
        margin: 0;
    }
    .admin-bar .modal-content {
        margin-top: 32px;
    }
    h1 {
        font-size: 2rem;
    }
    h2 {
        margin: 0 0 3rem;
        font-size: 1.5rem;
    }
    h3 {
        font-size: 1.375rem;
    }
    h4,
    .text-lg {
        font-size: 1.25rem;
    }
    h5 {
        font-size: 1.125rem;
    }
    .vc_tta-container .vc_tta-tabs.vc_general .vc_tta-tabs-list {
        width: auto;
        justify-content: center;
    }
    .vc_tta-tabs.vc_general .vc_tta-tabs-list li > a,
    .vc_tta-tabs.vc_general .vc_tta-tabs-list li > p > a {
        min-width: auto;
    }
    .container {
        padding: 0 1.5rem;
    }
    .container.sm,
    .vc_section .vc_row.sm {
        max-width: 100%;
    }
    .site-main {
        padding-top: 56px;
    }
    .site-main .vc_section,
    .site-main .vc_section.vc_section-has-fill {
        margin: 0;
        padding: 4rem 0;
    }
    .site-main .vc_section.vc_section-has-fill + .vc_section {
        padding-top: 4rem;
    }
    .vc_section .vc_row {
        margin-bottom: 2rem;
        padding-right: 9px;
        padding-left: 9px;
    }
    .vc_section .vc_row-full-width {
        margin-bottom: 4rem;
    }
    .vc_section .vc_row.vc_inner {
        margin-bottom: 2rem;
    }
    .vc_custom_heading.vc_do_custom_heading {
        margin-bottom: 3rem;
    }
    .vc_section .vc_row.vc_row-flex {
        flex-direction: column;
    }
    .vc_section .vc_row.vc_row-flex .vc_column_container {
        flex-basis: auto !important;
        width: 100%;
    }
    .vc_section .vc_row.vc_row-flex .vc_column_container:first-child:not(:only-child) {
        margin-bottom: 1.5rem;
    }
    .header-wrapper {
        height: 56px;
    }
    .header-wrapper .flexbox > div:first-child {
        flex-basis: 138px;
    }
    .header-wrapper .flexbox > div:last-child {
        margin-left: auto;
    }
    .nav-btn,
    .nav-menu {
        display: block;
    }
    .main-navigation {
        display: none;
        position: fixed;
        top: 56px;
        left: 0;
        width: 100%;
        background-color: var(--color-bg-light);
        box-shadow: inset 0 5px 20px 0 rgba(25, 25, 25, 0.10);
        scrollbar-width: thin;
        overflow: hidden;
        overflow-y: auto;
    }
    .main-navigation::-webkit-scrollbar {
        width: 2px;
    }
    .admin-bar .main-navigation {
        top: 88px;
    }
    .menu-primary-container {
        display: flex;
        width: 100%;
        min-height: 100%;
        padding: 1.5rem 1.5rem 3.5rem;
    }
    .menu-inner-box {
        display: flex;
        flex-grow: 1;
        flex-direction: column;
    }
    .nav-menu > li {
        margin: 0;
        border-bottom: 1px solid var(--color-system);
    }
    .nav-menu > li > a {
        width: 100%;
        border: 0;
        padding: 2rem 1rem;
    }
    .nav-menu li.menu-item-has-children > a {
        width: calc(100% - 2rem);
    }
    .nav-menu .sub-ctrl {
        display: inline-block;
        width: 2rem;
        height: 2rem;
        margin-top: -14px;
        text-align: center;
        vertical-align: middle;
        line-height: 2;
        transition: all 0.3s ease;
        cursor: pointer;
    }
    .nav-menu .sub-ctrl:after {
        content: "\e905";
        font: .75rem/1 'icomoon' !important;
    }
    .nav-menu li.menu-item-has-children.show > .sub-ctrl {
        transform: rotate(-180deg);
    }
    .nav-menu .sub-menu {
        position: static;
        display: none;
        width: auto;
        border: 0;
        padding: 0 0 1rem 1rem;
        box-shadow: none;
        background: transparent;
        transition: none;
        pointer-events: inherit;
        opacity: 1;
        visibility: visible;
    }
    .show-on-mobile {
        display: block !important;
    }
    .hide-on-mobile {
        display: none !important;
    }
    .title-box {
        margin-bottom: 3rem;
        font-size: 1.25rem;
    }
    .title-box .wpb_text_column br {
        display: none;
    }
    .custom-content-image {
        flex-direction: column;
        align-items: flex-start;
        font-size: 1.25rem;
    }
    .custom-content-image > * {
        flex: auto;
        width: 100%;
    }
    .custom-content-image .img-box {
        height: calc(100dvh - 56px);
    }
    .admin-bar .custom-content-image .img-box {
        height: calc(100dvh - 88px);
    }
    .custom-content-image .badge {
        top: 2rem;
        min-width: 6.25rem;
        padding: 1rem;
    }
    .custom-content-image .badge span.lg:first-child,
    .custom-content-image .badge span.lg:nth-child(3) {
        font-size: 1rem;
    }
    .custom-content-image .badge span.lg:nth-child(2) {
        font-size: 1.375rem;
    }
    .custom-content-image .badge.lg span:nth-child(2) {
        font-size: var(--size-sm);
    }
    .custom-content-image .badge.lg span.lg:first-child,
    .custom-content-image .badge.lg span.lg:nth-child(2) {
        font-size: 2rem;
    }
    .testimonials-slider {
        padding: 0;
    }
    .custom-testimonials .slick-arrow {
        position: static;
        transform: none;
    }
    .custom-testimonials .slick-arrow.slick-prev:first-child + .slick-next {
        margin-left: 1.5rem;
    }
    .custom-testimonials .slider-controls {
        margin-top: 3rem;
    }
    .icons-list + .custom-btn,
    .services-list + .custom-btn {
        margin-top: 3rem;
    }
    .teaser-boxes .flexbox > div {
        width: calc(50% - 1.5rem/2);
    }
    .logos-wrapper .flexbox {
        margin: 0 -.75rem -.75rem;
    }
    .logos-wrapper .flexbox > div {
        min-width: auto;
        margin: .75rem;
    }
    .page-nav-wrapper.has-sticky .page-nav-title {
        padding-top: .5rem;
    }
    .page-nav-wrapper.sticky .page-nav-box {
        top: 56px;
        padding: 6px 0;
        box-shadow: 0px 6px 20px 0 rgba(25, 25, 25, 0.1);
    }
    .admin-bar .page-nav-wrapper.sticky .page-nav-box {
        top: 88px;
    }
    .page-nav-title {
        margin-bottom: 1rem;
    }
    .page-nav-slider,
    .pricing-tables .flexbox,
    .pricing-tables .flexbox + .more-link {
        display: none;
    }
    .page-nav-select,
    .page-nav-select + .select2-container,
    .pricing-tables-outer-box {
        display: block;
    }
    .pricing-tables .more-link {
        margin: 2rem auto 0;
    }
}

@media all and (max-width: 782px) {
    .admin-bar .page-container {
        min-height: calc(100vh - 46px);
    }
    div#wpadminbar ~ span.select2-container,
    body.admin-bar > span.select2-container {
        padding-top: 46px !important;
    }
    .admin-bar .header-wrapper {
        top: 46px;
    }
    .admin-bar .main-navigation,
    .admin-bar .page-nav-wrapper.sticky .page-nav-box {
        top: 102px;
    }
    .admin-bar .modal-content {
        margin-top: 46px;
        overflow: visible;
    }
    .admin-bar .modal-body {
        height: calc(100dvh - 149px);
    }
}

@media all and (max-width: 767px) {
    .modal-content .calculation-list li {
        display: block;
    }
    .modal-content .calculation-list li div:first-child {
        width: 100%;
        margin-bottom: .5rem;
        padding: 0;
    }
    .custom-btn,
    .btn.vc_btn3-container,
    a.more-link,
    .more-link.vc_btn3-container {
        display: block;
        width: 100%;
    }
    a.more-link,
    .more-link.vc_btn3-container .vc_general.vc_btn3 {
        justify-content: flex-start;
        padding: .688rem .5rem;
    }
    .more-link.vc_btn3-container .vc_general.vc_btn3.vc_btn3-icon-right:not(.vc_btn3-o-empty) {
        padding-right: .5rem;
    }
    .more-link.vc_btn3-container .vc_general.vc_btn3.vc_btn3-icon-left:not(.vc_btn3-o-empty) {
        padding-left: .5rem;
    }
    .btn.vc_btn3-container .vc_general.vc_btn3 {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .btn.vc_btn3-container .vc_general.vc_btn3.vc_btn3-icon-right:not(.vc_btn3-o-empty) {
        padding-right: 1.5rem;
    }
    .btn.vc_btn3-container .vc_general.vc_btn3.vc_btn3-icon-left:not(.vc_btn3-o-empty) {
        padding-left: 1.5rem;
    }
    .btn.vc_btn3-container .vc_general.vc_btn3 .vc_btn3-icon {
        position: static;
        margin: -2px .75rem 0 0;
        transform: none;
    }
    .custom-content-image .img-box {
        max-height: 27.25rem;
    }
    .icons-list.two-columns {
        column-count: 1;
    }
    .icons-list.two-columns li {
        margin-bottom: 2rem;
    }
    .icons-list.three-columns li,
    .teaser-boxes .flexbox > div,
    .awards-list li,
    .step-by-step-list li,
    .icons-list + .custom-btn,
    .services-list + .custom-btn {
        width: 100%;
    }
    .awards-list {
        gap: 3rem;
    }
    .services-list {
        flex-direction: column;
        align-items: stretch;
    }
    .step-by-step-list {
        flex-direction: column;
        gap: 0;
    }
    .step-by-step-list li:not(:last-child) {
        padding-bottom: 6rem;
    }
    .step-by-step-list li:before {
        content: none;
    }
    .step-by-step-list li:after {
        width: 1px;
        height: 3rem;
        top: auto;
        right: 50%;
        bottom: 1.5rem;
    }
    .back-to-top.custom-btn {
        bottom: 5rem;
        display: inline-block;
        width: auto;
        padding: .688rem 1rem;
    }
    .back-to-top.custom-btn span {
        display: none;
    }
    .back-to-top.custom-btn i {
        margin: 0;
    }
    .footer-content {
        padding: 1.5rem 0;
    }
    .footer-menu {
        flex-direction: column;
    }
    .footer-menu li {
        margin: 0 0 .75rem;
    }
}

@media all and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
}

@media all and (max-width: 430px) {

}

@media all and (max-width: 393px) {

}

@media all and (max-width: 361px) {

}