/*!
Theme Name: destinewood
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: destinewood
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

destinewood is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
    scroll-behavior: smooth;
}

.header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    padding: 15px 0;
}

.header.has-sticky {
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.09);
    background: #06121f;
    z-index: 999;
    animation: smoothSlideDown 0.7s ease forwards;
}


@keyframes smoothSlideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}


.container {
    max-width: 1340px;
    padding: 0 30px;
    margin: 0 auto;
}

.site-logo img {
    max-width: 235px;
    width: 100%;
}

.row {
    display: flex;
    flex-wrap: wrap;
}

.d-flex {
    display: flex !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.align-items-center {
    align-items: center !important;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

.col {
    flex: 1 0 0%;
}

.mb-menu-logo {
    display: none;
}

.nav-menu-main>ul {
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: center;
}

.nav-menu-main ul li a {
    font-size: 14px;
    color: rgb(255 255 255 / 85%);
    font-weight: 500;
    line-height: 1.1;
    position: relative;
    transition: all .3s ease-in-out;
}

.nav-menu-main>ul>li>a {
    padding: 14px 0;
}

.nav-menu-main ul li a:hover,
.nav-menu-main ul li.active a,
.company-links ul li.active a,
.services-links ul li.active a {
    color: #fff;
    font-weight: 600;
}

.sidebar-overlay {
    visibility: hidden;
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    background: #000;
    z-index: 998
}


@media only screen and (min-width: 992px) {
    .navbar-main .nav-menu-main ul li .arrow {
        position: relative;
        display: inline-block;
        content: "";
        width: .4375rem;
        height: .4375rem;
        border: none;
        border-bottom: 1px solid rgb(255 255 255 / 85%);
        border-right: 1px solid rgb(255 255 255 / 85%);
        transform: rotate(45deg);
        right: -7px;
        top: -2px;
        transition: border 0.4s ease-in-out;
        padding-right: 0rem;
    }

    .navbar-main .nav-menu-main ul>li>ul {
        position: absolute;
        width: 230px;
        background-color: #0b1e30f2;
        padding: 8px;
        border-radius: 16px;
        box-shadow: 0 20px 60px -20px #2bb6f673;
        backdrop-filter: blur(8px);
        z-index: 99;
        pointer-events: none;
        border: 1px solid rgb(255 255 255 / 10%);
        opacity: 0;
        visibility: hidden;
        transition: all .4s ease-in-out;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
        top: 80%;
        left: 49%;
    }

    .navbar-main .nav-menu-main ul>li:hover>ul {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@media only screen and (max-width: 991px) {
    .navigation-bar {
        position: fixed;
        width: 50%;
        min-height: 100vh;
        top: 0;
        bottom: 0;
        left: -50%;
        transition: all .6s ease-in-out;
        margin: 0;
        z-index: 9999;
        height: 100vh;
        background: #06121f;
    }

    .navigation-bar.slide-menu {
        left: 0;
    }

    .body-fixed .sidebar-overlay {
        opacity: .8;
        visibility: visible;
        left: 0;
        transition: all .6s ease-in-out;
    }

    .mb-menu-logo {
        display: block;
        padding: 1.5625rem 2.8125rem 1.5625rem 1.5625rem;
        display: block;
        width: 100%;
        border-bottom: 1px solid rgb(255 255 255 / 18%);
    }

    .mb-menu-logo .menu-logo {
        width: 210px;
        display: block;
    }

    .mb-menu-logo .close-menu {
        position: absolute;
        right: 1.25rem;
        top: 2.1875rem;
        width: 1.5625rem;
        height: 1.5625rem;
        padding: .25rem
    }

    .mb-menu-logo .close-menu:before {
        content: '';
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: .125rem;
        background: #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        margin: auto;
        bottom: 0
    }

    .mb-menu-logo .close-menu:after {
        content: '';
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: .125rem;
        background: #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin: auto;
        bottom: 0
    }

    .nav-menu-main ul li a {
        display: block;
        padding: 15px 20px;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.1;
        border-radius: inherit;
        border-bottom: 1px solid rgb(255 255 255 / 18%);
    }

    .nav-menu-main ul {
        display: block;
        padding-top: 25px;
        padding-bottom: 15px;
        margin-right: 0 !important;
    }

    .nav-menu-main {
        overflow-y: auto;
        height: calc(100vh - 5.375rem);
        min-height: calc(100vh - 5.375rem);
    }

    .navigation-bar .navbar-main .nav-menu-main>ul li {
        position: relative;
        padding: 0;
        margin-bottom: 0;
        margin-right: 0;
        width: 100%;
    }

    .navigation-bar .navbar-main .nav-menu-main>ul>li ul {
        display: none;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        left: inherit !important;
        top: inherit !important;
        width: auto !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: none !important;
    }

    .navbar-main .nav-menu-main ul li .arrow {
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
        height: 2.8125rem;
        z-index: 9;
        transform: none;
        bottom: inherit;
        border: none;
    }

    .navigation-bar .navbar-main .nav-menu-main>ul li .arrow:before {
        content: "";
        position: absolute;
        left: inherit;
        right: 25px;
        top: 0;
        bottom: 0;
        width: 12px;
        height: 12px;
        border-bottom: .125rem solid #fff;
        border-right: .125rem solid #fff;
        transform: rotate(45deg);
        margin: auto;
        transition: border .4s ease-in-out, transform .4s ease-in-out;
    }

    .navigation-bar .navbar-main .nav-menu-main>ul li .arrow.minus:before {
        transform: rotate(225deg);
        top: 10px;
    }

    .navigation-bar .navbar-main .nav-menu-main>ul>li ul li a {
        font-size: 14px;
        padding: 15px 25px;
    }
}

@media only screen and (max-width: 767px) {
    .container {
        padding: 0 15px;
    }

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

@media only screen and (max-width: 575px) {
    .navigation-bar {
        width: 100%;
        left: -100%;
    }

    .navigation-bar.slide-menu {
        left: 0;
    }

    .header-btn {
        display: none;
    }
}

.typed-cursor {
    background: var(--gradient-brand);
    color: #0000;
    -webkit-background-clip: text;
    background-clip: text;
}

.bg-gradient {
    background: linear-gradient(135deg, #2bb6f6 0%, #5be0b0 100%);
}

.our-pricing-sec .bg-transparent:hover {
    background: linear-gradient(135deg, #2bb6f6 0%, #5be0b0 100%) !important;
}

.our-pricing-sec .most-popular {
    left: 50%;
    transform: none;
}

.about-box-content {
    transform: translateY(49px);
    transition: all 0.4s ease-in-out;
}

.about-box-content p {
    transform: translateY(20px);
    transition: all 0.4s ease-in-out;
}

.about-box:hover .about-box-content {
    transform: translateY(0);
}

.about-box:hover .about-box-content p {
    transform: translateY(0);
}

.faq-minus {
    display: none;
}

.faq-item.active .faq-minus {
    display: block;
}

.faq-item.active .faq-plus {
    display: none;
}

.form-group {
    display: block;
    position: relative;
}

.form-control {
    resize: none;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    color: #000;
    background-color: #fff;
    border: 1px solid #dee6e9;
    border-radius: 12px;
    padding: 12px 16px;
    appearance: none;
}

.form-select {
    background-image: url(./assets/img/down-arrow.svg);
    background-repeat: no-repeat;
    background-position: right 23px center;
    background-size: 16px;
    padding-right: 40px;
}

.form-control::placeholder,
select:has(option:checked:first-child) {
    font-weight: 400;
    color: #8d8d8d;
}

.form-control:focus,
.form-control:focus-visible {
    border-color: #00a7e2;
    outline: none;
}

textarea.form-control {
    height: 100px;
}

.contact-btn {
    cursor: pointer;
}

.wpcf7-form-control-wrap {
    display: block
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap label.error {
    position: absolute;
    right: 0;
    top: -1.25rem;
    width: auto;
    height: auto;
    margin: 0;
    font-size: 12px !important;
    line-height: 12px !important;
    background: #fb0101;
    padding: .3125rem .3125rem .25rem !important;
    color: #fff !important
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip:after,
.wpcf7-form-control-wrap label.error:after,
.error:after {
    border-color: #fb0101 transparent transparent;
    -o-border-image: none;
    border-image: none;
    border-right: .375rem solid transparent;
    border-style: solid;
    border-width: .375rem;
    content: "";
    height: 0;
    left: .3125rem;
    position: absolute;
    bottom: -.625rem;
    width: 0;
    transform: rotate(360deg)
}

.wpcf7 form .wpcf7-response-output {
    padding: .3125rem !important;
    text-align: center !important;
    margin: 15px 0 0 !important
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #fb0101 !important;
    border-width: 1px;
    color: #fb0101 !important;
    font-size: 14px !important
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450 !important;
    border-width: 1px;
    color: #46b450 !important
}

.wpcf7 form.spam .wpcf7-response-output {
    border-color: #f56e28 !important;
    border-width: 1px;
    color: #f56e28 !important
}

.email-btn .email {
    transition: all 0.4s ease-in-out;
}

.email-btn:hover .email {
    color: #00a7e2;
}

.error404 .header,
.page-template-thank-you .header {
    position: relative;
    background-color: #06121f;
}

.error404 .header.has-sticky,
.page-template-thank-you .header.has-sticky {
    position: fixed;
}

.error-sec,
.thank-you-sec {
    height: calc(100vh - 80px);
}

.error-sec .error-con {
    text-align: center;
    max-width: 28.125rem;
    margin: auto;
}

.error-sec .error-title {
    font-size: 11.5rem;
    font-family: 'Manrope', sans-serif;
    letter-spacing: -12.1px;
    font-weight: 700;
    color: #001321;
    line-height: 1.2;
}

.error-sec .error-subtitle {
    font-size: 3.125rem;
    line-height: 1;
    color: #001321;
    font-weight: 700;
    padding-bottom: 1.25rem;
}

.thank-you-sec .thank-you-img {
    max-width: 150px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    display: block
}

@media only screen and (max-width: 1199px) {
    .hero-sec.min-h-screen {
        min-height: 70vh;
    }

    .about-box-content {
        transform: translateY(69px);
    }

    .about-box-content p {
        transform: translateY(20px);
    }

    .error-sec .error-title {
        font-size: 8.375rem;
        letter-spacing: -9px;
    }
}

@media only screen and (max-width: 991px) {
    .about-img {
        max-width: 80%;
        margin: auto;
    }

    .hero-sec.min-h-screen {
        min-height: 80vh;
    }

    .inner-service-box {
        margin-top: 80px !important;
        margin-bottom: 80px !important;
    }

    .about-box-content,
    .about-box-content p {
        transform: inherit;
    }

    .about-box-content h5 br {
        display: none;
    }

    .error-sec .error-title {
        font-size: 6.25rem;
        letter-spacing: -7px;
    }

    .error-sec .error-subtitle {
        font-size: 1.875rem;
    }

    .thank-you-sec .thank-you-img {
        max-width: 120px;
    }
}

@media only screen and (max-width: 767px) {
    .hero-sec.min-h-screen {
        min-height: auto;
    }

    .inner-service-box {
        margin-top: 50px !important;
        margin-bottom: 50px !important;
    }

    .error-sec,
    .thank-you-sec {
        height: calc(100vh - 0px);
        padding: 30px 0px;
    }

    .error-sec .error-title {
        font-size: 5rem;
        letter-spacing: -6px;
    }

    .error-sec .error-subtitle {
        font-size: 1.75rem;
    }
}

@media only screen and (max-width: 568px) {
    .about-img {
        max-width: 100%;
    }

    textarea.form-control {
        height: 80px;
    }

    .company-links {
        display: none;
    }

    .services-links ul {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .services-links ul li {
        width: calc(50% - 5px);
        padding: 0 !important;
        margin: 0 !important;
    }

    .thank-you-sec .thank-you-img {
        max-width: 5rem;
    }
}

.testimonial-slider {
    margin: 0 -12px;
}

.testimonial-slide {
    padding: 0 12px;
    height: 100%;
}

.testimonial-slide figure{
    height: 100%;
}

.slick-dots {
    display: block;
    text-align: center;
    margin-top: .625rem
}

.slick-dots li {
    width: auto;
    list-style: none;
    padding: 0 .25rem;
    display: inline-block
}

.slick-dots li button {
    font-size: 0;
    border: none;
    background: #d6d6d6;
    width: 14px;
    height: 14px;
    border-radius: 50px;
    -moz-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    cursor: pointer;
    outline: none
}

.slick-dots li.slick-active button,
.slick-dots li button:hover {
    background: linear-gradient(135deg, #2bb6f6 0%, #5be0b0 100%)
}

.slick-dots li.slick-active button {
    background: linear-gradient(135deg, #2bb6f6 0%, #5be0b0 100%);
    width: 44px
}

.testimonial-slider .slick-list,
.testimonial-slider .slick-slide>div,
.solar-tab-silde {
    height: 100%;
}

.testimonial-slider .slick-track {
    display: flex;
}

.testimonial-slider .slick-slide {
    height: inherit !important;
}


@media only screen and (max-width: 991px) {
    .slick-dots li button {
        width: 10px;
        height: 10px
    }

    .slick-dots li.slick-active button {
        width: 30px
    }
}