@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@300;400&family=Urbanist:ital,wght@0,400;0,700;1,400;1,700&display=swap');

body {
    font-size:12pt;
    font-family: 'Urbanist', Helvetica, sans-serif;
    font-weight:400;
    margin:0;
}

p {
    text-align: justify;
}

strong {
    font-weight:700;
}

a {
    color:#000;
    text-decoration: none;
}

header {
    padding:3em 5em 0 5em;
    display:flex;
    flex-direction: row;
    flex-wrap:wrap;
    align-items: center;
    justify-content: space-between;
}

.hidden {
    display:none;
}

.front-page header {
    padding:0;
}

.slideshow {
    background-image:none;
    background-color: #000;
    background-position:25% center;
    background-repeat:no-repeat;
    background-size: cover;
    background-attachment: fixed;
    transition: background-image 1s ease-in-out;
    
}

.content {
    padding:3em 5em;
    min-height:70vh;
}

.quote {
    font-size:1.25em;
    padding: 0 0 1em 0;
}

.quote p {
    text-align:right;
    margin:0;
}

.quote cite {
    display:block;
    text-align:right;
    font-style:normal;
}

#logo {
    width:20em;
}

.front-page {
    font-size:1em;
    color:#fff;
}

.front-page-content {
    width:30em;
}

.social {
    display:grid;
    grid-auto-flow:column;
    flex-direction: row;
    flex-wrap:wrap;
    align-items: center;
    justify-content: flex-end;
    padding:0;
    margin:0;
}

.social li {
    list-style:none;
}

.social img {
    height: 1.5em;
    padding:0.25em;
}

.button {
    padding:0.5em;
    color:#fff;
    border:2px solid #fff;
    text-transform: uppercase;
    margin-top:0.5em;
    display:inline-block;
    text-decoration: none;
    transition: 0.5s ease-in-out;
}

.button-text-black {
    color: #000;
}

.button:hover {
    background:#fff;
    color:#000;;
    transition: 0.5s ease-in-out;
}

.button-alt {
    border:2px solid transparent;
}

.button-black {
    color:#000;
    background:#fff;
    border:2px solid #000;
}

.button-black-focus {
    background:#000;
    color:#fff;
    border:2px solid #000;
}

.button-black:hover {
    background:#000;
    color:#fff;
}

.footer a {
    margin:0;
    color:#fff;
    font-size:1.5em;
    text-transform:uppercase;
    text-align:center;
}

footer p {
    margin:0;
}

.footer-alternate a {
    color:#000;
}

.footer {
    display:grid;
    grid-template-columns: 2fr 2fr 2fr 1fr 1fr 1fr 1fr;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content: space-between;
    align-items:center;
    align-content: center;
    padding:0 5em;
    width: calc(100vw - 11em);
    gap:2em;
}

.footer img {
    max-width:100%;
}

.footer-bottom {
    position:absolute;
    bottom:5em;
}

footer a {
    text-decoration:none;
    padding:0.25em;
}

footer a:hover, a:visited {
    text-decoration:  #fff dashed 1pt;
}

#footer-media {
    padding:0.25em;
}

.footer-media-dropdown {
    position:relative;
    display:inline-block;    
}

.footer-media-dropdown a, .footer-media-dropdown a:hover {
    transition: 0.1s ease-in-out;
}

.footer-media-dropdown a:hover {
    background:#fff;
    color:#000;
}

.footer-media-dropdown:hover .footer-media-dropdown-content {
    display:block;
}

.footer-media-dropdown-content {
    display:none;
    position:absolute;
    background: #fff;
    min-width:200px;
    z-index:1;
    bottom:2.1em;
    border:1px solid #000;
}

.footer-media-list {
    display:flex;
    flex-direction: column;
}

.footer-media-list a {
    color:#000;
    transition: 0.1s ease-in-out;
    padding:0.5em;
    font-size:1em;
    text-align: left;
    color:#000;
}

.footer-media-list a:hover {
    background:#000;
    transition: 0.1s ease-in-out;
    color:#fff;
}

.gallery img {
    object-fit: cover;
    width:100%;
    max-height:100%;
    pointer-events: none;
}

.text-center {
    display:block;
    text-align:center;
}

.text-center p {
    text-align:center;
}

#footer-galleries {
    color: #fff;
}

#footer-galleries p {
    padding:0.25em;
}

.footer-alternate #footer-galleries {
    color: #000;
}

.contact-form {
    display:flex;
    flex-direction: column;
    width:30em;
    gap:0.5em;
}

.contact-form input, .contact-form textarea {
    padding:0.5em;
    font-family: inherit;
    font-size:1em;
    border: #000 solid 1pt;
    outline:none;
}

.contact-form input[type=submit] {
    background:#000;
    color:#fff;
    border:1pt solid #000;
    font-weight:700;
    text-transform: uppercase;
}

#contact-form-success-message {
    color:green;
}

#contact-form-error-message {
    color:darkred
}

.CookieDeclaration {
    display:none;
}

@media screen and (max-width:1100px) {
    .footer {
        display:flex;
        flex-direction: column;
        align-items:flex-start;
        justify-content: flex-start;
        align-content: flex-start;
        gap:0.5em;
    }

    .footer img {
        height:1.25em;
    }

    #footer-media {
        padding:0;
    }

    .quote {
        padding:2em 0 0 0;
    }

    .social {
        justify-content: flex-start;
        align-content: flex-start;
    }
}

@media screen and (max-width: 650px) {
    .front-page, .front-page-content {
        width:auto;
    }

    .gallery {
        grid-template-columns: 1fr;
    }

    header {
        flex-direction:column;
    }

    .contact-form {
        width:auto;
    }
}

@media screen and (max-width: 500px) {
    .content {
        padding:1em;
    }
    .footer {
        bottom:1em;
        padding:0 1em;
    }

    .footer-media-list a {
        padding:0.5em;
    }

    .footer {
        font-size:0.75em;
    }

    header {
        padding:1em;
        text-align:center;
    }
}

@media screen and (min-width: 650px) and (max-width:1200px){
    .gallery {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (min-width: 1700px) {
    header {
        width:1540px;
        margin: 0 auto;
    }

    .front-page header { 
        margin: 0;
    }

    .footer-alternate {
        width:1540px;
        margin: 0 auto;
    }
    .content {
        width: 1540px;
        margin: 0 auto;
    }
    
    .slideshow .content {
        width:auto;
    }
}