html,
body {
    overflow-x: hidden;
}

body {
    margin: 0;
    /* opacity: 0.7; */
    min-height: 100vh;
    position: relative;
    isolation: isolate;
}

/* Two background layers */
/* body::after { */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 1;
    transition: opacity 1.2s ease-in-out;
    z-index: -1;
}

/* Layer images come from CSS variables */
body::before {
    background-image: var(--bg1);
}

body::after {
    background-image: var(--bg2);
}

/* Which layer is currently visible */
body.show-bg1::before {
    opacity: 1;
}

body.show-bg2::after {
    opacity: 1;
}

h2 {
    color: #fff;
    font-family: "Times New Roman";
}

.main-nav-bar {
    display: flex;
    text-align: right;
    align-items: flex-end;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.main-ul {
    padding: 4px;
    align-items: center;
    justify-content: center;
    width: 45% !important;
}

.main-ul li {
    width: 20% !important;
    font-size: 20px;
    text-align: left;
    text-align: center;
}

.main-ul li a:hover {
    color: #f2f1f1;
    padding-top: 10px;
}







/* LOGO */
.navbar-brand.logo,
.navbar-brand.logo:hover,
.navbar-brand.logo:focus,
.navbar-brand.logo:active {
    color: #f5f5f5 !important;
    text-decoration: none;
}

.logo {
    display: inline-block;
    cursor: pointer;
    transition: opacity .25s ease, transform .25s ease;
}

.logo:hover {
    opacity: .60;
}

/* NAV LINKS ONLY */
.navbar-nav .nav-link {
    position: relative;
    color: #f5f5f5;
    text-decoration: none;
    transition: color .2s ease;
}

.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: rgba(255, 255, 255, .85);
    transform: translateX(-50%);
    transition: width .25s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link:focus::after {
    width: 100%;
}

.container-fluid {
    display: flex;
    height: 100%;
}

.logo {
    cursor: pointer;
    transition: opacity .25s ease, transform .25s ease;
}

.logo,
.logo:focus,
.logo:active {
    color: #f5f5f5 !important;
    text-decoration: none;
}

.logo-title strong {
    letter-spacing: 1.4px;
}

.logo-title,
.logo-subtitle,
.navbar a {
    text-shadow: 0 2px 6px rgba(0, 0, 0, .55);
}


.hero {
    position: relative;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;

    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0.18) 0%,
            rgba(0, 0, 0, 0.08) 16%,
            rgba(0, 0, 0, 0.03) 30%,
            rgba(0, 0, 0, 0) 45%);
}

.hero>* {
    position: relative;
    z-index: 1;
}



.logo-font {
    font-weight: 600;
    text-align: center;
    font-size: 30px;
    font-family: 'Arial Narrow', sans-serif;
}

.bp-rules {
    font-size: 22px;
    font-weight: 500;
}

.text-color {
    /* color: #2a2a29; */
    color: #f5f5f5;
}

.navbar {
    min-height: 72px;
}

.brand {
    /* border-radius: 25px; */
    padding: 7px 1px;
    align-items: center;
    /* box-shadow: 3px 3px #494949; */
    background-color: transparent;
}

.brand p {
    margin: 0;
    padding: 0;
    width: 100%;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    font-family: "Buda", sans-serif;
}

/* .brand a {
    display: inline-block;
    text-align: center;
} */
/* 
.brand a:hover {
    color: #a00;
} */

/* .has-sub {
    position: relative;
}

.submenu {
    padding: 10px 20px;
    list-style: none;
    border-radius: 5px;
    background-color: rgb(164, 163, 163);

    position: absolute;
    KEY: remove from layout flow
    top: 100%;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    flex-direction: column;

    text-align: left;
    align-items: flex-start;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
} */


@media (hover: hover) {
    .has-sub:hover .submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

@keyframes bgFadeIn {
    to {
        opacity: 1;
    }
}

/***************************************************/
/*                                                  /
/*                 F  O  N  T  S                    /
/*                                                  /
/***************************************************/
.grenze-medium {
    font-family: "Grenze", serif;
    font-weight: 500;
    font-style: normal;
}

.grenze-semibold {
    font-family: "Grenze", serif;
    font-weight: 600;
    font-style: normal;
}

.grenze-bold {
    font-family: "Grenze", serif;
    font-weight: 700;
    font-style: normal;
}

.grenze-extrabold {
    font-family: "Grenze", serif;
    font-weight: 800;
    font-style: normal;
}

.grenze-black {
    font-family: "Grenze", serif;
    font-weight: 900;
    font-style: normal;
}

.grenze-medium-italic {
    font-family: "Grenze", serif;
    font-weight: 500;
    font-style: italic;
}

.grenze-semibold-italic {
    font-family: "Grenze", serif;
    font-weight: 600;
    font-style: italic;
}

.grenze-bold-italic {
    font-family: "Grenze", serif;
    font-weight: 700;
    font-style: italic;
}

.grenze-extrabold-italic {
    font-family: "Grenze", serif;
    font-weight: 800;
    font-style: italic;
}

.grenze-black-italic {
    font-family: "Grenze", serif;
    font-weight: 900;
    font-style: italic;
}

.jura-700 {
    font-family: "Jura", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.dancing-script-700 {
    font-family: "Dancing Script", cursive;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.gabarito-font {
    font-family: "Gabarito", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

.text-size {
    font-size: 32px;
}