* {
    box-sizing: border-box; /*  limita a div para ser vizualizada*/
    margin: 0;
    padding: 0;
    font-family: sans-serif;
}

.col-sm-1 {width: 8.33%;}
.col-sm-2 {width: 16.66%;}
.col-sm-3 {width: 25%;}
.col-sm-4 {width: 33.33%;}
.col-sm-5 {width: 41.66%;}
.col-sm-6 {width: 50%;}
.col-sm-7 {width: 58.33%;}
.col-sm-8 {width: 66.66%;}
.col-sm-9 {width: 75%;}
.col-sm-10 {width: 83.33%;}
.col-sm-11 {width: 91.66%;}
.col-sm-12 {width: 100%;}

h2 {
    color: black;
}

.area-logo{
    background-color: white;
}

header {
    display: flex; /*define o display do elemento como flex, o que habilita diversas configurações compatíveis apenas com display flex*/
    justify-content: center; /*alinha os elementos dentro de um box com display flex para o centro no eixo x. É uma das configurações exclusivas do display flex.*/
}
nav {
    background: linear-gradient(180deg, #00966c, #00ce94); /*aplica um gradiente no fundo do elemento. Vale lembrar que essa configuração só é aplicável nas propriedades "background" e "background-image"*/
    padding: 10px;
    color: white;
    font-weight: bold;
    box-shadow: 0px 2px 5px rgba(0,0,0,0.350);
}
.three-bars {
    font-size: 40px;
    cursor: pointer;
}
a {
    text-decoration: none;
    color: white;
    font-weight: bold;
}
.main-nav-bar {
    display: none;
}
.nav-menu-mobile {
    text-align: center;
}
#menu-mobile {
    display: none;
    overflow: hidden;
    animation-duration: .5s;
    animation-fill-mode: forwards; /*faz com que, ao final da animação, a configuração final da animação seja aplicada de forma definitiva ao elemento, evitando que ele volte à sua configuração inicial no final da animação*/
}
#menu-mobile > li {
    padding: 5px 0px;
}
.start-page {
    background-image: url(../img/veterinario.jpg);
    height: 50vh;
    background-repeat: no-repeat; /*impossibilita que a imagem de fundo do elemento se repita por toda a extensão do elemento*/
    background-size: cover; /*define que a imagem de fundo ocupara todo o espaço do elemento*/
}
.links {
    display: none;
}

#first-row > img {
    margin-top: 0px;
}

.row {
    padding: 20px 10px;
    text-align: center;
    background-color: #bdffd9;
    color: #001610;
}
.row > img {
    margin-bottom: 10px;
}
.row > div > h2 {
    margin-bottom: 10px;
    color: #001610;
}
.row > div > p {
    margin: auto;
    text-align: justify;
}

@keyframes menuDown {
    from {
        height: 0px;
    } to {
        height: 95px;
    }
}
@keyframes menuUp {
    from {
        height: 95px;
    } to {
        height: 0px;
    }
}

.start-page-container {
    display: flex;
    width: 100%;
    height: 50%;
}

@media only screen and (min-width:600px) {
    .col-md-1 {width: 8.33%;}
    .col-md-2 {width: 16.66%;}
    .col-md-3 {width: 25%;}
    .col-md-4 {width: 33.33%;}
    .col-md-5 {width: 41.66%;}
    .col-md-6 {width: 50%;}
    .col-md-7 {width: 58.33%;}
    .col-md-8 {width: 66.66%;}
    .col-md-9 {width: 75%;}
    .col-md-10 {width: 83.33%;}
    .col-md-11 {width: 91.66%;}
    .col-md-12 {width: 100%;}

    .main-nav-bar {
        display: block;
    }

    .nav-menu-mobile {
        display: none;
    }

    .three-bars {
        display: none;
    }
    #menu {
        display: block;
        height: 30px;
    }
    #menu li {
        display: inline;
        font-size: 20px;
    }
    #menu li:not(:last-child) { /*as configurações feitas a seguir serão aplicadas a todas as li's, exceto a última*/
        margin-right: 15px;
    }
    .start-page-container {
        height: 80vh;
        background-color: rgb(189, 255, 217);
    }
    .start-page {
        height: 80vh;
    }

    .login-cadastro {
        float: right;
        margin-right: 15px;
    }
    
    .links {
        display: flex;
        justify-content: center;
        margin-top: -60px;
    }
    .links > div {
        margin-right: 10%;
    }
    .links > div > a > h2 {
        margin-bottom: 10px;
    }
    .box-agenda {
        text-align: center;
        background-color: white;
        border-radius: 15px;
        box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
        padding: 10px;
    }
    .box-agenda > a > img {
        width: 70%;
    }
    .box-sobre {
        text-align: center;
        background-color: white;
        border-radius: 15px;
        box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
        padding: 10px;
    }
    .box-sobre > a > img {
        width: 70%;
    }
    .box-login {
        text-align: center;
        background-color: white;
        border-radius: 15px;
        box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
        padding: 10px;
    }
    .box-login > a > img {
        width: 70%;
    }
    
    #first-row > img {
        margin-top: 90px;
    }

    .start-page-container {
        flex-direction: column;
    }
}

@media only screen and (min-width: 1024px) {
    .col-lg-1 {width: 8.33%;}
    .col-lg-2 {width: 16.66%;}
    .col-lg-3 {width: 25%;}
    .col-lg-4 {width: 33.33%;}
    .col-lg-5 {width: 41.66%;}
    .col-lg-6 {width: 50%;}
    .col-lg-7 {width: 58.33%;}
    .col-lg-8 {width: 66.66%;}
    .col-lg-9 {width: 75%;}
    .col-lg-10 {width: 83.33%;}
    .col-lg-11 {width: 91.66%;}
    .col-lg-12 {width: 100%;}

    .start-page-container {
        flex-direction: row;
        overflow: hidden;
        background-image: none;
    }

    .start-page {
        height: 90vh;
        background-position: center;
    }

    .links {
        align-items: center;
        flex-direction: column;
        justify-self: end;
        background-color: transparent;
        background-color: #00ce94;
    }
    .links > div {
        width: 30%;
        margin: 5px;
    }
    .row {
        display: flex;
        align-items: center;
    }
    .row:not(#first-row) {
        flex-direction: row-reverse; /*diz que a direção do flex será em linha, porém invertendo as posições dos elementos*/
    }
    .row > div > h2 {
        text-align: center;
        font-size: 2rem; /*1rem é igual ao tamanho padrão da fonte da raiz(root) do documento, normalmente 16px, portanto 1rem equivale a 16px*/
    }

    .row > div > p {
        text-align: justify;
        font-size: 1.2rem; 
    }
}