:root {
    --orange-main: orange;
    --orange-dark: rgb(230, 145, 5);
    --orange-secondary: rgb(248, 178, 48);
    --orange-light: rgb(255, 195, 84);
}

.text-justify {
    text-align: justify;
}

.text-orange {
    color: var(--orange-dark);
}

.link-orange {
    color: var(--orange-dark);

    &:hover {
        color: var(--orange-main);
        font-weight: 500;
    }

    &:focus {
        color: var(--orange-secondary)
    }
}

.link-secondary-emphasis {
    color: var(--bs-secondary-text-emphasis);

    &:hover, &:active, &:focus {
        color: var(--bs-body-bg-rgb) !important;
        font-weight: 500;
    }

    &:focus {
        color: white;
    }
}

.whatsapp {
    z-index: 9998;
    top: 42%;
    right: 10px;
    position: fixed;
    width: 48px;
    height: 48px;

    & a {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #13b045;
    }

    & i {
        color: white;
        font-size: 28px;
        margin-top: 1px;
    }

    @media (min-width: 576px) {
        width: 50px;
        height: 50px;

        & i {
            font-size: 30px;
        }
    }

    @media (min-width: 768px) {
        width: 54px;
        height: 54px;

        & i {
            font-size: 32px;
        }
    }

    @media (min-width: 992px) {
        width: 56px;
        height: 56px;

        & i {
            font-size: 33px;
            margin-top: 0;
        }
    }

    @media (min-width: 1200px) {
        width: 58px;
        height: 58px;

        & i {
            font-size: 34px;
        }
    }

    @media (min-width: 1400px) {
        width: 60px;
        height: 60px;

        & i {
            font-size: 35px;
        }
    }
}

.loading-screen {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #161719;
    color: rgba(255, 255, 255, 0.829);

    .loading-spinner {
        width: 120px;
        height: 120px;
        font-size: 20px;
        color: var(--orange-main);
    }
}

.navbar .navbar-nav.nav-underline .nav-link {
    font-weight: 600;
    padding-inline: 0;

    &:hover {
        border-color: var(--orange-dark);
    }

    &.active {
        color: var(--orange-dark);
    }

    &.dropdown-toggle {
        border: 0;
        cursor: pointer;
    }
}

.navbar .navbar-nav .nav-item.dropdown {
    & .dropdown-menu {
        display: block;
        visibility: hidden;
        opacity: 0;
        margin-top: 20px;
        transition: all 0.3s;
    }

    &:hover .dropdown-menu,
    &:focus .dropdown-menu,
    &:active .dropdown-menu {
        visibility: visible;
        opacity: 1;
        margin-top: 0;
    }

    & .dropdown-menu {
        &.arrow-up::before {
            content: "";
            bottom: 100%;
            left: 30%;
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border: 6px solid transparent;
            border-bottom-color: var(--bs-secondary-color);
        }

        & .dropdown-item:hover:not(.active),
        & .dropdown-item:active:not(.active),
        & .dropdown-item:focus:not(.active) {
            background-color: #f8f9fa;
            color: #212529;
        }

        & .dropdown-item.active {
            background-color: var(--orange-main);
            color: white !important;
        }
    }
}

.navbar.navbar-transparent {
    .navbar-toggler {
        color: white;
        border-color: white;
    }

    .bi-list,
    .vr,
    .theme-icon {
        color: white;
    }

    /* offcanvas yokken */
    @media (min-width: 768px) {
        .nav-link {
            color: white;
        }

        .dropdown-menu {
            background-color: white !important;

            &.arrow-up::before {
                border-bottom-color: white !important;
            }
        }

        .dropdown-menu .dropdown-item {
            color: #212529 !important;

            &:hover, &:active, &:focus {
                background-color: #e2e3e5 !important;
            }
        }
    }
}

.navbar .offcanvas {
    width: 75%;

    @media (min-width: 576px) {
        width: 50%;
    }
}

