/**
 * ===========================
 * Table of Contents - style.css
 * ===========================
 * 01. Import Vendor
 * 02. Root Site
 * 03. Typography
 * 04. General Layout
 * 05. Navbar
 * 06. Sidebar
 * 07. Hero Banner
 * 08. About Section
 * 09. Services Section
 * 10. Event Section
 * 11. Testimonial Section
 * 12. Newsletter Container
 * 13. Button Components
 * 14. Card Components
 * 15. Accordion
 * 16. Footer
 * 17. Social Icons
 * 18. Team Section
 * 19. Join Us Section
 * 20. FAQ Section
 * 21. Why Choose Us Section
 * 22. Counter Section
 * 23. Gallery Section
 * 24. Blog Section
 * 25. Contact Section
 * 26. Form Layout
 * 27. 404 Page
 * 28. Dropdown Menu
 * 29. Swiper/Slider
 * 30. Animations
 * 31. Utilities
 * 32. Spacing
 * 33. Custom Scrollbar
 * 34. Print Styles
 * 35. Mobile Responsive
 */


/* 01. Import Vendor */

@import url('../css/vendor/bricolage-grotesue-font-family.css');
@import url('../css/vendor/font-family-inter.css');
@import url('../css/vendor/bootstrap.min.css');
@import url('../css/vendor/fontawesome.css');
@import url('../css/vendor/brands.css');
@import url('../css/vendor/regular.css');
@import url('../css/vendor/solid.css');
@import url('../css/vendor/swiper-bundle.min.css');
@import url('../css/vendor/animate.min.css');

/* 02. Root Site */

:root{
    --primary: #384B38;
    --secondary: #F5FAF6;
    --text-color: #7A7A7A;
    --accent-color-1: #FFFFFF;
    --accent-color-2: #000000;
    --accent-color-3: #fff9f9;
    --accent-color-2-transparent: #00000091;
    --accent-border-1: #EAEAEA;
    --error-text: #e63946;
    --testimonial-icon-color-twitter: #1da1f2;
    --accent-sidebar-overlay: rgba(51, 51, 51, .5);
    --accent-transparent: #FFFFFF00;
    --accent-transparent-2: rgba(51, 51, 51, .5);
    --global-border-radius-1: 10px 10px 10px 10px;
    --global-border-radius-2: 15px 15px 15px 15px;
    --font-1: "Bricolage Grotesque", sans-serif;
    --font-2: "Inter", sans-serif; 
    --fs-base: 14px;
    --fs-regular: 16px;
    --fs-regular-lg: 16.8px;
    --fs-medium: 18px;
    --fs-large: 20px;
    --fs-xl: 24px;
    --fs-1x: 25px;
    --fs-2x: 28px;
    --fs-3x: 32px;
    --fs-4x: 35px;
    --fs-5x: 44px;
    --fs-6x: 48px;
    --fs-7x: 50px;
    --fs-8x: 64px;
    --fs-9x: 76px;
    --fs-10x: 78px;
    --fs-11x: 88px;
    --fs-60: 60px;
    --fs-42: 42px;
    --fs-36: 36px;
    /* Font Weight */
    --font-weight-normal: 400;

    /* Line height */
    --lh-normal: 1em;
    --lh-relaxed: 1.2em;
    --lh-loose: 1.4em;

    /* Letter Spacing */
    --ls-5-neg: -5px;
    --ls-3-neg: -3px;
    --ls-2-neg: -2px;
    --ls-1-neg: -1px;
    --ls-default: 0px;
    --ls-12: 1.2px;
}

/* 03. Keyframes Animation */

@property --progress {
    syntax: '<integer>';
    inherits: true;
    initial-value: 0;
}

@keyframes load {
    to {
        --progress: var(var(--value))
    }
}

@keyframes ripple {
    from {
        opacity: 1;
        transform: scale3d(1, 1, 1);
        transform-origin: center;
        border-width: 0px;
    }

    to {
        opacity: 0;
        transform: scale3d(1.7, 1.7, 1.8);
        transform-origin: center;
        border-width: 13px;
    }
}

/* 04. Basic Elements */

body{
    font-family: var(--font-2);
    color: var(--primary);
}

h1 {
    font-size: var(--fs-10x);
    line-height: var(--lh-normal);
    letter-spacing: var(--ls-5-neg);
}

h2{
    font-size: var(--fs-7x);
    letter-spacing: var(--ls-3-neg);
}

h3 {
    font-size: var(--fs-3x);
    letter-spacing: var(--ls-2-neg);
}

