@font-face {
    font-family: 'Bookmania';
    font-weight: 400;
    font-style: normal;
    src: url('../fonts/Bookmania-Regular.woff2') format('woff2');
}
@font-face {
    font-family: 'Aktiv Grotesk';
    font-weight: 700;
    font-style: normal;
    src: url('../fonts/AktivGrotesk_W_Bd.woff2') format('woff2');
}
@font-face {
    font-family: 'Aktiv Grotesk';
    font-weight: 400;
    font-style: normal;
    src: url('../fonts/AktivGrotesk_W_Rg.woff2') format('woff2');
}

:root {
  --bg: #321B34;
  --text: #321B34;
}
*,
*:before,
*:after { 
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html {
    overflow-x:hidden;
    font-size: 16px;
    scroll-behavior: smooth;
} 
body { 
    text-wrap:balance;
    background: var(--bg);
    color: var(--text); 
    font-family: 'Aktiv Grotesk', sans-serif;
    letter-spacing:1px;
}
main {
    background:#F7F5F3;
    padding:60px 0;
}
section {
    padding:120px 0;
}
@media (max-width: 991px) {
    section {
        padding:90px 0;
    }
} 
img {
    width:100%;
    height:auto;
    margin:auto;
    vertical-align:top;
}
video {
    width:100%;
    height: auto;
    vertical-align:top;
}
a {
    color:inherit;
    text-decoration:none;
    cursor:pointer;
}

h1 {
    font-size:4rem;
    font-family: 'Bookmania', serif;
    margin-bottom:30px;
    line-height:1.2;
    font-weight:normal;
}
@media (max-width: 991px) {
    h1 {
        font-size:3rem;
    }
}
@media (max-width: 767px) {
    h1 {
        font-size:2rem;
    }
}
h2 {
    font-size:2.5rem;
    font-family: 'Bookmania', serif;
    line-height:1.2;
    margin-bottom:15px;
    font-weight:normal;
}
@media (max-width: 991px) {
    h2 {
        font-size:2rem;
    }
}
@media (max-width: 767px) {
    h2 {
        font-size:1.75rem;
    }
}
h3 {
    font-size:1.5rem;
    font-weight:normal;
    margin-bottom:15px;
}
@media (max-width: 767px) {
    h3 {
        font-size:1.25rem;
    }
}
ul {
    margin-left:15px;
    margin-bottom:30px;
}
li {
    margin-bottom:5px;
}
p {
    margin-bottom:30px;
}
input,
select,
textarea {
    display:block;
    width:100%;
    max-width:450px;
    margin-bottom:15px;
    padding:15px;
    font-family:inherit;
    border-radius:5px;
    border:1px solid black;
}
.container { 
    max-width:1200px;
    width: 100%;
    margin: 0 auto;
    padding-left:15px !important;
    padding-right:15px !important;
}
.btn { 
    display: inline-block; 
    padding: 10px 16px; 
    border-radius: 999px; 
    text-decoration: none; 
    background: var(--bg); 
    color:white;
    font-weight: 700; 
    border:0;
    cursor:pointer;
}
.btn:hover { 
    filter: brightness(1.05); 
}

/* Header */
.site-header { 
    position: sticky; 
    top: 0; 
    z-index: 20; 
    background: var(--bg);
}
.site-header .container { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    padding: 25px 0; 
}
@media (max-width: 767px) {
    .site-header .container { 
        padding: 15px 0; 
    }
    .site-header .logo {
        max-width:120px;
    }
}
.site-header .hamburger {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    display: none;
    font-size:32px;
}
@media (max-width: 767px) {
    .site-header .menu {
        flex-direction: column;
        position: absolute;
        align-items:baseline;
        top: 100%;
        right: 0;
        background: var(--bg);
        padding: 15px 30px;
        display: none;
        z-index:2;
    }
    .site-header .menu.open {
        display: flex;
    }
    .site-header .hamburger {
        display: block;
    }
}
.menu {
    text-align:right;
}
.menu a { 
    color: #F7F5F3; 
    text-decoration: none; 
    transition: all 0.3s ease;
    padding:5px;
}
.menu a:hover {
    color:#889EF7;
}
.menu a.contact {
    text-decoration:underline;
    font-weight:bold;
}


/* Footer */
.site-footer { 
    background: var(--bg);
    border-top: 1px solid #1f2937; 
    padding: 28px 0; 
    color: #F7F5F3; 
}
.site-footer a { 
    color: #F7F5F3; 
    display:block;
    padding:5px 0;
    transition: all 0.3s ease;
}
.site-footer a:hover {
    color:#889EF7;
}
.site-footer .logo {
    max-width:60px;
}
.site-footer h3 {
    text-transform:uppercase;
    font-size:1rem;
    font-weight:bold;
    margin-top:30px;
}
.site-footer .newsletter {
    background: url('../images/subscribe arrow.svg') bottom right no-repeat;
    background-size:100%;
    padding:15px 0;
    max-width:320px;
}
.site-footer .copyright {
    text-align:center;
    margin-top:60px;
    font-size:.8rem;
}
.site-footer .copyright a {
    display:inline;
}

/* Modals */
.vbox-inline {
    padding:30px;
    text-align:center;
    border-radius:15px;
}
.vbox-inline h2 {
    font-size:1.5rem;
}