/* HOJA DE ESTILOS-INICIO*/
/* GENERAL */

@font-face {
    font-family: inter18-black;
    src: url(../fonts/Inter_18pt-Black.ttf) format("truetype");
}

@font-face {
    font-family: inter18bold;
    src: url(../fonts/Inter_18pt-Bold.ttf) format("truetype");
}

@font-face {
    font-family: inter18-bolditalic;
    src: url(../fonts/Inter_18pt-BoldItalic.ttf) format("truetype");
}

@font-face {
    font-family: inter18-light;
    src: url(../fonts/Inter_18pt-Light.ttf) format("truetype");
}


@font-face {
    font-family: inter18-medium;
    src: url(../fonts/Inter_18pt-Medium.ttf) format("truetype");
}

@font-face {
    font-family: inter18-mediumitalic;
    src: url(../fonts/Inter_18pt-MediumItalic.ttf) format("truetype");
}

@font-face {
    font-family: publico-bold-italic;
    src: url(../fonts/PublicoHeadlineWeb-BoldItalic.ttf) format("truetype");
}

@font-face {
    font-family: publico-medium-italic;
    src: url(../fonts/PublicoHeadlineWeb-MediumItalic.ttf) format("truetype");
}

/* BODY */
body {
    margin: 0;
    padding-top: 0;
}

html,
body {
    margin: 0;
    padding: 0;
    background: #E5E7FE;
    overflow-x: hidden;
}

h1,
h2,
h3 {
    font-family: inter18bold;
}

p {
    font-family: inter18-medium;
}

/* NAV BAR */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding: 10px 0 !important;
    background-color: #E5E7FE;
}

.active {

    font-family: inter18-black !important;
}

.nav-link {

    padding: 60px 30px !important;
    color: #5965F2;
}

nav a {
    color: #5965F2 !important;
    font-family: inter18-medium !important;
    font-size: 20px !important;
}

.nav-container {
    padding-left: 80px;
    padding-right: 80px;
}

.navbar-brand {
    margin-left: 110px;

}

.navbar-brand img {
    margin-left: -58px;
}



/* HERO */