h4 {
    font-size: var(--fs-xl);
    line-height: var(--lh-normal);
    letter-spacing: var(--ls-1-neg);
}

h5 {
    font-size: var(--fs-large);
}

h6 {
    font-size: var(--fs-medium);
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: var(--font-weight-normal);
    font-family: var(--font-1);
}

button, a{
    font-size: var(--fs-base);
    color: var(--accent-color-2);
    text-decoration: none;
    font-family: var(--font-1);
}

p {
    font-size: var(--fs-regular);
    font-family: var(--font-2);
    margin-bottom: 5px;
    color: var(--text-color);
}

a {
    font-size: var(--fs-regular);
    color: var(--primary);
    text-decoration: none;
}

ul{
    list-style: none;
}

/* 05. Basic Section */

.section {
    padding: 6em 1em 6em 1em;
}

.testimonial-section {
    padding: 8em 1em 20em 1em;
}

.team-section
{
    padding: 8em 1em 20em 1em;
    background-color: var(--secondary);
}

.team-section-small{
    padding: 8em 1em 8em 1em;
    background-color: var(--secondary);
}

.join-section{
    padding: 1em 1em 6em 1em;
    background-color: var(--secondary);
}

.pricing-section{
    padding: 6em 1em 20em 1em;
    background-color: var(--secondary)
}

.partner-section {
    padding: 4em 1em 4em 1em;
    background-color: var(--primary);
}

