:root {
    --color-primary: #691C32;
    --color-secondary: #636569;
    --color-light: #ffffff;
    --color-dark: #000000;
}
@font-face {
    font-family: "Mestiza";
    font-display: swap;
    src: local("Mestiza"), local("Mestiza-Regular"), url("../fonts/Mestiza-Regular.otf") format("opentype");
}
@font-face {
    font-family: "Mestiza";
    font-display: swap;
    src: local("Mestiza Regular Italic"), local("Mestiza-RegularItalic"), url("../fonts/Mestiza-RegularItalic.otf") format("opentype");
    font-style: italic;
}
@font-face {
    font-family: "Mestiza";
    font-display: swap;
    src: local("Mestiza Bold"), local("Mestiza-Bold"), url("../fonts/Mestiza-Bold.otf") format("opentype");
    font-weight: bold;
}
@font-face {
    font-family: "Mestiza";
    font-display: swap;
    src: local("Mestiza Bold Italic"), local("Mestiza-BoldItalic"), url("../fonts/Mestiza-BoldItalic.otf") format("opentype");
    font-weight: bold;
    font-style: italic;
}



html {
    font-size: 62.5%;
}
body {
    font-family: "Mestiza", Arial, sans-serif;
}
h1 {
    font-size: 4rem;
    font-weight: bold;
}
h2 {
    font-size: 3.2rem;
    font-weight: bold;
}
h3 {
    font-size: 2rem;
    font-weight: bold;
}
p {
    font-size: 1.6rem;
    font-family: Arial, sans-serif;
}
a {
    text-decoration: none;
}



.bg-color-primary {
    background-color: var(--color-primary);
}
header nav a {
    color: #FFFFFF;
}
header nav a:hover {
    color: #636569;
}
header nav .logo__img {
    height: 8rem;
    width: 6.8rem;
}
.nav-item {
    margin: auto 0.8rem;
}
.nav-link {
    font-family: "Mestiza", Arial, sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    color: #FFFFFF;
}
.dropdown-item {
    font-family: "Mestiza", Arial, sans-serif;
    font-size: 1.6rem;
}



.hero {
    height: 48rem;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(99, 101, 105, 0.8)), to(rgba(99, 101, 105, 0.8))), url("../images/hero.webp");
    background-image: linear-gradient(rgba(99, 101, 105, 0.8), rgba(99, 101, 105, 0.8)), url("../images/hero.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
.hero__text {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    color: #FFFFFF;
}
.hero__text p {
    font-size: 2rem;
    font-style: italic;
    font-weight: bold;
}



.programs {
    background-color: #FFFFFF;
    color: #691C32;
    text-align: center;
}
.programs__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.programs .program {
    width: 24rem;
    height: 24rem;
    margin: 1.2rem;
    padding: 0.8rem;
    color: #691C32;
}
.programs .program svg {
    margin-bottom: 2rem;
}
.programs .program h3 {
    margin-bottom: 4rem;
}
.programs .program a {
    padding: 1.2rem;
    font-size: 1.6rem;
    background-color: #691C32;
    color: #FFFFFF;
    border-radius: 0.8rem;
}
.programs .program a:hover {
    background-color: #636569;
}



.message {
    background-color: #691C32;
    color: #FFFFFF;
    text-align: center;
}
.message h2 {
    margin-bottom: 2rem;
}
.message .container p {
    text-align: justify;
}
.message .container p:first-of-type {
    font-weight:900;
}
.message__signature {
    padding: 4rem 0;
}
.message .container .message__signature p {
    text-align: center;
    font-weight:900;
}



.calls {
    width: 100%;
    min-height: 44rem;
    background-color: #FFFFFF;
    color: #691C32;
    text-align: center;
}



.services {
    background-color: #691C32;
    color: #FFFFFF;
    text-align: center;
}
.services__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.services .service {
    width: 20rem;
    height: 16rem;
    margin: 2rem;
    padding: 0.8rem;
    border: 0.4rem solid #FFFFFF;
    border-radius: 1.6rem;
    -webkit-box-shadow: 0rem 2rem 3.2rem 0rem rgba(0, 0, 0, 0.2);
            box-shadow: 0rem 2rem 3.2rem 0rem rgba(0, 0, 0, 0.2);
    color: #FFFFFF;
}
.services .service:hover {
    color: #636569;
    border: 0.4rem solid #636569;
}
.services .service svg {
    margin-bottom: 2rem;
}
.services .service h3 {
    margin-bottom: 4rem;
}



.notes {
    width: 100%;
    min-height: 44rem;
    background-color: #FFFFFF;
    color: #691C32;
    text-align: center;
}



.links {
    background-color: #691C32;
    color: #FFFFFF;
}
.links h2 {
    margin-bottom: 2rem;
    text-align: center;
}
.links__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.links__container ul {
    width: 100%;
    list-style: none;
}
.links__container ul li {
    padding-bottom: 1.2rem;
}
.links__container ul li a {
    font-size: 1.6rem;
    font-weight: bold;
    color: #FFFFFF;
}
.links__container ul li a:hover {
    color: #636569;
    text-decoration: underline;
}



.social-media {
    width: 100%;
    background-color: #FFFFFF;
    color: #691C32;
    text-align: center;
}



.footer {
    background-color: #FFFFFF;
    color: #691C32;
    border-top: 1.2rem solid #636569;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.footer img {
    width: 50%;
    height: auto;
}
.footer__left {
    padding: 1.2rem;
}
.footer__left ul {
    list-style: none;
}
.footer__left ul li {
    font-size: 1.6rem;
}
.footer__left ul li:nth-child(1) {
    font-size: 2rem;
    font-weight: bold;
}
.footer__left ul li:nth-child(5) {
    margin: 1.2rem 0;
}
.footer__left ul li a {
    color: #691C32;
    font-weight: bold;
}
.footer__left ul li a:hover {
    color: #636569;
    text-decoration: underline;
}
.footer__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    margin-bottom: 2rem;
}
.footer__bottom {
    width: 100%;
    background-color: #636569;
    color: #FFFFFF;
    text-align: center;
}
.footer__bottom p {
    font-size: 1.2rem;    
}
.footer__bottom p a {
    color: #FFFFFF;
}
.footer__bottom p a:hover {
    color: #691C32;
    text-decoration: underline;
}



