:root {
    --main-color: rgb(48, 50, 61);
    --main-color-2: rgb(77, 80, 97);
    --accent-color: rgb(92, 128, 188);
    --accent-color-2: rgb(100, 201, 182);
    --accent-color-2-75pc: rgba(100, 201, 182, 0.75);
    --accent-color-2-50pc: rgba(100, 201, 182, 0.5);
    --text-color: rgb(205, 209, 196);
    --invalid-color: rgb(170, 0, 0);
    --invalid-color-75pc: rgba(170, 0, 0, 0.75);
    --invalid-color-50pc: rgba(170, 0, 0, 0.5);
}

html,
body {
    margin: 0 auto;
    padding: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--main-color);
    color: var(--text-color);
}

footer {
    text-align: center;
    padding: 20px;
    font-size: 1.25em;
    background-color: var(--main-color-2);
}

main#privacy {
    margin: 0 auto;
    text-align: justify;
}

main#privacy>ol {
    margin-left: 0;
    padding-left: 5px;
}

nav {
    background-color: var(--main-color-2);
    position: sticky;
    top: 0;
    z-index: 99;
}

nav>ul {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    text-align: center;
    display: inline-block;
}

nav>ul>li {
    list-style-type: none;
    display: inline-block;
}

nav>ul a:link,
nav>ul a:visited {
    background-color: var(--accent-color-2-75pc);
    padding: 0 1vh;
    font-size: 1.75vh;
    height: 5vh;
    line-height: 5vh;
    display: inline-block;
    font-weight: bold;
    color: #FFF;
}

nav>ul a:hover {
    text-decoration: none;
    background-color: var(--accent-color-2);
}

a:link,
a:visited {
    color: var(--accent-color);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

#contactform {
    text-align: center;
    margin: 0 auto;
}

#contactform input,
#contactform textarea {
    font-size: 1.15em;
    background-color: rgba(0, 0, 0, 0);
    color: var(--text-color);
    border: none;
    outline: none;
    border-bottom: 2px solid var(--accent-color-2-50pc);
    padding: 10px;
    margin: 5px 0;
    transition: border-color 0.2s ease-out;
    max-width: 90vw;
    width: 100%;
}

#contactform input[type="submit"] {
    width: auto;
}

#contactform *:first-child {
    margin-top: 20px;
}

#contactform *:last-child {
    margin-bottom: 20px;
}


#contactform input:-webkit-autofill {
    color: var(--text-color) !important;
    background-color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: var(--text-color);
    transition: border-color 0.2s ease-out, background-color 50000s ease;
}

#contactform input:hover,
#contactform textarea:hover {
    border-bottom-color: var(--accent-color-2-75pc);
}

#contactform input:active,
#contactform textarea:active,
#contactform input:focus,
#contactform textarea:focus {
    border-bottom-color: var(--accent-color-2);
}

#contactform label[for="name"],
#contactform label[for="email"],
#contactform label[for="phone_number"] {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
}

#contactform input:invalid,
#contactform textarea:invalid {
    border-bottom-color: var(--invalid-color-50pc);
}
#contactform input:hover:invalid,
#contactform textarea:hover:invalid {
    border-bottom-color: var(--invalid-color-75pc);
}
#contactform input:active:invalid,
#contactform textarea:active:invalid,
#contactform input:focus:invalid,
#contactform textarea:focus:invalid{
    border-bottom-color: var(--invalid-color);
}

#contactform textarea {
    height: 180px;
    font-family: inherit;
}

main {
    text-align: justify;
    width: 70%;
    font-size: 1.1em;
    margin: 0 auto;
}

#logo>img {
    height: 8vh;
    margin: 0.5vh 2vh 0;
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
    -webkit-filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
}

main#about {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 300;
}

img.thumbnail{
    vertical-align: middle;
}

@media screen and (min-width:900px) {
    section#contactdata {
        text-align: right;
        display: inline-block;
        vertical-align: middle;
        padding-right: 20px;
        border-right: 2px solid var(--main-color-2);
        width: 24%;
    }

    form#contactform {
        text-align: center;
        display: inline-block;
        vertical-align: middle;
        margin-left: 18px;
        width: 69%;
    }

    main#privacy {
        width: 65%;
    }

    #logo {
        display: inline-block;
        vertical-align: middle;
    }

    main#about>#logotype {
        display: inline-block;
        width: 20%;
        max-width: 1024px;
        vertical-align: top;
        margin-top: 1em;
        filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.25));
        -webkit-filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.25));
        transition: filter .2s ease-out, -webkit-filter .2s ease-out;
    }

    main#about>#logotype:hover {
        filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
        -webkit-filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
    }

    main#about>#logotype+div {
        display: inline-block;
        width: 65%;
        text-align: justify;
    }

    main#contact {
        width: 80%;
    }

    #footer_data {
        display: inline-block;
        vertical-align: middle;
        padding-right: 12px;
        text-align: right;
        border-right: 2px solid var(--main-color);
    }

    #footer_text {
        display: inline-block;
        vertical-align: middle;
        margin-left: 5px;
        text-align: left;
    }

    main#about p {
        text-indent: 50px;
    }

    main {
        min-height: calc(100vh - 8vh - 103px);
    }

    img.thumbnail{
        width:200px;
        max-width:15vw;
        margin:2px;
        opacity:0.75;
        transition: opacity .2s ease-out;
    }
    img.thumbnail:hover{
        opacity:1;
    }
}

@media screen and (max-width:899px) {
    section#contactdata {
        text-align: center;
    }

    main#privacy {
        width: 90%;
    }

    main ol {
        padding-left: 20px;
    }

    #logo {
        display: none;
    }

    nav>ul {
        display: block;
    }

    main#about>#logotype {
        display: block;
        width: 70%;
        max-width: 1024px;
        margin: 1em auto;
        filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.25));
        -webkit-filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.25));
    }

    main#about>#logotype+div {
        display: block;
        width: 95%;
        margin: 0 auto;
        text-align: justify;
    }

    #footer_data {
        text-align: center;
        padding-bottom: 5px;
        border-bottom: 2px solid var(--main-color);
    }

    #footer_text {
        text-align: center;
    }

    main {
        min-height: calc(100vh - 5vh - 128px);
    }

    img.thumbnail{
        width:200px;
        max-width:100%;
    }
}

.image-source-link {
color: #98C3D1;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

.gallery{
    text-align: center;
}

.gallery:last-child{
    margin-bottom: 0.83em;
}