.section404{
    position: relative;
    z-index: 2;
    color: var(--accent-color-1);
    display: flex;
    flex-direction: column;
    gap: 1.2em;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.text404{
    font-size: var(--fs-9x) !important;
}

.section404 p{
    width: 50%;
    align-self: center;
}

.section404 i{
    font-size: var(--fs-xl);
}

/* 07. Base Container */

.hero-container {
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

.banner-heading-container{
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 70%;
    position: relative;
    z-index: 2;
}

.banner-heading-container p{
    width: 70%;
}

.text-heading-container{
    width: 50%;
}

/* 08. Color Components */

.bg-accent-primary {
    background-color: var(--primary);
}

.bg-accent-color-1{
    background-color: var(--accent-color-1);
}

.bg-accent-color-2 {
    background-color: var(--accent-color-2);
}

.bg-accent-color-3 {
    background-color: var(--accent-color-3);
}

.bg-green{
    background-color: var(--secondary);
}

.read-more {
    color: var(--accent-color-2);
    transition: all 0.5s;
}

.read-more:hover {
    color: var(--primary);
}

.bg-text-color {
    background-color: var(--text-color);
}

.accent-color-1 {
    color: var(--primary);
}

.accent-color-2 {
    color: var(--accent-color-2);
}

.accent-color-1 {
    color: var(--accent-color-1);
}

.font-1{
    font-family: var(--font-1);
}
.font-2{
    font-family: var(--font-2);
}

/* 09. Form Components */

.form-layout{
    display: flex;
    flex-direction: column;
    gap: 1.5em;;
    align-items: center;
    background-color: var(--primary);
    padding: 4em 5em;
    border-radius: var(--global-border-radius-1);
}

.form-layout p{
    width: 50%;
    text-align: center;
}

.form input,
.form textarea,
.form select {
    background-color: transparent;
    border: none;
    border-bottom: solid 1px var(--accent-color-1);
    border-radius: none;
    color: var(--accent-color-1);
    outline: none;
    font-family: var(--font-2);
    padding: 10px 26px;
    font-size: var(--fs-regular);
    width: 100%;
}

.form input:focus,
.form textarea:focus,
.form select:focus {
    box-shadow: none;
    color: var(--accent-color-1);
    border-top: 1px solid var(--accent-color-2-transparent);
    border-left: 1px solid var(--accent-color-2-transparent);
    border-right: 1px solid var(--accent-color-2-transparent);
}

.form input:autofill,
.form input:autofill:focus {
    color: var(--accent-color-1);
    transition: background-color 5000s ease-in-out;
    -webkit-text-fill-color: var(--accent-color-1);
    font-family: var(--font-2);
}

.form input::placeholder,
.form textarea::placeholder {
    color: var(--text-color);
    font-family: var(--font-2);
    font-size: var(--fs-regular);
    font-weight: 400;
}

.form label{
    font-size: var(--fs-regular-lg);
    font-weight: 500;
    text-align: start;
    color: var(--accent-color-2);
}

.form .form-select {
    color: var(--text-color-2);
}

.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="blue" class="bi bi-check-xl" viewBox="0 0 16 16"><path d="M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z"/></svg>');
}

.form input.form-check-input {
    background-color: transparent;
    border: 1px solid gray;
}

.form input.form-check-input:checked {
    border: 1px solid blue;
    color: blue;
}

input.error-border,
textarea.error-border{
    border-color: var(--primary);
}

.error-text {
    color: var(--primary);
    font-size: var(--fs-regular);
    margin-bottom: 10px;
  }

.form .submit_form:hover {
    background-color: var(--accent-color-2);
    color: var(--primary);
}

.logo-footer{
    width: 50%;
}

.success {
    color: var(--accent-color-1);
}
  
.error {
    color: var(--accent-color-1);
}  
  
.check-icon,
.cross-icon {
    font-size: var(--fs-large);
    margin-right: 10px;
}

.hidden{
    display: none;
}

/* 10. Navbar Container */

.navbar {
    position: fixed;
    width: 100%;
    background-color: transparent;
    color: white;
    z-index: 3;
}

.navbar-nav .nav-link:focus {
    color: var(--accent-color-2);
}

.nav-link {
    border-bottom: 2px solid transparent;
    font-size: var(--fs-medium);
    font-weight: 500;
    font-family: var(--font-1);
    color: var(--accent-color-1);
    padding: 0px 30px 0px 30px;
}

.nav-link:hover,
.nav-link.active,
.nav-link.show {
    color: var(--accent-color-1) !important;
    border-bottom: 1px solid var(--accent-color-1);
}

.nav-btn{
    display: none;
    padding: 5px 20px;
    background-color: var(--primary);
    color: var(--accent-color-1);
    transition: all 0.3s ease;
    font-size: var(--fs-regular);
    font-weight: 700;
    border: 1px solid var(--accent-color-1);
    border-radius: var(--global-border-radius-1);
    box-shadow: none;
}

.nav-btn:hover, 
.nav-btn:focus{
    background-color: var(--accent-color-1) ;
    color: var(--primary);
}

.dropdown-menu {
    border-radius: 0px 10px 10px 10px;
    border: none;
    padding: 1em 0em;
    width: 200px;
    position: relative;
    z-index: 4;
}

.dropdown-item {
    padding-block: 0.75rem;
    color: var(--accent-color-2);
    font-family: var(--font-1);
    font-size: var(--fs-medium);
    font-weight: 400;
    line-height: 1.4em;
    padding-inline: 0.75rem;
    position: relative;
}

.dropdown-item.active {
    color: var(--accent-color-2);
    background-color: transparent;
}

.dropdown-item:hover {
    color: var(--primary);
}

.dropdown-item:focus {
    color: var(--primary);
    background-color: var(--accent-color-1);
}

.dropdown-toggle::after {
    display: none !important;
}

/* 11. Sidebar Components */

.sidebar-overlay{
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    background: var(--accent-sidebar-overlay);
    transition: left 0.4s ease-in-out;
    z-index: 4;
}

.sidebar-overlay.active{
    left: 0;
}

.sidebar {
    position: fixed;
    top: 0;
    left: -350px;
    width: 350px;
    height: 100%;
    background: var(--secondary);
    transition: transform 0.4s ease-in-out;
    z-index: 4;
    overflow-y: auto;
    max-height: 100vh;
    padding: 0px 16px 0px 5px;
}

.sidebar.active{
    transform: translateX(350px);
}

.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 20px 20px 20px;
}

.sidebar-header .logo {
    width: 100%;
}

.close-btn {
    display: inline-block;
    justify-content: center;
    background-color: var(--primary);
    border: none;
    border-radius: 4px 4px 4px 4px;
    color: var(--accent-color-1);
    position: relative;
    font-size: var(--fs-regular);
    cursor: pointer;
    padding: 8px 18px;
}

.menu {
    list-style: none;
    padding: 0;
    margin-top: 20px;
    transition: all 0.3s;
}

.menu li {
    margin-bottom: 10px;
}

.menu a {
    color: var(--primary);
    text-decoration: none;
    padding: 10px 10px 10px 10px;
    display: block;
    border-radius: 5px;
    transition: 0.3s;
    font-size: var(--fs-regular);
    font-weight: 500;
    text-transform: capitalize;
}

.menu a:hover,
.menu a.active,
.menu a.focus {
    color: var(--accent-color-2);
    background-color: var(--accent-color-1);
}

