﻿@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Open-Sans-400.woff2) format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(/fonts/Open-Sans-600.woff2) format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Open-Sans-700.woff2) format('woff2');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Open-Sans-700.woff2) format('woff2');
}

:root {
    --black: #000;
    --white: #fff;
    --gold: #ca9e67;
    --brown: #5a4f4a;
    --blue: #003140;
    --grey: #eee;
    --red: #c96856;
    --fontbody: 'Open Sans', sans-serif;
    --fontheader: 'Ubuntu', sans-serif;
    --fontsize-body: 1.4rem;
    --fontsize-h1: 4rem;
    --fontsize-h2: 3.2rem;
    --fontsize-h3: 1.8rem;
    --fontsize-h4: 1.8rem;
    --fontsize-h5: 1.8rem;
    --fontsize-h6: 1.8rem;
    --lineheight-header: 1.2;
    --nav-height: 10rem;
    --padding: 2rem;
    --padding-lg: 4rem;
    --mainwidth: 1440px;
    --desktop-container: 1296px;
    --transition-default: all .3s linear;
}

@media(min-width: 1024px) {
    :root {
        --fontsize-body: 1.6rem;
        --fontsize-h1: 6rem;
        --fontsize-h2: 3.6rem;
        --fontsize-h3: 2.4rem;
        --fontsize-h4: 1.8rem;
        --fontsize-h5: 1.8rem;
        --fontsize-h6: 1.8rem;
        --lineheight-header: 1.1;
        --nav-height: 14rem;
        --padding-lg: 6rem;
    }
}

html {
    font-size: 62.5%;
    height: 100%;
}

body {
    font-family: var(--fontbody);
    font-size: var(--fontsize-body);
    line-height: 1;
    font-weight: 400;
    color: var(--brown);
    height: 100%;
    -webkit-backface-visibility: visible !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
    margin: 0;
    padding-top: 0;
}

    body.is--scrolllock {
        overflow: hidden;
    }

* {
    margin-block: 0;
	    box-sizing: border-box;
}

main {
    max-width: 100vw;
    overflow: hidden;
}

img {
    width: 100%;
    height: auto;
	object-fit: cover;
    object-position: 50% 50%;
}

a, button {
    text-decoration: none;
    transition: var(--transition-default);
}

a {
    color: var(--blue);
}

.richtext a {
    color: var(--gold);
    background-image: linear-gradient(var(--gold), var(--gold));
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 100% .1rem;
}

@media (pointer: fine) {
    .richtext a:hover {
        background-size: 0% .1rem;
    }
}

section {
    padding: var(--padding-lg) 0;
}

.block--notopmargin {
    padding-top: 0 !important;
}

.block--nobottommargin {
    padding-bottom: 0 !important;
}

.container {
    width: 100%;
    max-width: calc(100% - calc(2 * var(--padding)));
    margin: 0 auto;
}

@media(min-width: 1300px) {
    .container {
        max-width: var(--desktop-container);
    }
}

.container .col {
    margin: 0 auto;
}

.col--text {
    max-width: 80rem;
}

@media(max-width: 1023px) {
    .d--onlydesktop {
        display: none !important;
    }
}

@media(min-width: 1024px) {
    .d--onlymobile {
        display: none !important;
    }
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fontheader);
    line-height: var(--lineheight-header);
    color: var(--brown);
    margin-bottom: 1.5rem;
}

h1 {
    font-size: var(--fontsize-h1);
}

h2 {
    font-size: var(--fontsize-h2);
}

h3 {
    font-size: var(--fontsize-h3);
}

h4 {
    font-size: var(--fontsize-h4);
}

h5 {
    font-size: var(--fontsize-h5);
}

h6 {
    font-size: var(--fontsize-h6);
}

.intro {
    font-size: 2rem;
    line-height: 3rem;
}

.richtext p,
.richtext ol,
.richtext ul {
    line-height: 2.8rem;
}

.richtext p {
	text-wrap: balance;
}

p:has(+*) {
    margin-bottom: 2rem;
}