html, body {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
    font-family: 'REM', sans-serif;
    background-color: #e0ddd8;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

.half {
    width: 50%!important;
    box-sizing: border-box;
}

.full {
    width: 100%!important;
    box-sizing: border-box;
}

textarea {
    font-family: inherit;
    font-size: 16px;
}

.fixed-position {
    overflow-y: hidden;
    height: 100vh;
}

.modaal-inner-wrapper {
    padding: 90px!important;
}

.modaal-close {
    background: whitesmoke!important;
    margin-right: 20px;
}

.modaal-close:after,.modaal-close:before,.modaal-close:hover:after,.modaal-close:hover:before {
    background: #b93d0c!important;
}

#background-section-container {
    width: 100%;
    padding: 0px;
    background-color: #797267;
    margin: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#page-wrapper {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    flex-wrap: nowrap;
    min-height: 100vh;
}

#saber-mas {
    color: white;
    text-decoration: none;
}

#saber-mas:visited {
    color: white;
}

#header-logo {
    width: 200px;
    height: auto;
}

.hidden{
    display: none!important;
}

.main-color-bg{
    background-color: #e8c350!important;
}

header{
    width: 100%;
    height: 90px;
}

.nombre-titulo {
    font-size: 4em;
    margin-bottom: 0px;
    font-family: 'Montserrat', sans-serif;
    font-family: 'Poppins', sans-serif;
    font-family: 'REM', sans-serif;
    font-family: 'Roboto', sans-serif;
    font-family: 'Satisfy', cursive!important;
    font-family: 'Ubuntu', sans-serif;
}

.subtitle {
    font-size: 1.6em;
    font-weight: lighter;
}

h2{
    font-size: 2.5em;
}

#hamburger{
    display: none;
    font-size: 40px;
    justify-self: center;
    align-self: center;
    color: black!important;
    text-decoration: none;
    cursor: pointer;
}

#hamburger-content{
    box-sizing: border-box;
    padding: 50px;
}

#tags-container{
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    justify-content: center;
    height: 60%;
    box-sizing: border-box;
}

.hamburger-tag{
    display: inline-block;
    transition: transform 200ms, background 200ms;
    color: rgb(39, 38, 38);
    font-size: 1.8em;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: 0.05em;
    position: relative;
}

/* SCROLL ANIMATION*/
.hamburger-tag:after {    
    background: none repeat scroll 0 0 transparent;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    background: #224e70;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
  }
.hamburger-tag:hover:after { 
    width: 100%; 
    left: 0; 
  }

#hamburger-content {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: #e0ddd8;
    display: none;
}

#header-content {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 50px;
    padding-right: 50px;
    background-color: #f2eee1;
    align-items: center;
}

#header-buttons-div{
    display: flex;
    gap: 30px;
    align-items: center;
}

.header-option{
    display: inline-block;
    transition: transform 200ms, background 200ms;
    color: #bc9732;
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: none;
}

.header-option:hover{
    transform: translateY(-2px);
}

#background-section {
    width: 100%;
    display: flex;
    height: 900px;
    color: white!important;
    max-width: 1500px;
}

#image-container {
    width: 60%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#imagen-natalia {
    height: 70%;
    border-radius: 1.8%;
}

#title-section-container {
    padding: 50px;
    padding-left: 120px;
    padding-top: 60px;
    width: 550px;
}

#more{
    display: flex;
    justify-content: center;
    margin-top: 50px;
    gap: 8%;
}

.banner-title {
    box-sizing: border-box;
    width: 100%!important;
    text-align: center!important;
    padding: 50px;
    padding-top: 10px;
    margin-top: 10px!important;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

#banner-section{
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
    display: flex;
    padding: 50px;
}

#banner{
    width: 100%;
}

#banner-img-container{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1%;
    width: 45%;
}

.text-banner{
    font-size: 1.2em;
    text-align: justify;
    margin-bottom: 0px;
}

#ordered-list{
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 50%;
}

.list-item{
    padding: 10px;
    display: flex;
    gap: 10px;
    font-size: 1.2em;
    text-align: justify;
}

.list-icon{
    font-size: 2em!important;
    color: #224e70;
}

.list-p{
    background-color: #dbe1e4;
    box-shadow: 0 8px 8px -4px lightblue;
    border-radius: 10px;
    padding: 20px;
}

#waves-container{
    width: 101%;
    margin-bottom: -5px;
    margin-right: -5px;
}

#waves-top{
    width: 100%;
    display: block;
}

.button{
    display: inline-block;
    outline: 0;
    border: 0;
    cursor: pointer;
    background: #000000;
    color: #FFFFFF;
    border-radius: 8px;
    padding: 14px 24px 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    transition: transform 200ms, background 200ms;
    text-decoration: none;
}

.button:hover{
    transform: translateY(-2px);
}

#video-section{
    box-sizing: border-box;
    padding: 40px;
    width: 130%;
    
}

#section-title {
    margin-top: 40px;
    margin-bottom: 50px;
    font-size: 3em;
    text-decoration: underline;
    -webkit-text-decoration-color: #e8c350; /* Safari */  
    text-decoration-color: #e8c350;
    text-underline-offset: 9px;
    text-align: center;
}

#sobre-mi {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

#sobre-mi-title {
    font-size: 3em;
    text-decoration: underline;
    -webkit-text-decoration-color: #e8c350; /* Safari */  
    text-decoration-color: #e8c350;
    text-underline-offset: 9px;
}

#sobre-mi-text {
    padding: 60px;
    padding-top: 0px;
    text-align: justify;
    max-width: 1500px;
}