.sidebar-dropdown .dropdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sidebar-dropdown-btn {
    background: none;
    border: 1px solid var(--accent-color-1);
    color: var(--accent-color-1);
    font-size: var(--fs-regular);
    cursor: pointer;
    padding: 0px 18px;
    border-radius: 24px;
    transition: all 0.3s ease;

}
.sidebar-dropdown .dropdown-header:hover .sidebar-dropdown-btn {
    color: var(--primary);
    border: 1px solid var(--primary)
}

.sidebar-dropdown-menu {
    list-style: none;
    padding-left: 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
    padding-top: 0;
    padding-bottom: 0;
}

.sidebar-dropdown-menu.active {
    max-height: 500px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.below-dropdown {
    transition: margin-top 0.1s ease-in-out;
    margin-top: 0px;
}

.sidebar::-webkit-scrollbar {
    width: 5px;
}

.sidebar::-webkit-scrollbar-thumb {
    background: var(--text-color);
    border-radius: 5px;
}

/* 12. Newsletter Container */

#newsletterForm {
    display: flex;
    gap: 8px;
    width: 100%;
}

#newsletterForm input {
    font-size: var(--fs-regular);
    padding: 10px 26px;
    border-radius: 30px;
    font-weight: 400;
    color: var(--accent-color-2);
}

#newsletterForm .error-text {
    color: var(--error-text);
    font-size: var(--fs-base);
    margin-top: 4px;
}

#newsletterForm .hidden {
    display: none;
}

#newsletterForm button {
    background-color: var(--primary);
    color: var(--accent-color-1);
    padding: 10px 16px;
    border: none;
    border-radius: 50%;
    font-size: var(--fs-regular);
    cursor: pointer;
    transition: background 0.3s;
    align-self: flex-start;
}

/* 13. Button Components */

.btn{
    display: inline-block;
    font-weight: 500;
    font-size: var(--fs-base);
    text-align: center;
    vertical-align: middle;
    padding: 18px 36px;
    transition: all 0.15s ease-in-out;
    border-radius: 5;
    line-height: var(--lh-normal);
    letter-spacing: var(--ls-12);
    font-family: var(--font-1);
    text-transform: uppercase;
}

.btn-accent-1{
    background-color: var(--primary);
    color: white;
    border: 1px solid var(--accent-color-1);
    transition: all 0.5s;
}

.btn-accent-2{
    background-color: var(--accent-color-2);
    color: var(--accent-color-1);
    transition: all 0.5s;
}

.btn-outline-accent-1{
    background-color: transparent;
    color: white;
    border: 1px solid var(--primary);
}

.btn-accent-1:hover{
    background-color: var(--accent-color-2);
    color: var(--accent-color-1);
    border: 1px solid var(--accent-color-1);
}

.btn-accent-2:hover{
    background-color: var(--accent-color-1);
    color: var(--accent-color-2);
    border: 1px solid var(--accent-color-2);
}

/* 14. Banner Image Component */

.banner-img-home{
    background-image: url('../image/banner-1.jpg');
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    padding: 1em 1em 1em 1em;
    z-index: 1;
}

.banner-img-home::before{
    content: '';
    position: absolute;
    background-color: var(--accent-color-2);
    opacity: 0.37;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.banner-inner{
    background-image: url('../image/CTAIMAGE123_11zon.jpg');
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
    padding: 10em 0em 6em 0em;
}

.banner-inner::before{
    content: "";
    position: absolute;
    background: var(--primary);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.banner-content{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 2;
    text-align: center;
    justify-content: center;
}

.banner-content p{
    display: flex;
    width: 50%;
    height: 100%;
    text-align: center;
    align-self: center;
}

.banner-404{
    background-image: url('../image/CTAIMAGE123_11zon.jpg');
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    padding: 16em 1em 16em 1em;
}

.banner-404::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: var(--primary);
    opacity: 0.8;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.joinus-banner{
    background-image: url('../image/CTAIMAGE123_11zon.jpg');
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
    background-position: top;
    padding: 5em 3em;
    border-radius: var(--global-border-radius-1);
    overflow: hidden;
}

.joinus-banner::before{
    content: "";
    position: absolute;
    background: var(--primary);
    opacity: 0.7;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.joinus-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    color: var(--accent-color-1);
    gap: 1em;
    z-index: 2;
}

.joinus-content p{
    width: 40%;
    color: var(--accent-color-1);
    align-self: center;
}

.banner-service{
    display: flex;
    flex-direction: row;
    gap: 1em;

}

/* 15. Logo Component */

.logo{
    width: 55%;
}

/* 16. Swiper Component */

.swiper{
    padding: 0em 0em 1.25em 0em;
}

.swiper-pagination{
    display: flex;
    justify-content: center;
    margin-top: 3em;
}

.swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    background: var(--primary);
}

.swiper-slide {
    padding: 0.5rem;
}

.swiper-slide img {
    width: 75%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--global-border-radius-1);
}