.preinscripcion__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.preinscripcion__container .icon {
    width: 16rem;
    margin: 1.2rem;
    padding: 0.8rem;
    color: #691C32;
}
.preinscripcion__container a {
    max-width: 20rem;
    padding: 1.2rem;
    font-size: 1.6rem;
    background-color: #691C32;
    color: #FFFFFF;
    border-radius: 0.8rem;
    margin-bottom: 2rem;
}
.preinscripcion__container a:hover {
    background-color: #636569;
}



@media screen and (min-width: 576px) {
    h1 {
        font-size: 4.8rem;
    }
    h2 {
        font-size: 4rem;
    }
    p {
        font-size: 2rem;
    }



    .nav-link {
        font-size: 2rem;
    }
    .dropdown-item {
        font-size: 2rem;
    }



    .hero {
        height: 28rem;
        background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(99, 101, 105, 0.8)), to(rgba(99, 101, 105, 0.8))), url("../images/hero-desktop.webp");
        background-image: linear-gradient(rgba(99, 101, 105, 0.8), rgba(99, 101, 105, 0.8)), url("../images/hero-desktop.webp");
    }
    .hero__text p {
        font-size: 2.4rem;
    }



    .links__container ul {
        width: 50%;
    }
    .links__center {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    }
    .links__right {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    }



    .footer .footer__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: auto;
    }
    .footer .footer__container .footer__left {
        width: 50%;
    }
    .footer .footer__container .footer__right {
        width: 50%;
        margin-bottom: 0;
    }
}



@media screen and (min-width: 768px) {
    .links__container ul {
        width: 33%;
    }
    .links__center {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }
    .links__right {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
    }
}



@media screen and (min-width: 992px) {
    h1 {
        font-size: 6.8rem;
    }
    h2 {
        margin: 4rem 0;
        font-size: 4.8rem;
    }



    .hero {
        height: 64rem;
    }
    .hero__text p {
        font-size: 2.8rem;
    }



    .programs__container {
        margin-bottom: 4rem;
    }



    .message h2 {
        margin: 4rem 0;
    }
    .message__container p {
        max-width: 68rem;
        margin-bottom: 4rem;
    }
    .message__img {
        max-width: 44rem;
        margin-top: 0;
    }



    .calls {
        min-height: 72rem;
    }



    .services__container {
        margin-bottom: 4rem;
    }



    .notes {
        min-height: 72rem;
    }



    .links h2 {
        margin-bottom: 4rem;
    }



    .footer__left {
        padding: 4rem 0 4rem 1.2rem;
    }
    .footer__bottom p {
        font-size: 1.6rem;
    }
}