:root {
    --darkblueAccent: #1e2966;
    
    --darkblue: #0d0790;
    --darkblue40: #0d079066;

    --blueAccent: #0151ca;

    --blue: #4987ff;
    --blue60: #4987ff99;
    --blue80: #4987ffCC;

    --lightblue: #91cdff;
    --lightblue40: #91cdff66;
    --lightblue60: #91cdff99;
    --lightblue80: #91cdffCC;

    --yellow: #fef188;

    --gold: #fdbc23;

    --white: #FFFFFF;
    --black: #000000;
}

/* Fonts */
@font-face {
    font-family: Maragsa;
    src: url(../../Assets/Fonts/Maragsa-Display__V2.5.otf);
}
@font-face {
    font-family: Caveat;
    src: url(../../Assets/Fonts/Caveat-VariableFont_wght.ttf);
}
@font-face {
    font-family: Avenir;
    font-style: normal;
    src: url(../../Assets/Fonts/Avenir_Regular.ttf);
}
@font-face {
    font-family: Avenir;
    font-weight: bold;
    src: url(../../Assets/Fonts/Avenir_Heavy.ttf);
}
@font-face {
    font-family: Roboto;
    font-style: normal;
    src: url("../../Assets/Fonts/Roboto-VariableFont_wdth\,wght.ttf");
}
@font-face {
    font-family: Roboto;
    font-style: italic;
    src: url("../../Assets/Fonts/Roboto-Italic-VariableFont_wdth\,wght.ttf");
}
@font-face {
    font-family: PlayfairDisplay;
    font-style: normal;
    src: url("../../Assets/Fonts/PlayfairDisplay-VariableFont_wght.ttf");
}
@font-face {
    font-family: PlayfairDisplay;
    font-style: italic;
    src: url("../../Assets/Fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf");
}

/* Basic Classes */
article {
    overflow:hidden;
}

/* Others */
body, html {
    padding: 0px;
    margin: 0px;

    scroll-behavior: smooth;

    scroll-snap-type: y proximity;
    scroll-padding-top: 10rem;
}
h1, h2 {
    font-family: Maragsa;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
}
.active {
    text-decoration: underline !important;
}
.disabled {
    cursor: not-allowed !important;
}

header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;

    position: sticky;
    top: 0;

    height: 10rem;
    width: 100%;

    padding: 0;

    font-family: Maragsa;
    font-size: 1.3rem;
    color: var(--darkblue);

    backdrop-filter: blur(20px);

    z-index: 999;
}
header section {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    width: 100%;
    height: 5rem;

    box-sizing: border-box;

    gap: 0.75rem;

    background-color: var(--lightblue);
}
header section h1 {
    font-size: 1.3rem;
    letter-spacing: 0.1em;
}
header section h1 span {
    font-size: 1.8rem;
}
header section img {
    height: 4rem;
}
header .hamburger {
    display: none;
}
header nav {    
    display: flex;
    flex-direction: row;
    justify-content: space-between;

    position: relative;

    width: 100%;
    height: 5rem;

    padding: 0px 0.5rem;

    box-sizing: border-box;

    background-color: var(--lightblue80);
}
header .navbutton {
    display: flex;
    justify-content: center;
    align-items: center;

    background: transparent;
    border: 0;

    user-select: none;
    cursor: pointer;
}
.nav-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    margin: 0;
    padding: 0;

    list-style: none;
    gap: 1.5em;
    
    transition: opacity 200ms ease-in-out;
}
.nav-link li {
    position: relative;

    line-height: 1.5;
}
.nav-link li + li::before {
    position: absolute;
    left: -0.75em;
    transform: translateX(-50%);

    content: ".";
}
.nav-link li a {
    text-decoration: none;

    white-space: nowrap;

    color: var(--darkblue);
}
.nav-link.hidden {
    display: none;
    visibility: hidden;
}

article {
    position: relative;
    height: calc(100vh - 10rem);

    padding: 2rem;
    box-sizing: border-box;

    scroll-snap-align: start;
}
.articleTop {
    background-image: url(../../Assets/Backgrounds/Background1.jpeg);

    background-repeat: no-repeat;
    background-size: cover;
    background-position-y: bottom;
}
.articleMid {
    background-image: url(../../Assets/Backgrounds/Background2.jpeg);

    background-repeat: no-repeat;
    background-size: cover;
    background-position-y: bottom;
}
.articleBot {
    background-image: url(../../Assets/Backgrounds/Background3.jpeg);

    background-repeat: no-repeat;
    background-size: cover;
    background-position-y: top;
}

footer {
    display: flex;
    flex-direction: column;

    justify-content: space-between;

    gap: 2rem;

    min-height: calc( (100vh - 5rem) / 4 );

    padding: 1.5rem;

    font-size: 1.1em;
    color: var(--black);

    background-color: var(--lightblue80);
}
footer div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;

    gap: 1rem;
}
footer h2 {
    margin: 0;

    font-family: Maragsa;
    font-size: 1.5em;
    color: var(--darkblue);

    text-align: center;

    align-self: center;
}
footer li {
    background: url(../../Assets/Images/Icons/Phone.png) no-repeat left center;
    background-size: 1.2em;

    padding-left: 2em;

    margin-bottom: 0.3em;
}
footer ul {
    margin: 0;
    padding: 0;

    font-size: 1rem;

    list-style: none;
}
footer ul a {
    color: var(--black);
}
footer > a {
    align-self: center;
}

body, html {
    overflow-x: clip !important;
    overflow-y: visible !important;
}