.rating-box{
    display: flex;
    background-color: var(--primary);
    min-height: 200px;
    width: 200px;
    transform: rotate(-45deg);
    border-radius: var(--global-border-radius-2);
    margin-top: -150px;
    padding: 2em;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}
.rating-box-content{
    transform: rotate(45deg);
}

.rating-box-content span{
    font-size: var(--fs-3x);
}

.stars{
    color: var(--primary);
    justify-content: center;
    align-items: center;
    text-align: center;
}


/* 17. Card Components */

.card{
    display: flex;
    border-radius: var(--global-border-radius-1);
    border: none;
}

.card-service{
    display: flex;
    flex-direction: column;
    gap: 1em;
    background-color: var(--accent-color-1);
    padding: 2em;
    border: none;
    width: 100%;
    height: 100%;
}

.service-decoration{
    position: absolute;
    top: 0;
    right: 40px;
    background-color: var(--primary);
    width: 17%;
    padding: 3em 0.7em 0.7em 0.7em;
    border-radius: 0px 0px 5px 5px;
}
.grade-card{
    position: absolute;
    top: 0;
    right: 40px;
    background-color: var(--primary);
    width: 20%;
    padding: 2em 0.7em 0.7em 0.7em;
    border-radius: 0px 0px 5px 5px;
}

.contact-icon{
    position: absolute;
    top: 0;
    right: 40px;
    background-color: var(--primary);
    width: 18%;
    padding: 3em 0.7em 0.7em 0.7em;
    border-radius: 0px 0px 5px 5px;
}

.contact-icon span{
    display: flex;
    color: var(--accent-color-1);
    justify-content: center;
}
  
.card-logging{
    background-color: var(--primary);
    display: flex;
    flex-direction: row;
    color: var(--accent-color-1);
    gap: 50px;
    margin-top: -70px;
    padding: 2em;
    z-index: 1;
}

.logging-content{
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.logging-content img{
    width: 25%;
}

.card-blog{
    position: relative;
    background-color: var(--accent-color-1);
    overflow: hidden;
    border: none;
}

.card-blog .card-body{
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding: 20px 25px;
    text-align: start;
    background-color: var(--accent-color-1);
}

.card-blog .card-footer{
    display: flex;
    flex-direction: row;
    border-top: 1px solid var(--accent-border-1);
    gap: 1em;
    font-weight: 500;
    padding: 7px 30px;
    color: black;
    font-size: var(--fs-base);
    background-color: var(--accent-color-1);
}

.card-pricing{
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    padding: 2em;
}

.price-description{
    font-size: var(--fs-medium);
    font-weight: 400;
    font-family: var(--font-1);
}

.contact-card{
    position: relative;
    display: flex;
    flex-direction: column;
    border: none;
    background-color: var(--secondary);
    padding: 3em;
    gap: 1em;
}

/* 18. Blog Post Component */

.blog-link{
    font-size: var(--fs-xl);
    color: var(--primary);
    font-weight: 400;
    line-height: var(--lh-normal);
    letter-spacing: var(--ls-1-neg);
    word-spacing: 0px;
}

.blog-container{
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
}


.post-cta{
    font-size: var(--fs-base);
    font-weight: 500;
    line-height: var(--lh-normal);
    text-transform: uppercase;
    margin-bottom: 10px;
    color: var(--primary);
}

.other-post-layout{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding: 3em;
    background-color: var(--primary);
    border-radius: var(--global-border-radius-1);
}

.other-post-layout a{
    font-size: var(--fs-large);
    color: var(--accent-color-1);
}

.other-post-layout .meta-data{
    font-size: var(--fs-base);
    font-weight: var(--font-1);
    color: var(--accent-border-1);
}

.other-post-img{
    position: relative;
    overflow: hidden;
    display: block;
    max-width: 50%;
    max-height: 100%;
    height: auto;
}

.other-post-img img{
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

/* 18. Why Choose Us Component */

.whychoose-img{
    background-image: url('../image/chooseusimage.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center right;
    width: 50%;
    border-radius: 0px 20px 0px 0px;
}

.whychoose-img .spacer{
    height: 50px;
}

.whychooseus-details{
    display: flex;
    flex-direction: column;
    width: 50%;
    padding: 6em 13em 6em 3em;
    gap: 1em;
}

/* 19. Faq Component */

.faqcontact-img{
    display: flex;
    width: 50%;
}

.faqcontact-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
    border-radius: 0px 20px 0px 0px;
}

.faqcontact-details{
    display: flex;
    flex-direction: column;
    width: 50%;
    padding: 6em 13em 6em 3em;
    gap: 1em;
}


.accordion .accordion-item {
    background-color: transparent;
    border: none;
    outline: none;
    border-radius: 0;
    border-bottom: 1px solid var(--accent-color-1);
}

.accordion .accordion-item .accordion-body {
    color: var(--accent-color-1);
    font-family: var(--font-1);
    padding: 20px 30px 30px 30px;
}

.accordion-button:focus {
    box-shadow: none;
    color: var(--accent-color-1);
}

.accordion .accordion-button {
    background-color: transparent;
    border: none;
    outline: none;
    font-family: var(--font-2);
    font-weight: 400 !important;
    font-size: var(--fs-xl);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: start;
    padding: 15px;
    color: var(--accent-color-1);
}

.accordion-button::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>');
}

.accordion-button:not(.collapsed)::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" class="bi bi-arrow-up" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 2a.5.5 0 0 1 .5.5v10.793l3.146-3.147a.5.5 0 1 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 1 1 .708-.708L7.5 13.293V2.5A.5.5 0 0 1 8 2z"/></svg>');
}

