.crimson-text-regular {
    font-family: "Crimson Text", serif;
    font-weight: 400;
    font-style: normal;
}

.crimson-text-semibold {
    font-family: "Crimson Text", serif;
    font-weight: 600;
    font-style: normal;
}

.crimson-text-bold {
    font-family: "Crimson Text", serif;
    font-weight: 700;
    font-style: normal;
}

.crimson-text-regular-italic {
    font-family: "Crimson Text", serif;
    font-weight: 400;
    font-style: italic;
}

.crimson-text-semibold-italic {
    font-family: "Crimson Text", serif;
    font-weight: 600;
    font-style: italic;
}

.crimson-text-bold-italic {
    font-family: "Crimson Text", serif;
    font-weight: 700;
    font-style: italic;
}



:root {
    padding: 0;
    margin: 0;
    color: #175F7D;
    background: linear-gradient(200deg, #A6FBFF, #DCFFEA);
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: Crimson Text, Helvetica, sans-serif, sans-serif;
}

a {
    color: #175F7D;
}

div {
    padding: 0;
    margin: 0;
}

header {
    width: 800px;
    padding: 0 1rem 1rem 1rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    border: 3px solid #175F7D;
    border-radius: 25px;
    background-color: #FFFFFF50;
}

.text-things {
    padding: 3%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
}

.header-title {
    margin: 0;
    font-size: 4rem;
    color: #6EC1E4;
    transition-duration: 0.3s;
}

.header-title:hover {
    transform: scale(1.05);
}

.header-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5rem;
    font-weight: bold;
    text-align: center;
    border: 3px solid;
    border-radius: 25px;
}

.header-button {
    text-decoration: none;
    background-color: #FFF;
    transition-duration: 0.3s;
}

.tilt-left:hover {
    transform: scale(1.1) rotate(-2deg);
}

.tilt-right:hover {
    transform: scale(1.1) rotate(2deg);
}


.tagline {
    padding-top: 0.1rem;
    margin: 0;
    font-weight: bold;
}

.button-grid {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    justify-content: space-evenly;
    align-items: center;
    gap: 1rem;
}

.spin-img img {
    width: 200px;
    justify-self: flex-end;
    align-self: flex-end;
}

.spin-img {
    transition-duration: 1s;
}

.spin-img:hover {
    transform: rotate(360deg) scale(1.1);
}

.spin-img:active {
    animation: spin 0.5s linear infinite;
}

@keyframes spin {
    0% {
        rotate: 0deg;
    }

    50% {
        rotate: 180deg;
    }

    100% {
        rotate: 360deg;
    }
}


@media only screen and (max-width: 850px) {
    header {
        width: 500px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .header-title {
        text-align: center;
    }

    .tagline {
        text-align: center;
    }
}

@media only screen and (max-width: 600px) {
    header {
        width: 350px;
    }
    .button-grid {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 400px) {
    header {
        width: 200px;
    }
    .header-button {
        padding: 0.25rem;
        
    }
    .header-title {
        font-size: 1.9rem;
        text-wrap: nowrap;
    }
}