body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    scroll-snap-type: y mandatory;
}

.full-screen {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    scroll-snap-align: start;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 800;
    src: url(../fonts/montserrat.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    font-display: block;
  }

.montserrat-roman {
  font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.montserrat-italic {
    font-family: "Montserrat", serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: italic;
}

.typed::after{
    content: "_";
    animation: blink .75s step-end infinite;
}

@keyframes blink {
    from, to { color: transparent }
    50% { color: rgba(245, 245, 245) }
}

.fade-in {
    visibility: hidden;
    opacity: 0;
}
.fade-in.visible {
    visibility: visible;
    opacity: 1;
    transition: opacity 1s ease-in-out;
}

.btn-black {
    color: grey;
    border-color: grey;
    border-width: 2px;
}
.btn-black:hover, .btn-black:active {
    color: white!important;
    border-color: white!important;
}

.transparent-hover {
    opacity: 0.85;
    transition: opacity 0.1s ease;
}

.transparent-hover:hover {
    opacity: 1;
}
