/* Default size: Tablet 1194 x 834 */

/* UNIVERSA ELEMENTS */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
}

h1 {
    font-family: "Titan One", sans-serif;
    font-size: 10vh;
    color: #007D90;
    text-align: center;
    margin: 0;
}

h2 {
    font-family: "Instrument Sans", sans-serif;
    font-size: 8vh;
    color: #00414d;
    text-align: center;
    margin: 0;
    line-height: 75%;
    padding-bottom: 3vh;
}

p {
    font-family: "Instrument Sans", sans-serif;
    color: #00414d;
    text-align: center;
    margin: 0;
    font-size: 6vh;
    font-weight: 400;
    line-height: 100%;
}

.smallText {
    p {
        font-size: 4vh;
    }
}

a {
    font-family: "Onest", sans-serif;
    font-size: 8vh;
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
}

.button {
    background-color: #007D90;
    padding: 1vh 5vw;
    border-radius: 50px;
    text-decoration: none;
    cursor: pointer;
    p {
        color: #FFFFFF;
        font-weight: 800;
        font-size: 7vh;
        text-decoration: none;
    }
    &.button:hover {
        background-color: #005766;
        transition-duration: 100ms;
    }
    &.button:active {
        background-color: #00414d;
        a {
            color: #d0ecf4;
        }
    }
}


/* INDEX */

.logo {
    max-width: 75vw;
}

.titleScreen {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    min-height: 100vh;
    background-image: url("../images/bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

.instrContainer {
    background-color: #FFF6E5;
    border-radius: 55px;
    padding: 5% 1%;
    width: 90vw;
    height: 75vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.instr1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5vh;
    p {
        font-size: 8vh;
        font-weight: 500;
        max-width: 20ch;
        line-height: 125%;
    }
}

.instr2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5vh;
}

.instr3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5vh;
    p {
        font-size: 5vh;
    }
}


/* PLAY */

nav {
    height: 15vh;
    width: 100vw;
    background-color: #d0ecf4;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 2vw 0;
    gap: 5vw;
}

.smallLogo {
    width: 50vw;
    height: 20vh;
    padding: 3vh 0;
}

#audioBtn {
    width: 20vh;
    height: 11vh;
}

#audioBtn:active {
    filter: brightness(80%);
}

#audioBtn:hover {
    filter: brightness(90%);
}

.smallButton {
    background-color: #007D90;
    padding: 1% 3%;
    border-radius: 50px;
    text-decoration: none;
    display: flex;
    justify-content: center;
    cursor: pointer;
	p {
        font-weight: 800;
        color: #FFFFFF;
	}
    &.smallButton:hover{
        background-color: #005766;
        transition-duration: 100ms;
    }
    &.smallButton:active {
        background-color: #00414d;
        p {
            color: #d0ecf4;
        }
    }
}

.environment {
    height: 40vh;
    background-color: #FFF6E5;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    p {
        font-size: 4vh;
        margin-top: 2vh;
        font-weight: 500;
        z-index: 2;
    }
}

.enviro {
    display: flex;
    align-content: center;
    justify-content: center;
    filter: drop-shadow(8px 8px 10px rgb(232, 205, 125, 0.8));
    gap: 1em;
    width: 40vw;
    height: 20vw;
    background-repeat: no-repeat;
}

.ice { /* for some reason this doesn't work if i put them in one call, making this very repetitious... */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2em 3em;
}

.coral {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2em 3em;
}

#ice {
    background-image: url('../images/ice.svg');
    background-position: center;
}

#coral {
    background-image: url('../images/coral.svg');
    background-position: center;
}

.field {
    height: 45vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-size: cover;
    background-image: url('../images/bg.png');
    background-position: top;
    background-repeat: no-repeat;
}

#animals {
    display: grid;
    justify-items: center;
    align-items: center;
    grid-template-columns: repeat(3, 1fr);
    height: 25vh;
    margin-top: 2vh;
    margin-bottom: 2vh;
}

.animal {
    max-height: 27vh;
    cursor: pointer;
    filter: drop-shadow(8px 8px 10px rgb(0, 87, 102, 0.8));
    background: transparent;
    align-self: center;
}

.buttonContainer {
    height: 15vh;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8%;
    .button {
        padding: 1.5vw 6vh;
        margin: 2vh;
    }
}

.popup {
    position: absolute;
    border: 3px solid;
    border-color: #005766;
    display: block;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4vh;
    width: 80vw;
    height: 65vh;
    top: 18vh;
    left: 10vw;
    background-color: #eaf7fa;
    border-radius: 55px;
    z-index: 3;
    section {
        max-width: 100%;
        min-height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 3;
        gap: 3vh;
    }
    p {
        padding: 1vh;
        max-width: 100%;
        line-height: 125%;
    }
}