.navbar .navbar-logo {
    width: 190px;

    @media (min-width: 576px) {
        width: 220px;
    }

    @media (min-width: 768px) {
        width: 23vw;
    }

    @media (min-width: 992px) {
        width: 22vw;
    }

    @media (min-width: 1100px) {
        width: 21vw;
    }

    @media (min-width: 1200px) {
        width: 19vw;
    }

    @media (min-width: 1400px) {
        width: 17vw;
    }

    @media (min-width: 1600px) {
        width: 16vw;
    }

    @media (min-width: 1800px) {
        width: 15vw;
    }
}

.color-section-img {
    width: 90%;

    @media (min-width: 576px) {
        width: 90%;
    }

    @media (min-width: 768px) {
        width: 100%;
    }

    @media (min-width: 992px) {
        width: 85%;
    }

    @media (min-width: 1100px) {
        width: 85%;
    }

    @media (min-width: 1200px) {
        width: 80%;
    }

    @media (min-width: 1400px) {
        width: 65%;
    }
}

footer {
    font-size: 15px;

    & h5 {
        font-size: 18px;
    }

    @media (min-width: 768px) {
        font-size: 15.5px;

        & h5 {
            font-size: 18.5px;
        }
    }

    @media (min-width: 992px) {
        font-size: 16px;

        & h5 {
            font-size: 19px;
        }
    }

    @media (min-width: 1200px) {
        & h5 {
            font-size: 20px;
        }
    }
}

footer .social-media-list {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    height: 100%;
    font-size: 20px;
    padding: 0;

    @media (min-width: 768px) {
        justify-content: end;
    }

    @media (min-width: 992px) {
        font-size: 20.5px;
    }

    @media (min-width: 1100px) {
        font-size: 21px;
    }

    @media (min-width: 1200px) {
        font-size: 21.5px;
    }

    @media (min-width: 1400px) {
        font-size: 22px;
    }
}

footer .footer-container {
    padding-top: 30px;
    padding-bottom: 25px;

    @media (min-width: 768px) {
        padding-top: 30px;
        padding-bottom: 15px;
    }
}

footer .footer-logo {
    width: 140px;
    height: 80px;
    
    @media (min-width: 992px) {
        width: 145px;
        height: 85px;
    }
    
    @media (min-width: 1200px) {
        width: 150px;
        height: 85px;
    }
}

.carousel-indicators button {
    background-color: white !important;

    &.active {
        background-color: var(--orange-main) !important;
    }
}

.carousel-control-prev i,
.carousel-control-next i {
    font-size: 7vw;

    @media (min-width: 576px) {
        font-size: 6vw;
    }

    @media (min-width: 768px) {
        font-size: 5vw;
    }

    @media (min-width: 992px) {
        font-size: 4.5vw;
    }

    @media (min-width: 1200px) {
        font-size: 3.7vw;
    }

    @media (min-width: 1400px) {
        font-size: 3vw;
    }
}

.carousel-item {
    height: 65vh;

    @media (min-width: 576px) {
        height: 70vh;
    }

    @media (min-width: 768px) {
        height: 70vh;
    }

    @media (min-width: 992px) {
        height: 75vh;
    }

    @media (min-width: 1200px) {
        height: 75vh;
    }

    @media (min-width: 1400px) {
        height: 80vh;
    }
}

.carousel-item .overlay-image {
    height: 100%;
    background-position: center;
    background-size: cover;
    filter: brightness(0.5);
}

