:root {
    --light-green: #acaa00;
    --dark-green: #636f03;
    --secondary-blue: #252b42;
    --orange: #eb6e29;
    --yellow: #fbb100;
}

@font-face {
    font-family: "Sofia Pro";
    src:
        url("../fonts/sofia_pro_medium.woff2") format("woff2"),
        url("../fonts/sofia_pro_medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Sofia Pro";
    src:
        url("../fonts/sofia_pro_bold.woff2") format("woff2"),
        url("../fonts/sofia_pro_bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    color: black;
    font-family: "Sofia Pro", Arial, Helvetica, sans-serif;
    font-weight: 500;
    max-width: 100%;
    overflow-x: hidden !important;
    background-color: white;
}

#overlay {
    display: none;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: #383838 repeat;
    z-index: 500;
}

h1,
h2,
h3,
h4,
h5,
h6,
b,
strong {
    font-weight: 700;
}

#loader {
    display: none;
    margin: auto;
}

.navbar {
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
    border-radius: 1rem;
    background: #fbfaf9;
}
.navbar .btn {
    font-size: 0.5rem;
}

.navbar-brand {
    max-width: 70%;
}

.navbar-brand img {
    width: 100%;
    max-height: 40px;
    object-fit: contain;
}

.navbar-collapse .navbar-nav {
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    padding-top: 1rem;
    font-size: 1rem;
}

.custom-navbar-buttons .btn {
    padding: 0.5rem 0.9rem;
    border-radius: 50px;
    border-width: 1px;
}

.ucentral-hero-section {
    border-radius: 1.625rem;
    background: url(../img/bg-hero.webp) lightgray 50% / cover no-repeat;
    margin: 1rem;
    padding: 0.1rem 1rem;
}

.ucentral-hero-section h1 {
    font-size: 1.6rem;
    color: var(--dark-green);
}

.ucentral-hero-section h1 span {
    display: block;
    color: black;
    font-weight: 500;
}

.ucentral-hero-section h2 {
    display: block;
    font-size: 0.8rem;
    font-weight: 500;
}

.form-container {
    z-index: 999999;
    position: relative;
    background-color: white;
    border-radius: 1.5rem;
    padding: 1.5rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}
.form-container h3 {
    font-size: 1.4rem;
}

.legals {
    font-size: 0.7rem;
}
.legals a {
    color: inherit;
}
.form-container .form-control,
.form-container .form-select {
    background-color: #f7f7f7;
    border: 1px solid #e0e0e0;
    border-radius: 5rem;
}

