@font-face {
    font-family: 'Averia Libre';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Averia Libre Regular'), local('AveriaLibre-Regular'), url('font/AveriaLibre-Regular.ttf') format('truetype');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Averia Libre', 'Verdana', cursive; font-size: 14pt; line-height: 1.4; background-color: black; color: white; margin: 0; }

#top { height: 100vh; padding: 1em 2em; }
#top::before {
    content: "";
    position: absolute; 
    top: 0; left: 0; right: 0; bottom: 0; 
    background-image: url('img/037.jpg'); 
    background-repeat: no-repeat; background-size: cover; 
    background-position: center; z-index: -1; opacity: 0.6; 
}
#top > .content {
    max-width: 50%; width: 600px;
    text-align: center;
}
#top > .content > p { line-height: 1.4; padding: 1em 2em; }
#top > .content > img { width: 100%; max-width: 400px; }
#topnav > .logo { display: none;}

#topnav { 
    position: fixed;
    top: 0;
    width: 100%;
    text-align: right;
    z-index: 5;
    padding: 0.5em 4em;
    margin-left: -2em;
 }
 #topnav > .bg {
     position: absolute;
     height: 100%;
     background-color: black;
 }
nav ul { list-style-type: none; padding: 0; margin: 0; }
nav li { display: inline-block; }
nav a { text-decoration: none; color: #CCC; padding: 0 1em; }
nav a:hover { color: white; }
body.pinned #topnav {
    background-color: rgba(0,0,0,0.9);
}

body.pinned #topnav > .logo {
    display: flex;
    float: left;
}
.logo > img { height: 1.5em; }
.logo > h1 { font-size: inherit; text-transform: uppercase; margin: 0; margin-left: 1em; margin-top: 3px; }

nav.mobile-top, nav.mobile-bottom { display: none; position: fixed; top: 0; left: 0; width: 100%; padding: 3px 0.5em; background-color: rgba(0,0,0,0.9); }
nav.mobile-top .logo { display: flex; }
nav.mobile-bottom { top: unset; bottom: 0; }

