@charset "utf-8";

:root {
    --base-text: #ffffff;
}

@import url("https://use.typekit.net/zzh6cym.css");
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@100;200;300;400;500;600;700&display=swap");
@import url("https://p.typekit.net/p.css?s=1&k=kyg0cum&ht=tk&f=295.297.299.303.305&a=3325632&app=typekit&e=css");

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body {
    font-family: "Work Sans", sans-serif;
    background-color: lightblue;
    overflow-x: hidden;
}

body.pic {
    min-height: 100vh;
    position: relative;
    background-image: url(../images/wave-crop-full_w.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

body.port {
    margin: 0;
    padding: 0;
}

h1 {
    margin: 0;
    padding: 10px;
    font-size: 60px;
    font-weight: 700;
    text-align: center;
}

h2 {
    margin: 0;
    padding: 10px;
    font-size: 40px;
    font-weight: 500;
    text-align: center;
}

.text_shadow {
    color: var(--base-text);
    text-shadow:
        -1px -1px 1px rgba(255, 255, 255, 0.1),
         1px  1px 1px rgba(0, 0, 0, 0.5),
         4px  4px 8px rgba(0, 0, 0, 0.48);
}

.nav_bar {
    position: absolute;
    top: 24px;
    right: 32px;
    z-index: 300;
    font-size: 25px;
    font-weight: 600;
    text-align: right;
}

.nav_bar a,
.nav_bar a:link,
.nav_bar a:visited {
    color: #ffffff !important;
    text-decoration: none;
}

.nav_bar a:hover,
.nav_bar a:active {
    color: #ffffff !important;
    text-decoration: underline;
}

div.center_div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    text-align: center;
}

img.logo_back {
    display: block;
    width: min(600px, 60vw);
    max-width: 90vw;
    height: auto;
    margin: 0 auto;
}

div.text_block {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70%;
    padding: 40px;
    transform: translate(-50%, -50%);
    font-family: "Work Sans", sans-serif;
    font-size: 4.5vh;
    text-align: center;
    color: var(--base-text);
    background-color: rgba(0, 0, 0, 0.6);
}

div.text_shadow h1 {
    font-family: coolvetica, sans-serif;
    font-size: 100px;
    font-weight: 700;
    text-align: center;
}

div.top {
    background-image: url(../images/wave-crop-small_w.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

div.bot {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: #ffffff;
}

img.top_back {
    display: block;
    height: 160px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    vertical-align: middle;
}

span.container {
    position: relative;
    display: inline-block;
    padding: 60px;
    text-align: center;
    vertical-align: middle;
}

.overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: 0.8s ease;
    background-color: #ffffff;
}

.container:hover .overlay {
    opacity: 1;
}

.text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    text-align: center;
    color: #000000;
}

span.list {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    text-align: center;
    vertical-align: middle;
}

div.hide1 {
    height: 1px;
    font-size: 1px;
    text-align: center;
    color: #ffffff;
}

img.list {
    position: absolute;
    inset: 0;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    margin: auto;
}

.bottom-right {
    position: absolute;
    right: 16px;
    bottom: 8px;
    font-size: 10px;
}

.top-left {
    position: absolute;
    top: 16px;
    left: 16px;
    font-size: 14px;
    font-weight: 600;
    color: red;
}

.bottom_text_box {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 20px 40px;
    text-align: center;
    color: #ffffff;
    font-size: 18px;
    background: rgba(0, 0, 0, 0.4); /* optional for readability */
}

.bottom_text_box p {
    margin: 0;
}

a:link,
a:visited {
    color: #ffffff;
    text-decoration: none;
}

a:active,
a:hover {
    color: #ffffff;
}

.w3-animate-opacity {
    animation: opac 1.5s;
}

@keyframes opac {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media screen and (max-width: 800px) {
    .nav_bar {
        top: 18px;
        right: 18px;
        font-size: 18px;
    }

    h1 {
        font-size: 26px;
    }

    div.text_shadow h1 {
        font-size: 60px;
    }

    img.top_back {
        padding: 10px;
        height: 160px;
    }

    img.logo_back {
        width: min(420px, 72vw);
        max-width: 88vw;
    }

    div.text_block {
        width: 85%;
        padding: 24px;
        font-size: 2.5vh;
    }
}

@media screen and (max-aspect-ratio: 3/4) {
    div.text_block {
        font-size: 2vh;
    }

    body.pic {
        background-position: center center;
        background-size: cover;
    }
}
