* {
    border: 0;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

:root {
    --color-primary-bg: #4730A0;
    --color-primary-font: #ffffff;
    --primary-hover: #FF7B54;

    --transition: all 300ms ease;

    --primary-box-shadow: 1rem .75rem .6rem rgba(0, 0, 0, 1);
    --secondary-shadow: .35rem .25rem .10rem rgba(0, 0, 0, 1);

    --container-width-lg: 80%;
    --container-width-md: 85%;
    --container-width-sm: 90%;

}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--color-primary-bg);
    color: var(--color-primary-font);
    font-family: 'Gruppo', serif;
    moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: grayscale;
    overflow-x: hidden;
    text-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}

::-webkit-scrollbar {
    display:none;
}


/* =============== General Styles =============== */

section {
    margin-top: 2rem;
    height: auto;
}

.container {
    width: var(--container-width-lg);
    margin: 0 auto;
}

h1, h2, h3, h4, h5 {
    font-weight: 500;
}

h1 {
    font-size: clamp(2.5rem, 3.5vw, 3.5rem);
}

.section_title {
    text-align: center;
}


.big_section_button {
    background-color: black;
    border: 2px solid black;
    border-radius: 10px;
    box-shadow: var(--secondary-shadow);
    color: var(--color-primary-font);
    cursor: pointer;
    font-size: clamp(1rem, 2vw, 1.5rem);
    font-weight: 100;
    height: max(4rem, 3vw);
    margin: 0;
    opacity: .5;
    padding: .25rem 0;
    width: clamp(15.5rem, 22vw, 25rem);
}


.large_button {
    background-color: black;
    border: 2px solid black;
    border-radius: 10px;
    box-shadow: var(--secondary-shadow);
    color: var(--color-primary-font);
    cursor: pointer;
    font-size: clamp(.9rem, 2vw, 1.5rem);
    font-weight: 100;
    opacity: .5;
    margin: 0;
    padding: .25rem .75rem;
    width: clamp(17.5rem, 22vw, 25rem);
    /* 22vw, 25rem */
}

.large_button_login {
    background-color: black;
    border: 2px solid black;
    border-radius: 10px;
    box-shadow: var(--secondary-shadow);
    color: var(--color-primary-font);
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 100;
    opacity: .5;
    margin: 0;
    padding: .25rem 0;
    width: clamp(15rem, 16vw, 45%);
}


.small_button {
    background-color: black;
    border: 2px solid black;
    border-radius: 10px;
    box-shadow: var(--secondary-shadow);
    color: var(--color-primary-font);
    cursor: pointer;
    font-size: clamp(1.15rem, 1.25vw, 1.25rem);
    font-weight: 100;
    opacity: .5;
    padding: .25rem 0;
    width: clamp(10rem, 15vw, 14rem);

}

.small_button:active, .large_button:active {
    transform: scale(0.98);
}


/* =============== MEDIA QUERIES (MEDIUM DEVICES) ===============*/
@media screen and (max-width: 1024px){
    .container {
        width: var(--container-width-md);
    }

    .small_button {
        padding: .25rem .45rem;
    }

}

/* =============== MEDIA QUERIES (SMALL DEVICES) ===============*/
@media screen and (max-width: 600px){
    .container {
        width: var(--container-width-sm);
    }

    .large_button {
        font-size: 1.25rem;
    }

}