section, footer { background-color: #F9F9F9; color: #333; padding: 2em 4em; }
section > header { color: black; font-weight: bold; font-size: 1.5em; text-transform: uppercase; }
section.dark { background-color: #800; color: white; }
section.dark > header { color: white; }

#bottom { 
    display: flex; 
    justify-content: space-between;
    background-color: rgba(0,0,0,0.5);
    border-radius: 10px 10px 0 0; 
    position: absolute; 
    bottom: 0; 
    width: calc(100% - 4em);
    padding: 1em 2em;
}
#bottom .media { line-height: 1.5; display: flex; }
#bottom .title { color: #800; font-weight: 900; text-transform: uppercase; padding-right: 1em; }

a.cool {
    background-color: #800;
    color: white;
    padding: 3%;
    border-radius: 0.3em;
    border: none;
    font-weight: bold;
    font-size: 1.5em;
    font-family: inherit;
    text-decoration: none;
    display: inline-block;
}
a.cool > div { display: flex; }
a.cool > div > span { margin-right: 0.5em; }
svg.icon {
    stroke: white;
}

.photos { display: flex; margin: 0 -1em; flex-wrap: wrap; }
.outer { height: 10em; width: 10em; margin: 1em; background-position: center; background-size: cover; border-radius: 1em; box-shadow: 0.3em 0.3em 1em rgba(0,0,0,0.3); transition: 100ms ease-in-out; }
a.outer:hover { transform: scale(1.1); }

#quotes { text-align: center; }
.quote { display: inline-block; }
.quote > blockquote { margin: 1em 0 0.5em 0; font-style: italic; }
.quote > .author { color: black; }
a.dot { padding: 0.2em; }
a.dot svg.icon { width: 1em; height: 1em; }
a.dot.active svg.icon { fill: white; }
.dots { margin-top: 1em; }

h3 { font-size: 1em; font-weight: bold; margin: 1.5em 0 0 0; clear:both; }
p { margin: 0.5em 0; }
.clear { clear: both; }
.left { float: left; }
.left50 { float: left; width: 50%; }

#about img { min-width: 300px; width: 40%; float: right; margin: 0.5em 0 2em 1.5em; box-shadow: 0.3em 0.3em 1em rgba(0,0,0,0.3); border-radius: 1em; }
#about img.left { float: left; margin-left: 0; margin-right: 2em; }

.row { display: flex; justify-content: space-between; } 
.row > .col { width: 45%; }
.align-right { text-align: right !important; }

form input, form textarea {
    display: block;
    width: 100%;
    border: 1px solid #666;
    font-family: inherit;
    font-size: inherit;
    padding: 0.5em;
    border-radius: 0.2em;
    background-color: #FEE;
}
form input:focus, form textarea:focus {
    border-width: 2px;
}
form textarea {
    height: 6em;
}
button[type="submit"] {
    background-color: white;
    color: black;
    padding: 0.5em;
    border-radius: 0.3em;
    border: 3px solid;
    font-size: 1em;
    font-family: inherit;
    cursor: pointer;
    width: 100%;
    margin: 2em 0 1em 0;
}
button[type="submit"]:hover:not(button:disabled) {
    background-color: #CCC;
}
button:disabled {
    color: #666;
    cursor: default;
}

form label {
    display: block;
    margin: 0;
}
form .form-row {
    margin: 1em 0;
}

.map iframe { width: 100%; min-height: 400px; }

label.radio { display: inline-block; margin: 0 1em 0 0; }
label.radio input { display: inline; width: auto; }

input:invalid { border: 2px dashed red; }

.modal { display: none; opacity: 0; position: fixed; top: 0; bottom: 0; right: 0; left: 0; background-color: rgba(0,0,0,0.9); }
.modal.active { display: block; opacity: 1; z-index:1000; }
.modal .popup { background-color: white; margin: auto; width: 90vw; height: 90vh; margin-top: 5vh; border-radius: 5px; color: black; padding: 2em; overflow-y:auto; }
.modal .popup h4 { margin: 0; }
.modal .popup ul { margin: 0.5em 0 1em 0; }
.popup svg.icon-tabler-rotate { stroke: black; width: 1em; height: 1em; margin-right: 1em; }

.table { display: table; margin: 1em 0; }
.table > .tr { display: table-row; }
.table > .tr > .td { display: table-cell; padding-right: 1em; }
.table .td:first-of-type { font-weight: bold; }

#viewer .img { height: 90vh; background-repeat: no-repeat; background-position: center; background-size: contain; margin-top: 5vh;}
#viewer button.close-modal { position: fixed; right: 10px; top: 10px; background-color: rgba(153,153,153,0.2); border: none; border-radius: 50px; width: 2em; height: 2em; color: #999; font-size: 1em; cursor: pointer; }
#viewer button.close-modal:hover { background-color: rgba(153,153,153,0.5);}

a.social { display: flex; color: white; text-decoration: none; margin-bottom: 1em; }
a.social:hover { color: #CCC; }
a.social svg { width: 1.5em; height: 1.5em; margin-right: 1em; }

p.social { padding: 1em 0 0 2em }

#media video { width: 100%; margin: 1em; margin-left: 0; }
#media .left50:last-of-type { padding-left: 1em; }
.small { font-size: smaller; }

.fade-enter-active { transition: all 0.1s ease; }
.fade-leave-active { transition: all 0.1s cubic-bezier(1.0, 0.5, 0.8, 1.0); }
.fade-enter, .fade-leave-to { /*transform: translateX(100vw);*/ opacity: 0; }

.flex { display: flex; }
.error { color: red; }

body.admin { font-family: Arial, Helvetica, sans-serif; font-size: 11pt; background-color: white; color: black; padding: 1em; }
.admin table { width: 100%; background-color: white; color: #300; border-collapse: collapse; border: 2px solid #300; }
.admin table tr:nth-child(even) { background-color: #FFF0F0; }
.admin table th { background-color: #300; color: white; }
.admin th, td { padding: 2px 5px; text-align: left; }


@media (max-width: 768px) {
    #top { padding: 0; }
    #top > .content > img { width: 60%; }
    nav#topnav { display: none; }
    nav.mobile-top { display: block; }
    #top > .content { max-width: 100%; padding-top: 1.5em; }
    #top > .content > img { display: none; }
    #top >.content > p { line-height: 1.2; padding: 1em; margin-top: 0; }
    a.cool { font-size: 1.2em; padding: 0.5em 1em; }
    #bottom { width: 100%; padding: 5px; }
    #bottom .media { display: block; width: 50%; text-align: center; }
    #bottom .media:last-of-type { display: none; }
    section, footer { padding: 1em; }
    #about img, #about img.left { margin: 0.5em 0 1em 0; width: 100%; }
    .photos { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: minmax(100px, auto); row-gap: 0.5em; column-gap: 0.5em; margin: 0.5em 0; }
    .outer { height: unset; width: unset; margin: 0; border-radius: 0.5em; }
    .left50 { float: none; width: auto; }
    .row { display: block; }
    .row > .col { width: 100%; }
    .row > .col:last-of-type { margin-top: 1em; }
    .map { margin-top: 2em; }
    .map iframe { min-height: 300px; }
    .modal .popup { width: auto; height: calc(100vh - 40px); margin: 20px; line-height: 1.2; padding: 1em; }
    .modal .popup ul { padding: 0; padding-left: 1em; }

    .table { display: block; }
    .table > .tr { display: block; }
    .table > .tr > .td { display: block; }
    .table .td:first-of-type { margin-top: 1em; }
    button[type="submit"] { margin-top: 1em; }
    p.social { padding: 0; padding-top: 1em; }
}