.hero {
    background-image: url(../imagenes/fotografias/contacto.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 90vh;
    display: flex;
    align-items: center;
    /*  background-position: center -50px;  */
    background-color: #E5E7FE;
}

.hero img {

    width: 70%;
}

.hero-content {
    padding-left: 122px !important;
    padding-top: 0 !important;
}

.hero .row {
    min-height: 90vh;
    align-items: center;
}



/*---------------------------------------------------------------------------*/

/* CONTACTO */


.contacto-section {
    background: #5965F2;
    padding: 120px 0;
}

/* TITULO */

.contacto-info h2 {
    color: white;
    font-size: 45px;
    line-height: 1;
    margin-bottom: 100px;
    font-weight: 300;
}

.contacto-info h2 strong {
    font-weight: 700;
}

.tipografia-destacada {
    font-family: inter18-light;
}

/* REDES */

.redes-contacto {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.social-item {
    display: flex;
    align-items: center;
    gap: 25px;

    text-decoration: none;
    color: white;

    font-size: 2rem;
}

.social-item i {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #F3C9D9;

    color: #5965F2;
    font-size: 1.8rem;
}

/* LABELS */

label {
    display: block;
    color: white;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 12px;
}

/* INPUTS */

.custom-input {
    height: 75px;

    border: none;
    border-radius: 25px;

    background: rgba(255, 255, 255, .15);

    color: white;

    font-size: 1.8rem;

    padding-left: 35px;

    box-shadow:
        0 8px 15px rgba(0, 0, 0, .18);
}

.custom-input::placeholder {
    color: rgba(255, 255, 255, .85);
}

.custom-input:focus {
    box-shadow: none;
    background: rgba(255, 255, 255, .20);
    color: white;
}

/* TEXTAREA */

.custom-textarea {
    min-height: 220px;

    border: none;
    border-radius: 25px;

    background: rgba(255, 255, 255, .15);

    color: white;

    font-size: 1.8rem;

    padding: 25px 35px;

    box-shadow:
        0 8px 15px rgba(0, 0, 0, .18);
}

.custom-textarea::placeholder {
    color: rgba(255, 255, 255, .85);
}

.custom-textarea:focus {
    box-shadow: none;
    background: rgba(255, 255, 255, .20);
    color: white;
}

/* BOTÓN */

.btn-contacto {
    background: #F3C9D9;
    color: #2E3FAE;

    border: none;
    border-radius: 25px;

    padding: 15px 40px;

    font-size: 25px;
    font-weight: 700;

    transition: .3s;
}

.btn-contacto:hover {
    transform: translateY(-3px);
}




/*---------------------------------------------------------------------------*/

/* FOOTER */

.footer-custom {
    background: #4a4a4d;
    padding: 80px 0;
}

.footer-custom h3 {
    color: #ffffff;
    font-size: 32px;
    margin-bottom: 30px;
    font-family: inter18bold;
}

.footer-logo {
    width: 120px;
    margin-bottom: 25px;
}

.footer-copy {
    color: #B7BCFF;
    font-size: 20px;
    line-height: 1.4;
}

.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li {
    margin-bottom: 14px;
}

.footer-list a {
    color: #B7BCFF;
    text-decoration: none;
    font-size: 20px;
    transition: .3s;
}

.footer-list a:hover {
    color: #ffffff;
}

.social-icons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.social-icons a {
    width: 55px;
    height: 55px;
    background: #B7BCFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s;
}

.social-icons a:hover {
    transform: translateY(-3px);
}

.social-icons i {
    color: #4a4a4d;
    font-size: 24px;
}

/* FLECHA */
.flecha {
    position: fixed;
    bottom: 60px !important;
    right: 0 !important;
    display: none;
    z-index: 99999;

}

.flecha img {
    width: 100%;
    transition: all ease 0.3s;
}


.flecha img:hover {
    transform: scale(1.2);
}



/* MEDIA QUERIES*/
/*///////////////////////////////////  1400   /////////////////////////////////////////////////////*/

@media (max-width:1400px) {

    /* NAVBAR*/

    .navbar-brand {
        margin-left: -40px;
    }

    .navbar-brand {
        margin-left: 104px;
    }

    /* 1400 HERO */
    .hero {
        height: 80vh;
        background-position: center center;
    }

    /* 1400 CONTACTO */

    .contacto-section {
        padding: 90px 0;
    }

    .contacto-info h2 {
        font-size: 38px;
        margin-bottom: 70px;
    }

    .redes-contacto {
        gap: 20px;
    }

    .social-item {
        font-size: 1.7rem;
    }

    .social-item i {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }

    .custom-input {
        height: 65px;
        font-size: 1.4rem;
    }

    .custom-textarea {
        min-height: 190px;
        font-size: 1.4rem;
    }

    .btn-contacto {
        font-size: 22px;
        padding: 14px 35px;
    }

    /* 1400 FOOTER */


    .footer-custom {
        padding: 50px 80px;
    }

    .footer-custom h3 {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .footer-logo {
        width: 100px;
        margin-bottom: 20px;
    }

    .footer-copy {
        font-size: 16px;
    }

    .footer-list li {
        margin-bottom: 10px;
    }

    .footer-list a {
        font-size: 16px;
    }

    .social-icons {
        gap: 15px;
    }

    .social-icons a {
        width: 45px;
        height: 45px;
    }

    .social-icons i {
        font-size: 20px;
    }
}


/*///////////////////////////////////  1200  /////////////////////////////////////////////////////*/

@media (max-width:1200px) {

    /* 1200 HERO */
    .hero {
        height: 70vh;
        background-position: center center;
        background-size: cover;
    }

    .hero-content {
        padding-left: 60px !important;
    }

    /* 1200 CONTACTO */
    .contacto-section {
        padding: 80px 0;
    }

    .contacto-info {
        padding-left: 30px;
    }

    .contacto-info h2 {
        font-size: 34px;
        margin-bottom: 55px;
    }

    .social-item {
        font-size: 1.5rem;
        gap: 18px;
    }

    .social-item i {
        width: 45px;
        height: 45px;
        font-size: 1.3rem;
    }

    label {
        font-size: 1.1rem;
    }

    .custom-input {
        height: 58px;
        font-size: 1.2rem;
        padding-left: 25px;
        border-radius: 20px;
    }

    .custom-textarea {
        min-height: 170px;
        font-size: 1.2rem;
        padding: 20px 25px;
    }

    .btn-contacto {
        font-size: 20px;
    }
}

/*///////////////////////////////////  992   /////////////////////////////////////////////////////*/

@media (max-width:992px) {

    /* 992 NAVBAR*/
    .navbar-brand {
        margin-left: 100px;
    }

    .nav-link {
        padding: 20px 30px !important;
    }

    nav a {
        color: #5965F2 !important;
        font-family: inter18-medium !important;
        font-size: 20px !important;
    }

    body {
        padding-top: 0;
    }

    /* 992 HERO */
    .hero {
        height: 60vh;
        background-position: center;
    }

    .contenido-expandido h3 {
        font-size: 28px;
        margin-bottom: 17px;
        line-height: 1;
    }

    .contenido-expandido p {

        font-size: 16px;
        line-height: 1;
        margin-bottom: 27px;
    }

    /* 992 CONTACTO*/
    .contacto-section {
        padding: 70px 0;
    }

    .contacto-info {
        padding-left: 50px;
    }

    .contacto-info h2 {
        font-size: 30px;
        margin-bottom: 40px;
    }

    .redes-contacto {
        gap: 20px;
    }

    .social-item {
        font-size: 1.2rem;
    }

    .social-item i {
        width: 40px;
        height: 40px;
        font-size: 1.1rem;
    }

    label {
        font-size: 1rem;
    }

    .custom-input {
        height: 52px;
        font-size: 1rem;
        border-radius: 14px;
    }

    .custom-textarea {
        min-height: 150px;
        font-size: 1rem;
    }

    .btn-contacto {
        font-size: 18px;
        padding: 12px 28px;
    }


    /* 992 FOOTER */
    .footer-logo {
        width: 50px;
    }

    .footer-custom h3 {
        font-size: 18px;
    }

    .footer-list a,
    .footer-copy {
        font-size: 12px !important;
    }

    .icono-social i {
        font-size: 20px !important;
    }
}

/*///////////////////////////////////  768   /////////////////////////////////////////////////////*/
@media (max-width:768px) {

    /* NAV */
    .navbar {
        padding: 30px 0px !important;
    }

    nav a {
        font-size: 15px !important;
    }

    /* HERO */

    .hero {
        height: 55vh;
        background-position: center;
    }

    /* CONTACTO*/
    .contacto-info {
        padding-left: 15px;
    }

    /* FOOTER */

    .footer-logo {
        width: 50px;
    }

    .footer-custom {
        padding: 30px 0 !important;
    }

    .footer-custom h3 {
        font-size: 14px;
        line-height: 1;
    }

    .footer-list li {
        margin-bottom: 10px;
        line-height: 1;
    }

    .footer-list a,
    .footer-copy {
        font-size: 12px !important;

    }

    .social-icons {
        gap: 10px
    }

    .icono-social i {
        font-size: 15px !important;
        line-height: 1;
    }



}


/*///////////////////////////////////  576   ////////////////////////////////////////////*/

@media (max-width:576px) {

    .navbar-brand {
        margin-top: 30px;
    }

    .navbar {
        position: relative;
    }

    /* HERO */
    .hero {
        height: 50vh;
        background-position: center;
        padding-top: 80px;
        /* ajusta según tu navbar */
        box-sizing: border-box;
    }

    /* FOOTER */
    .footer-custom {
        text-align: center;
    }

    .footer-logo {
        display: block;
        margin: 0 auto 20px;
    }

    .social-icons {
        justify-content: center;
    }

    .footer-custom .col-lg-4,
    .footer-custom .col-lg-2,
    .footer-custom .col-md-6 {
        margin-bottom: 20px;
    }


    .icono-social i {
        font-size: 12px !important;
        line-height: 1;
    }

    .flecha {

        bottom: 10px;
        right: 5px;
        display: block;
        position: fixed;

    }

    .flecha img {
        width: 50%;
    }
}