#requisitos{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    box-sizing: border-box;
    justify-content: center;
    padding: 50px;
    gap: 40px 40px;
    width: 100%;
    font-size: 1.2em;
    
}

.tarjeta-requisito{
    padding: 20px;
    border-left: 6px solid #558ABB;
    box-sizing: border-box;
    background-color: #F4F7F8;
    text-align: justify;
    flex-basis: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#preguntas{
    padding-left: 60px;
    padding-right: 30px;
}

#preguntas-container{
    display: flex;
}

#contacto-title{
    margin-top: 0px;
}

#form-footer {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

#footer-container {
    color: white;
    box-sizing: border-box;
    bottom: 0;
    width: 100%;
}

#footer-content {
    background-color: #1d1713;
    padding-left: 50px;
    padding-right: 50px;
    padding-bottom: 20px;
    padding-top: 40px;
}

.footer-section {
    display: flex;
    justify-content: space-between;
}

.autor-section-container {
    display: flex;
    flex-direction: column;
}

h3 {
    margin-bottom: 5px;
}

.social-icons {
    font-size: 26px;
    color: white;
}

.social-icons:hover {
    transform: translateY(-4px);
    transition: transform 0.2s;
}

.social-icons:visited {
    color: white;
}

#contact-email {
    margin-top: 5px;
    margin-bottom: 0px;
    color: white;
}

#contact-email:visited {
    color: white;
}

#social-icons-container {
    display: flex;
    gap: 15px;
}

.proyectos {
    color: white;
}

.proyectos:visited {
    color: white;
}

#autor-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    margin-bottom: 20px;
}

.autor-text {
    margin: 0px;
    color: white;
}

.autor-text:visited {
    color: white;
}

@media only screen and (max-width: 1400px) {

    #title-section-container {
        padding-left: 6%;
    }

    nombre-titulo {
        font-size: 3.0em;
    }

    #preguntas-container {
        flex-direction: column-reverse;
    }

    #video-section {
        box-sizing: border-box;
        width: 90%;
        max-width: 800px;
        padding: 10px;
        align-self: center;
    }

    #motivos {
        flex-direction: column;
        align-items: center;
    }
}

@media only screen and (max-width: 1000px) {

    #section-title, .banner-title { 
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        padding-right: 20px;
        padding-left: 20px;
        margin-right: 0;
        margin-left: 0;
        margin-top: 30px;
        font-size: 3em;
    }
    
    #header-buttons-div {
        display: none;
    }

    #hamburger {
        display: inline-block;
    }

    #hamburger-content{
        display: block;
    }
    
    #background-section {
        flex-direction: column;
        align-items: center;
        height: auto;
        padding-bottom: 80px;
    }

    #title-section-container {
        width: 100%;
        padding-top: 30px;
        padding-bottom: 60px;
        box-sizing: border-box;
    }

    #imagen-natalia {
        width: 100%;
        height: auto;
    }
}

@media only screen and (max-width: 800px) {


    #title-section-container{
        box-sizing: border-box;
        padding: 120px;
        padding-top: 40px;
        width: 100%;
        padding-bottom: 60px;
    }


    #requisitos{
        padding: 40px;
        font-size: 1em;
        gap: 20px;
    }

    .requisito {
        width: 50%;
        flex-basis: 50%;
    }

    #preguntas {
        box-sizing: border-box;
        width: 100%;
        padding: 20px;
    }

    .question-title {
        font-size: 1.2em!important;
        padding-left: 0px!important;
    }

    #motivos {
        padding: 10px;
    }

    #motivos-titulo {
        font-size: 1.3em;
    }

    #motivos-lista {
        margin-top: 20px;
        padding-left: 5px;
    }

    .motivo {
        font-size: 1em;
    }

    .bi-check-circle-fill {
        font-size: 1.5em!important;
    }

    #banner-section{
        flex-direction: column;
    }

    #banner-img-container{
        width: 100%;
    }

    #banner-section {
        padding-left: 25px;
    }

    #banner{
        padding: auto;
    }

    #ordered-list{
        width: 100%;
    }

    .list-item {
        width: 100%;
    }
}

@media only screen and (max-width: 650px) {

    #more {
        flex-direction: column;
        gap: 35px;
        text-align: center;
    }

    .modaal-inner-wrapper {
        padding: 80px 12px!important;
    }


    .footer-section {
        flex-direction: column;
    }

    nombre-titulo {
        font-size: 2em;
    }

    .subtitle {
        font-size: 1em;
    }

    h2 {
        font-size: min(8vw, 2.5em);
    }

    .banner-title {
        padding: 12px;
    }

    #title-section-container > h2{
        font-size: 1.8em;
    }

    #title-section-container{
        box-sizing: border-box;
        padding: 12%;
        padding-top: 20px;
        width: 100%;
    }

    #autor-container {
        align-items: start;
        flex-direction: row;
        flex-flow: row wrap;
        gap: 15px;
    }

    #autor-container > p {
        flex-basis: 100%;
    }

}

@media only screen and (max-width: 450px) {
    
    
    .modaal-inner-wrapper {
        padding: 90px 8px!important;
    }

    .modaal-content-container {
        padding: 20px!important;
    }
}

#contact-top-bar {
    display: flex;
    gap: 20px;
  }
  
@media only screen and (max-width: 800px) { 

#contact-top-bar { 
    flex-direction: column;
    gap: 0px;
}
}

.general-link {
    font-weight: bold;
    color: #bc9732;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    display: inline-block;
}

.general-link:hover {
    transform: scale(1.025);
}