.accordion .accordion-button:not(.collapsed) {
    color: var(--text-color);
    font-weight: 400 !important;
    background-color: var(--primary);
    border: none;
    border-radius: none;
    font-weight: bold;
    box-shadow: none;
    color: var(--accent-color-1);
    outline: none;
}

.accordion-white .accordion-button:not(.collapsed) {
    color: var(--text-color);
    font-weight: 400 !important;
    background-color: transparent;
    border: none;
    border-radius: none;
    font-weight: bold;
    box-shadow: none;
    color: var(--accent-color-2);
    outline: none;
}

.accordion-white .accordion-item {
    background-color: transparent;
    border: none;
    outline: none;
    border-radius: 0;
    border-bottom: 1px solid var(--accent-color-2);
}

.accordion-white .accordion-item .accordion-body {
    color: var(--accent-color-2);
    font-family: var(--font-1);
    padding: 20px 30px 30px 30px;
}

.accordion-white .accordion-button {
    background-color: transparent;
    border: none;
    outline: none;
    font-family: var(--font-2);
    font-weight: 400 !important;
    font-size: var(--fs-xl);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: start;
    padding: 15px;
    color: var(--accent-color-2);
}

/* 20. Underline Components */

.underline-1{
    border-bottom: 1px solid var(--primary) !important;
    width: 100%;
}

.underline-gray{
    border-bottom: 1px solid var(--text-color);
}

/* 21. Icon Components */

.icon-circle {
    background-color: var(--primary);
    color: var(--accent-color-1);
    font-size: var(--fs-xl);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: all 0.3s ease-in-out;
}

.icon-circle.icon-banner{
    background-color: var(--accent-color-1);
    color: var(--primary);
    font-size: var(--fs-xl);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.social-item.invert-color {
    aspect-ratio: 1/1;
    height: 32px;
    width: 32px;;
    transition: all 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--accent-color-1);
    border: 1px solid var(--accent-color-1);
    background-color: var(--accent-transparent);
    text-decoration: none;
}

.social-item{
    background-color: var(--accent-color-1);
    color: var(--primary);
    height: 32px;
    width: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.social-container{
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 1em;
}


/* 22. Contact Components */

.contact-number.contact-banner{
    font-size: var(--fs-large);
    color: var(--accent-color-1);
    font-weight: 400;
    margin-bottom: 0;
}
.contact-number{
    font-size: var(--fs-large);
    color: var(--accent-color-2);
    font-weight: 400;
}

/* 23. Team Components */

.team-img-wrapper{
    width: 50%;
}

.team-img-wrapper img{
    width: 100%;
    height: 275px !important;
    object-fit: cover;
    object-position: top;
}

.team-details{
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--accent-color-1);
    gap: 1em;
    padding: 3em;
    width: 50%;
}

.team-details span{
    font-size: var(--fs-base);
    color: var(--primary);
    font-family: var(--font-1);
}

.social-team-container{
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 1em;
    background-color: var(--primary);
    padding: 1em;
    border-radius: 10px 10px 0px 0px;
}

