@import "fonts.css";
@import "variables.css";

._font-brother-1816 {
    font-family: "brother-1816", sans-serif;
    font-weight: 300;
    font-style: normal;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

html,
body {
    overflow-x: hidden;
    font-family: var(--font-body-family);
    font-weight: bold;
    font-style: normal;
    font-size: 14px;
    color: rgb(var(--pantone-primary-color));
}

a,
a:focus {
    text-decoration: none;
    color: inherit;
}

img {
    width: auto;
    max-width: 100%;
    object-fit: cover;
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-heading-family);
    font-optical-sizing: auto;
    text-transform: uppercase;
    font-style: normal;
    /* font-size: 3.75rem; */
    color: inherit;
}

/* REUSABLE CLASSES */
.container {
    width: 100%;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.btn {
    border: 0;
    background: transparent;
    padding: 15px 30px;
    border-radius: 4px;
    border: 0;
    transition: all .3s ease;
    font-size: 14px;
    font-family: 'Helvetica Neue', sans-serif;
}

.font-primary {
    font-family: "FinalSix_Medium", sans-serif;
}

.font-primary-thin {
    font-family: "FinalSix_Thin", sans-serif;
}

.font-secondary-light-italic {
    font-family: "bilbao-lightitalic", sans-serif;
}

.text-pantone {
    color: rgb(var(--pantone-primary-color));
}

.bg-pantone {
    background-color: rgb(var(--pantone-primary-color));
}

/* LOADER SECTION */
.loader {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    padding: 0 30px;
    z-index: 9999;
    transition: opacity 0.5s ease-out;
}

/* Form Loader */
.f_loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.f_loader {
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #48A23F;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* HEADER SECTION */

/* header.scrolled svg,
header.mobile-displayed svg {
    fill: #707070 !important;
} */

.mobil__menu {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: .93rem;
    
    button.btn__menu {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3px;
        width: 24px;
        height: 24px;
      
        &:after,
        &:before {
            content: '';
            display: block;
            height: 0;
            border-bottom: 2px solid currentColor;
            width: 16px;
            transition: all ease-out 0.3s;
        }
      
        i {
            display: block;
            text-indent: 100%;
            overflow: hidden;
            white-space: nowrap;
            height: 2px;
            background-color: currentColor;
            width: 16px;
            transition: all ease-out 0.1s;
        }
    }
}

.mobile-displayed .btn__menu {
    &:after {
        transform: rotate(-45deg);
        transform-origin: center;
        position: absolute;
        top: 50%;
    }
    
    &:before {
        transform: rotate(45deg);
        transform-origin: center;
        position: absolute;
        top: 50%
    }
    
    i {
        opacity: 0;
    }
}

/* CARROUSEL SECTION */

/* MODAL SECTION */
.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    min-width: 300px;
}
.modal.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}
.modal.success {
    border-top: 5px solid #48A23F;
}
.modal.error {
    border-top: 5px solid #FF3B3B;
}
.close-btn {
    color: #ffffff;
    cursor: pointer;
    background-color: #48A23F;
    text-transform: uppercase;
}

/* MENU MOBILE */
@media (max-width: 1022px) {
    .navbar__menu {
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        transform: translateY(-140%);
        z-index: 20;
        transition: transform 0.3s cubic-bezier(.68,-0.55,.27,1.55);
    }

    .mobile-displayed .navbar__menu {
        transform: translateY(0%);
    }
}
