/* =========================================================
   NOVANA - Responsive Styles
   ========================================================= */

/* -------------------------
   Large screens
   ------------------------- */
@media (max-width: 1200px) {

    .container {
        width: 92%;
        max-width: 1140px;
        margin: 0 auto;
    }

}


/* -------------------------
   Tablet
   ------------------------- */
@media (max-width: 992px) {

    html {
        font-size: 15px;
    }

    .container {
        width: 90%;
    }

    /* Navbar */

    .navbar {
        position: relative;
    }

    .navbar-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 300px;
        max-width: 85%;
        height: 100vh;

        background: #fff;

        display: flex;
        flex-direction: column;
        align-items: stretch;

        padding: 90px 24px 30px;

        transition: right 0.3s ease;
        z-index: 999;
    }

    .navbar-menu.active {
        right: 0;
    }

    .navbar-menu ul {
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }

    .navbar-menu li {
        width: 100%;
    }

    .navbar-menu a {
        display: block;
        width: 100%;
        padding: 12px 8px;
    }

    .menu-toggle {
        display: flex;
    }

    /* Generic sections */

    section {
        padding-top: 70px;
        padding-bottom: 70px;
    }

}


/* -------------------------
   Mobile
   ------------------------- */
@media (max-width: 768px) {

    html {
        font-size: 14px;
    }

    body {
        overflow-x: hidden;
    }

    .container {
        width: 92%;
    }

    /* Navbar */

    .navbar {
        min-height: 68px;
    }

    .navbar-logo img {
        max-height: 40px;
        width: auto;
    }

    .navbar-actions {
        gap: 8px;
    }

    /* Titles */

    h1 {
        font-size: 2rem;
        line-height: 1.5;
    }

    h2 {
        font-size: 1.6rem;
        line-height: 1.5;
    }

    h3 {
        font-size: 1.25rem;
    }

    p {
        line-height: 1.9;
    }

    /* Sections */

    section {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    /* Buttons */

    .btn,
    button {
        min-height: 44px;
    }

    /* Generic grid */

    .grid {
        grid-template-columns: 1fr;
    }

    /* Footer */

    .footer-content {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

}


/* -------------------------
   Small Mobile
   ------------------------- */
@media (max-width: 576px) {

    html {
        font-size: 13.5px;
    }

    .container {
        width: calc(100% - 32px);
    }

    section {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    h1 {
        font-size: 1.8rem;
    }

    h2 {
        font-size: 1.45rem;
    }

    /* Mobile menu */

    .navbar-menu {
        width: 280px;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Buttons */

    .btn-group {
        flex-direction: column;
        width: 100%;
    }

    .btn-group .btn {
        width: 100%;
        text-align: center;
    }

}


/* -------------------------
   Very Small Mobile
   ------------------------- */
@media (max-width: 380px) {

    .container {
        width: calc(100% - 24px);
    }

    h1 {
        font-size: 1.65rem;
    }

    h2 {
        font-size: 1.35rem;
    }

}


/* =========================================================
   Accessibility
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

}