.social-item.invert-color:hover{
    background-color: var(--accent-color-1);
    color: var(--primary);
}

/* 24. Counter Components */

.counter-container{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 6px;
}

.counter-box{
    padding: 2em 0em;;
    background-color: transparent;
    text-align: center;
}

.counter-text{
    text-align: center;
}

.counter-box span{
    font-size: var(--fs-11x);
    font-family: var(--font-1);
    color: var(--primary);
    font-weight: 400;
    align-content: center;
    line-height: var(--lh-relaxed);
}

/* 25. Chevron List Components */

.chevron-list {
    list-style: none;
    padding: 0;
}

.chevron-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
}
.chevron-list a {
    color: var(--accent-color-1);
    font-size: var(--fs-regular);
}

.chevron-list li::before {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--accent-color-1);
    font-size: var(--fs-base);
}

/* 26. Check List Components */

.check-list {
    list-style: none;
    padding: 0;
}

.check-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    font-family: var(--font-1);
    line-height: 1.4em;
    color: var(--accent-color-2);
    font-size: var(--fs-medium);
}

.check-list li::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--primary);
    font-size: var(--fs-regular);
}

/* 27. Cicle List Components */

.circle-list{
    list-style: none;
    padding: 0;
}

.circle-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
}

.circle-list a {
    color: var(--primary);
    font-size: var(--fs-regular);
}

.circle-list li::before {
    content: "\f058"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--primary);
    font-size: var(--fs-base);
}

/* 28. About Components */

.about-wrapper{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-left: 20px;
    z-index: 3;
    gap: 1em;
}

.about-img{
    height: 200px;
}

/* 29. Image Components */

.image-wrapper{
    padding: 10px 0px 0px 10px;
    border-radius: var(--global-border-radius-1);
    margin: 0em 0em 0em -4em;
    z-index: 2;
    background-color: var(--accent-color-1);
}

.image-container{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
}

.image-container img{
    border-radius: var(--global-border-radius-2);
    width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.blog-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
}

.blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: flex;
}

/* 30. Testimonial Components */

.testimonial-person{
    width: 60px !important; 
    height: auto;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-icon{
    font-size: var(--fs-4x);
    color: var(--testimonial-icon-color-twitter);
}

/* 31. Video Components */

.video-container{
    background-image: url('../image/CTAIMAGE123_11zon.jpg');
    padding: 10em 1em 10em 1em;
    border-radius: var(--global-border-radius-2);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: -180px;
}

.request-loader {
    position: relative;
    width: 90px;
    height: 90px;
    border-radius: 50% !important;
    border: none;
    background-color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--accent-color-1);
    font-size: var(--fs-xl);
    aspect-ratio: 1/1;
    transition: all 0.3s ease-in-out;
}

.request-loader:hover {
    border: solid 2px var(--primary);
    color: var(--accent-color-1);
    background-color: var(--accent-color-2);
}


.request-loader::after,
.request-loader::before {
    opacity: 0.2;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: absolute;
    content: '';
    height: 100%;
    width: 100%;
    color: var(--accent-color-1);
    border: 4px solid currentColor;
    border-radius: 50%;
    animation-name: ripple;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(.165, 0, .134, 1);
    z-index: 0;
}

.request-loader::after {
    animation-delay: 0.5s;
    animation-duration: 3s;
}

.request-loader::before {
    animation-delay: 0.2s;
    animation-duration: 3s;
}

.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--accent-transparent-2);
    z-index: 1050;
    justify-content: center;
    align-items: center;
}

.my-modal {
    background-color: var(--secondary);
    padding: 0;
    border-radius: none;
    position: relative;
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
}

.my-modal iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: 80vh;
}

.my-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: var(--fs-xl);
    cursor: pointer;
    font-weight: bold;
    color: var(--accent-color-1);
}

/* 32. Map Components */

.maps{
    width: 100%;
    min-height: 450px;
    filter: grayscale(100%);
}

.maps:hover{
    filter: grayscale(0);
}

/* 32. Service List Component */

.service-list {
    width: 100%;
    color: white;
}

.service-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-list li {
    padding: 10px 5px;
}

.service-list a {
    text-decoration: none;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: color 0.3s ease-in-out;
    font-size: var(--fs-regular);
    font-weight: normal;
}

/* 33. Footer Components */

.bg-footer{
    background-color: var(--primary);
}

.footer{
    border-radius: var(--global-border-radius-1);
}

.footer-list{
    list-style: none;
    padding-left: 0;
}