.btn-custom-primary {
    background: var(--light-green, #acaa00);
    color: white;
    border: none;
}
.btn-custom-primary:hover {
    border-radius: 1.5rem;
    background: var(--light-green, #acaa00);
    box-shadow: 0px -3px 0px 0px var(--green, #636f03) inset;
    color: white;
}

.btn-custom-outline {
    border-color: black;
    color: black;
}
.btn-custom-outline.active {
    border-color: #5a782d;
    color: #5a782d;
    border-width: 2px;
}

.btn-custom-orange {
    background-color: var(--dark-green);
    color: white;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    border: none;
    transition: transform 0.3s ease-in-out;
}
.btn-custom-orange:hover {
    background-color: var(--dark-green);
    color: white;
    transform: translateY(-4px);
}
.btn-custom-orange:active,
.btn-custom-orange:focus {
    background-color: var(--dark-green) !important;
    color: white !important;
    transform: translateY(-4px) !important;
    box-shadow: none !important;
}

.highlight {
    background-color: var(--dark-green);
    color: white;
    padding: 0.1rem 0.6rem;
    border-radius: 1rem;
}

.text-custom-orange {
    color: var(--dark-green);
}

.info-pregrado {
    background-color: #f8f9fa;
}

.info-pregrado .col-izquierda h2,
.info-pregrado .col-izquierda p,
.info-pregrado .col-izquierda h4 {
    text-align: left;
}

.info-pregrado p {
    font-size: 0.8rem;
    color: black;
    text-align: left;
}

.info-pregrado h4 {
    color: var(--dark-green);
    font-size: 1.3rem;
}

.info-pregrado .list-unstyled {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.info-pregrado ul li > div {
    color: black;
    font-size: 0.7rem;
    border-radius: 5rem;
    border: 1px solid rgba(18, 18, 18, 0.24);
    padding: 0.5rem 1rem;
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    text-align: center;
    justify-content: center;
}

.info-pregrado .image-container {
    position: relative;
    width: 100%;
    padding-bottom: 67%;
    background-size: cover;
    background-position: center;
}
.info-pregrado.sistemas .image-container {
    background-image: url(../img/maestria-analitica.webp);
}
.info-pregrado.economia .image-container {
    background-image: url(../img/maestria-aseguramiento.webp);
}

.info-pregrado .orange-box {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 33.2%;
    background-color: var(--dark-green);
    border-radius: 1rem;
    min-height: 46%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.info-pregrado.economia .orange-box {
    left: 66%;
}
.info-pregrado .orange-box img {
    width: 3rem;
    height: auto;
}
.info-pregrado .orange-box-right img {
    width: 1.9rem;
    height: auto;
}

.info-pregrado .orange-box h5 {
    color: #fff;
    font-size: 0.8rem;
}

.info-pregrado .orange-box .card-icon {
    filter: brightness(0) invert(1);
}

.info-pregrado .card-info {
    height: 100%;
}
.info-pregrado .orange-box-right {
    background-color: var(--dark-green);
    border-radius: 1rem;
    min-height: 10.2rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    color: white;
    text-align: left;
}

.orange-border-box {
    border-radius: 1.25rem;
    border: 2px solid var(--dark-green);
    background: #fff;
    color: var(--dark-green);
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    text-align: left;
}

.orange-border-box span {
    font-size: 1rem;
    font-weight: 500;
}

.info-pregrado .card-info h5 {
    text-align: left;
    font-size: 1.1rem;
}

.info-pregrado .card-info .small-text {
    font-size: 0.875em;
    color: #6c757d;
}

.info-pregrado .card-icon {
    width: 40px;
    height: 40px;
}

.orange-border-box.card-info img.card-icon {
    width: 3rem;
    height: auto;
}

footer {
    background-color: black;
}
footer .btn.btn-footer {
    background-color: var(--light-green);
    color: white;
}

.ventajas-ucentral h2 {
    font-size: 1.4rem;
}
.ventajas-ucentral h2 span {
    color: var(--dark-green);
}
.ventajas-ucentral .card {
    border-radius: 0.625rem;
    background: #fff;
    box-shadow: 0px 4px 10px 3px rgba(0, 0, 0, 0.07);
    width: 96%;
}
.ventajas-ucentral .card-body {
    text-align: center;
}
.ventajas-ucentral .card-body img {
    background-color: black;
    border-radius: 0.6rem;
    width: 3.3rem;
    padding: 0.5rem;
}

.apoyo-economico {
    overflow-x: hidden;
    padding-bottom: 3rem;
}

.green-banner {
    background-color: var(--dark-green);
    border-top-right-radius: 200px;
    border-bottom-right-radius: 200px;
    padding: 3rem 0;
    margin: 2rem 0 3rem 0;
}

.green-banner p {
    font-size: 1rem;
}

.logo-card {
    margin-top: -5rem;
}

@media (min-width: 600px) {
    .ucentral-hero-section h1 {
        font-size: 2.3rem;
    }
    .green-banner {
        padding: 3rem 4rem;
        margin: 0 2rem 3rem 0;
    }
    .ventajas-ucentral .card {
        width: 70%;
    }
    .ventajas-ucentral h2 {
        font-size: 1.9rem;
    }
    .info-pregrado h2,
    .info-pregrado h4 {
        font-size: 1.3rem;
    }
    .info-pregrado p {
        font-size: 1rem;
    }
    .info-pregrado .orange-box img {
        width: 3rem;
        height: auto;
    }
    .info-pregrado .orange-box h5 {
        font-size: 0.6rem;
    }
    .ucentral-hero-section h2 {
        font-size: 1.6rem;
    }
    .ucentral-hero-section {
        margin: 1rem;
        padding: 0.2rem 1rem;
    }
    .navbar-brand img {
        max-height: 60px;
    }
    .navbar .btn {
        font-size: 1rem;
    }
}

@media (min-width: 992px) {
    .info-pregrado ul li > div {
        font-size: 0.9rem;
        justify-content: flex-start;
    }
    .form-container h3 {
        font-size: 1.9rem;
    }
    .ventajas-ucentral h2 {
        font-size: 2.5rem;
    }
    .info-pregrado h2,
    .info-pregrado h4 {
        font-size: 1.9rem;
    }
    .info-pregrado p {
        font-size: 1.3rem;
    }
    .navbar-collapse .navbar-nav {
        padding-top: 0;
    }
    .info-pregrado .orange-box img {
        width: 41%;
    }
    .info-pregrado .orange-box h5 {
        font-size: 1rem;
    }
    .navbar-brand img {
        max-height: 45px;
    }

    .custom-navbar-buttons .btn {
        padding: 0.5rem 2.2rem;
    }

    .ucentral-hero-section {
        margin: 2rem;
        padding: 2rem;
    }

    .ucentral-hero-section h1 {
        font-size: 3.5rem;
    }

    .ucentral-hero-section.oferta h1 {
        font-size: 4.5rem;
    }

    .form-container {
        padding: 2.5rem;
    }
}

@media (min-width: 1200px) {
    .green-banner {
        padding: 3rem 4rem;
        margin: 0 2rem 3rem 0;
    }
    .ventajas-ucentral .card {
        width: 70%;
    }
    .info-pregrado h4 {
        font-size: 1.3rem;
    }
    .info-pregrado p {
        font-size: 0.9rem;
    }
}
@media (min-width: 1500px) {
    .green-banner {
        padding: 3rem 4rem;
        margin: 0 2rem 3rem 0;
    }
    .ventajas-ucentral .card {
        width: 70%;
    }
    .info-pregrado p {
        font-size: 1.3rem;
    }
}

@media (min-width: 2400px) {
    .green-banner {
        padding: 3rem 38rem;
        margin: 0 12rem 3rem 0;
    }
}