.carousel-item .carousel-caption {
    height: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5vw;

    .carousel-caption-text {
        color: white !important;
        font-size: 6vw;
    }

    .carousel-caption-subtext {
        color: white !important;
        font-style: italic;
        font-weight: 500;
        font-size: 3.5vw;
    }

    @media (min-width: 576px) {
        .carousel-caption-text {
            font-size: 5vw;
        }

        .carousel-caption-subtext {
            font-size: 3.1vw;
        }
    }

    @media (min-width: 676px) {
        .carousel-caption-text {
            font-size: 4.4vw;
        }

        .carousel-caption-subtext {
            font-size: 2.7vw;
        }
    }

    @media (min-width: 768px) {
        .carousel-caption-text {
            font-size: 3.7vw;
        }

        .carousel-caption-subtext {
            font-size: 2.3vw;
        }
    }

    @media (min-width: 868px) {
        .carousel-caption-text {
            font-size: 3.4vw;
        }

        .carousel-caption-subtext {
            font-size: 2vw;
        }
    }

    @media (min-width: 992px) {
        .carousel-caption-text {
            font-size: 3.1vw;
        }

        .carousel-caption-subtext {
            font-size: 1.8vw;
        }
    }

    @media (min-width: 1200px) {
        .carousel-caption-text {
            font-size: 2.5vw;
        }

        .carousel-caption-subtext {
            font-size: 1.4vw;
        }
    }

    @media (min-width: 1300px) {
        .carousel-caption-text {
            font-size: 2.4vw;
        }

        .carousel-caption-subtext {
            font-size: 1.3vw;
        }
    }

    @media (min-width: 1400px) {
        .carousel-caption-text {
            font-size: 2.3vw;
        }

        .carousel-caption-subtext {
            font-size: 1.3vw;
        }
    }

    @media (min-width: 1600px) {
        .carousel-caption-text {
            font-size: 2.1vw;
        }

        .carousel-caption-subtext {
            font-size: 1.1vw;
        }
    }
}

.section-header {
    display: inline-block;

    &::before {
        content: "";
        float: left;
        width: 50px;
        height: 3px;
        margin-top: 15px;
        margin-right: 10px;
        background-color: var(--orange-main);
    }

    &::after {
        content: "";
        float: right;
        width: 50px;
        height: 3px;
        margin-top: 15px;
        margin-left: 10px;
        background-color: var(--orange-main);
    }

    @media (min-width: 576px) {

        &::before,
        &::after {
            margin-top: 16px;
        }
    }

    @media (min-width: 768px) {

        &::before,
        &::after {
            margin-top: 17px;
        }
    }

    @media (min-width: 992px) {

        &::before,
        &::after {
            margin-top: 17.5px;
        }
    }

    @media (min-width: 1200px) {

        &::before,
        &::after {
            margin-top: 18.5px;
        }
    }

    @media (min-width: 1400px) {

        &::before,
        &::after {
            margin-top: 18.5px;
        }
    }
}

.section-container-margin {
    margin-top: 6.5vh;
    margin-bottom: 11vh;
}

.hover-scale {
    transition: all 0.2s ease;

    &:hover {
        transform: scale(1.05);
    }
}

.reference-height {
    height: 130px;

    @media (min-width: 576px) {
        height: 140px;
    }

    @media (min-width: 768px) {
        height: 145px;
    }

    @media (min-width: 992px) {
        height: 150px;
    }

    @media (min-width: 1200px) {
        height: 150px;
    }

    @media (min-width: 1400px) {
        height: 155px;
    }
}

.gallery-item {
    position: relative;

    & .gallery-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.8);
        color: white;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 20px;
        z-index: 1;
        opacity: 0;
        transition: opacity 0.5s ease;
    }

    &:hover .gallery-overlay {
        opacity: 1;
    }
}

.google-map {
    border: 0;
    border-radius: 16px;
}

[data-bs-theme=dark] {
    .text-orange {
        color: var(--orange-main);
    }

    .link-orange {
        color: var(--orange-main);

        &:hover {
            color: var(--orange-secondary);
        }

        &:focus {
            color: var(--orange-light)
        }
    }

    .navbar .navbar-nav.nav-underline .nav-link {
        &:hover {
            border-color: var(--orange-main);
        }

        &.active {
            color: var(--orange-main);
        }
    }

    .google-map {
        filter: invert(0.9);
    }

    .navbar .navbar-nav .nav-item.dropdown {

        & .dropdown-menu {

            & .dropdown-item:hover:not(.active),
            & .dropdown-item:active:not(.active),
            & .dropdown-item:focus:not(.active) {
                background-color: #2b3035;
                color: #dee2e6;
            }
        }
    }
}