.footer-list li{
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;
    margin-bottom: 0.5em;
    color: var(--accent-color-1);
}

.footer-list p, 
.footer-list a{
    font-size: var(--fs-regular);
    font-weight: 400;
    color: var(--accent-color-1);
    transition: all 0.2s;
    font-family: var(--font-2);
}

/* 34. Tablet Responsive */

@media screen and (max-width: 1024px){
    h1{
        font-size: var(--fs-8x);
        letter-spacing: var(--ls-3-neg);
    }
    h2{
        font-size: var(--fs-5x);
        letter-spacing: var(--ls-1-neg);
    }
    h3 {
        font-size: var(--fs-2x);
        letter-spacing: var(--ls-1-neg);
    }
    h6{
        font-size: var(--fs-regular);
    }

    button, a{
        font-size: var(--fs-base);
    }

    .nav-btn{
        display: block;
    }

    .navbar-collapse{
        display: none;
    }

    .banner-heading-container,
    .banner-heading-container p{
        width: 100%;
    }
    .section404 p{
        width: 100%;
    }

    .banner-img-home{
        min-height: 75vh;
    }

    .accordion .accordion-button{
        font-size: var(--fs-medium);
    }
    .text-container{
        width: 100%;
    }
    .text-heading-container{
        width: 100%;
    }
    .contact-card{
        padding: 2em;
    }
    .service-decoration{
        padding-top: 2em;
        width: 25%;
    }
    .grade-card{
        width: 20%;
    }
    .contact-icon{
        width: 10%;
        right: 15px;
    }
    .logo{
        width: 70%;
    }
    .logo-footer{
        width: 25%;
    }
    .form-layout{
        padding: 4em;
    }
    .form-layout p{
        width: 70%;
    }
    .nav-link{
        font-size: var(--fs-regular);
    }
    .dropdown-item {
        padding: 15px 30px;
        font-size: var(--fs-regular);
        font-weight: 500;
    }
    .logo{
        max-width: 100%;
    }

    .text404{
        font-size: var(--fs-8x) !important;
    }

    .joinus-content p{
        width: 75%;
    }
    
    .event-banner{
        width: 100%;
    }
    .counter-box span{
        font-size: var(--fs-60);
    }

    .faq-wrapper{
        margin: 0;
    }

    .whychoose-img{
        width: 100%;
    }
    .whychoose-img .spacer{
        height: 300px;
    }
    .whychooseus-details{
        width: 100%;
        padding: 1em 1em 6em 1em;
    }
}

/* 35. Mobile Responsive */

@media screen and (max-width: 767px){
    h1{
        font-size: var(--fs-42);
        letter-spacing: var(--ls-default);
    }
    h2{
        font-size: var(--fs-36);
        letter-spacing: var(--ls-1-neg);
    }
    h6{
        font-size: var(--fs-regular);
    }
    .accordion .accordion-button{
        font-size: var(--fs-large);
    }
    .banner-img-home{
        min-height: 100vh;
    }
    .event-image{
        width: 100%;
    }
    .overlay-avatar{
        width: 85%
    }
    .about-wrapper{
        padding: 20px 0px 0px 0px;
    }
    .card-logging{
        flex-direction: column;
    }

    .text404{
        font-size: var(--fs-42) !important;
    }
    .team-details{
        padding: 2em;
        width: 100%;
    }

    .team-img img{
        height: 300px;
    }
    .team-img-wrapper{
        width: 100%;
    }

    .joinus-content P{
        width: 100%;
    }

    .banner-heading-container{
        width: 100%;
        text-align: center;
    }

    .banner-content p{
        width: 100%;
    }
    .service-decoration{
        padding-top: 1em;
        width: 20%;
        border-radius: 0px 0px 10px 10px;
    }
    .grade-card{
        padding-top: 1em;
        width: 23%;
    }
    .contact-icon{
        width: 23%;
        padding-top: 1em;
    }
    .contact-card{
        padding: 1em;
    }
    .blog-link{
        font-size: var(--fs-base);
    }
    .counter-container{
        display: flex;
        flex-direction: column;
        gap: 1em;
    }
    .counter-box{
        padding: 1em;
    }
    .whychooseus-details{
        padding-left: 1em;
        padding-right: 1em;
    }
    .rating-box-content span{
        font-size: var(--fs-3x);
    }
    .other-post-img{
        height: 100%;
    }
    .form-layout p{
        width: 100%;
    }
    .logo-footer{
        width: 50%;
    }
    .counter-box span{
        font-size: var(--fs-6x);
    }
}