.winPopup {
    position: absolute;
    border: 3px solid;
    border-color: #005766;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2em;
    width: 85vw;
    height: 75vh;
    top: 12vh;
    left: 8vw;
    background-color: #eaf7fa;
    border-radius: 55px;
    z-index: 3;
    p {
        padding: 1vh;
        font-size: 4vh;
    }
}

#winTT {
    max-width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 3;
    gap: 2vh;
}

#overlay {
    z-index: 0;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }

.overlay {
    content: "";
    position: fixed;
    background: rgba(0, 87, 102, .5);
  }

.buttonDiv {
    display: flex;
    gap: 3em;
    width: 100%;
    justify-content: center;
    .closeButton {
        padding: 3vh 5vh;
    }
}

.closeButton {
    background-color: #007D90;
    border-radius: 50px;
    padding: 2vh 4vw;
    text-decoration: none;
    display: flex;
    justify-content: center;
	p {
        font-size: 6vh;
        font-weight: 800;
        color: #FFFFFF;
        padding: 0;
	}
    &.closeButton:hover {
        background-color: #005766;
        transition-duration: 100ms;
    }
    &.closeButton:active {
        background-color: #00414d;
        p {
            color: #d0ecf4;
        }
    }
}

.animalInfo {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    align-items: center;
    height: 26vh;
    width: 100%;
    img {
        height: 20vh;
        filter: drop-shadow(8px 8px 10px rgb(0, 87, 102, 0.8));
    }
    img:hover {
        height: 22vh;
    }
    img:active {
        height: 22vh;
    }
}

/* Hide DO NOT MOVE */

.hide {
	display: none;
}

/* Dragula */

.gu-mirror {
    position: fixed !important;
    margin: 0 !important;
    z-index: 9999 !important;
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
}

.gu-hide {
    display: none !important;
}

.gu-unselectable {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

.gu-transit {
    opacity: 0.2;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
    filter: alpha(opacity=20);
}

/* Responsive Styles */

/* phone (568 x 320) */
@media screen and (max-width: 569px) {
    .instrContainer {
        border-radius: 35px;
    }

    .instr3 {
        p {
            font-size: 6vh;
        }
    }

    .popup {
        border-radius: 35px;
        border: 2px solid;
        padding: 10vh;
        h2 {
            padding-bottom: 4vh;
        }
        p {
            padding: 2vh;
        }
    }

    .nav {
        height: 14vh;
    }

    .coral {
        padding: 0;
    }

    .ice {
        padding: 0;
    }

    .environment {
        height: 40vh;
        gap: 20vw;
        p {
            margin: .5;
        }
    }

    .enviro {
        width: 30vw;
        height: 30vh;
        filter: drop-shadow(4px 4px 5px rgb(232, 205, 125, 0.8))
    }

    .field {
        padding-top: 2vh;
        gap: 3vh;
    }

    .animal {
        filter: drop-shadow(8px 8px 10px rgb(0, 87, 102, 0.8));
    }

    #animals {
        margin: 0;
    }

    .closeButton {
        p {
            padding: 1vh;
            font-size: 6vh;
        }
    }

    #creditsTT {
        p {
            padding: 1vh;
        }
    }
  }

/* laptop (1280 x 832) */
@media screen and (min-width: 1280px) {
    .animal {
        max-height: 23vh;
    }

    #winTT {
        gap: 1vh;
    }

    .animalInfo {
        margin-top: 2vh;
        height: 28vh;
        img {
            height: 23vh;
        }
        img:hover {
            height: 25vh;
        }
        img:active {
            height: 25vh;
        }
    }
}

/* desktop (1920 x 280) */
@media screen and (min-width: 1920px) {
    .instrContainer {
        width: 70vw;
        border-radius: 100px;
    }

    .button {
        border-radius: 70px;
    }

    .logo {
        width: 55vw;
    }

    nav {
        height: 12vh;
    }

    .smallLogo {
        height: 15vh;
    }

    #audioBtn {
        height: 8vh;
    }

    .environment {
        height: 44vh;
    }

    .enviro {
        height: 35vh;
    }

    .field {
        height: 44vh;
    }

    .animal {
        max-height: 28vh;
    }

    .popup {
        width: 60vw;
        left: 18.5vw;
    }

    .closeButton {
        border-radius: 70px;
    }
}