:root {
    --flourescent-blue: #00f9ef;
    --heliotrope-gray: #aba6bd;
    --background: #8d7be7;
    --background-2: #3f26cc85;
    --russian-violet: #150849;
    --dark-violet: #0c003d;
    --space-cadet: #221d48;
    --blue-ryb: #0052ff;
    --white: #ffffff;

    --gradient: linear-gradient(to right, var(--flourescent-blue), var(--blue-ryb));
    
    --ff-josefin: 'Arimo', Arial, sans-serif;

    --fs-1: 25px;
    --fs-2: 18px;
    --fs-3: 17px;
    --fs-4: 10px;
    --fs-5: 12px;
    --fs-6: 15px;
    --fs-7: 13px;
    --fs-8: 9px;

    --fw-500: 500;
    --fw-700: 700;

    --transition: 0.25s ease-in-out;

    --section-padding: 35px;
    --section-padding-2: 55px;
    --section-padding-newsletter: 95px;
}

*,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box; }
li { list-style: none; }
a { text-decoration: none; }
a, img, span, input, button, ion-icon { display: block; color: inherit; }
    button { cursor: pointer; border: none; }
    input { font:inherit; border:none; width: 100%; }
:focus { outline-offset: 4px; }
html { font-family: var(--ff-josefin); scroll-behavior: smooth; }
body { background-color: var(--dark-violet); color: var(--white); }

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background-color: var(--dark-violet); border-left: 1px solid var(--space-cadet); }
::-webkit-scrollbar-thumb { background: hsla(0, 0%, 100%, .8); }
::-webkit-scrollbar-thumb:hover { background: hsla(0, 0%, 100%, .6); }

.btn {
    background: var(--blue-ryb);
    color: var(--white);
    font-size: var(--fs-8);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 5px 7px;
    border-radius: 4px;
}

.btn-primary {
    background: var(--gradient);
    background-size: 500%;
    background-position: right;
    padding: 15px 25px;
    gap: 8px;
    transition: background var(--transition);
}

    .btn-primary:is(:hover, :focus) { background-position: left; }
    .btn-primary > ion-icon { font-size: 18px; }
    .btn-primary > span { margin-top: 3px; }

.container { padding: 0 15px; }
.h3 { color: var(--white); font-size: var(--fs-5); line-height: 1.5; }
.text-highlight { color: var(--background); }

/*HEADER*/

header {
    position: fixed;
    top: -90px;
    left: 0;
    width: 100%;
    padding-block: 15px;
    box-shadow: 0 1px 3px hsla(0, 0%, 100%, .5);
    background: var(--russian-violet);
    z-index: 4;
    transition: var(--transition);
}

    header.active { top: 0; }
    header .container { display: flex; align-items: center; justify-content: space-between; }
    .nav-toggle-btn { color: var(--white); font-size: 35px; border-radius: 4px; background: none;}
    .nav-toggle-btn ion-icon { --ionicon-stroke-width: 40px; }
    .navbar {
        position: fixed;
        bottom: -270px;
        left: 0;
        width: 100%;
        background: var(--russian-violet);
        border-radius: 8px 8px 0 0;
        padding: 30px 10px 10px;
        box-shadow: 0 -1px 10px hsla(0, 0%, 100%, .5);
        z-index: 2;
        visibility: hidden;
        transition: .15s ease-in;
    }
        .navbar::before {
            content: '';
            position: absolute;
            top: 13px;
            left: 50%;
            transform: translateX(-50%);
            width: 50px;
            height: 4px;
            background: hsla(0, 0%, 100%, .05);
            border-radius: 5px;
        }
   
    .navbar.active { bottom: 0; visibility: visible; transition: .25s ease-out; }
    .navbar-list { padding-bottom: 5px; border-bottom: 1px solid hsla(0, 0%, 100%, .05); margin-bottom: 5px; }
    .navbar-link { color: var(--white); font-size: var(--fs-5); padding: 17px 2px; border-radius: 4px; text-align: justify;}
    .navbar-link:is(:hover, :focus) { background: hsla(0, 0%, 100%, .1); }
    .navbar-actions { display: flex; justify-content: space-around; align-items: center; }
    .navbar-btn {  font-size: 25px; padding: 5px; border-radius: 4px; background: none; }
    .navbar-btn:is(:hover, :focus), .navbar-actions .btn:is(:hover, :focus) { color: var(--blue-ryb);}
    .overlay { position: fixed; inset: 0; pointer-events: none; z-index: 1; transition: var(--transition); }
    .overlay.active { pointer-events: all; background: hsla(0, 0%, 0%, .7); }

/*HERO*/

.hero{
    padding:140px 0 50px;
}

.hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap: 10px;   
    position: relative;
}

.hero-title{
    display:block;
    width:100%;
    max-width:1300px;   /*900*/
    height:auto;
}

.hero-cover-text{
    color: var(--white);
    font-size: var(--fs-4);
    line-height: 1.8;
    max-width: 350px;
}

.hero-text{
    color: var(--white);
    font-size: var(--fs-5);
    line-height: 1.5;
    max-width: 200px;  
    text-align: center;
}
.bienvenidos {
    font-weight: bold;
    display: inline;
    background: linear-gradient(
        90deg,        
        #9be7ff 0%,
        #8d7be7 25%,
        #4fc3f7 50%,        
        #0288d1 75%,
        #0052ff 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;    
    text-shadow: 0 0 12px rgba(149, 249, 246, 0.35);
}

.hero-image{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    max-width: 900px;
    margin-inline:auto;
}

.hero-banner { display: none; }

/*PODCAST*/

.podcast { padding: 46px 0; }
.podcast-list { display: grid; gap: 30px; }
.podcast-card { border-radius: 4px;}
.card-banner { position: relative; border-radius: 8px; overflow: hidden; margin-bottom: 20px; z-index: 1; }
    .podcast-card:is(:hover, :focus) .card-banner::before{ background: hsla(0, 0%, 100%, .1); }
    .card-banner img { width: 100%; }

.card-banner-icon {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    color: var(--white);
    border: 2px solid var(--white);
    border-radius: 50%;
    font-size: 20px;
    transition: var(--transition);
}

    .podcast-card:is(:hover, :focus) .card-banner-icon { background: var(--white); color: var(--blue-ryb); }
    .podcast-card .card-title {
        display: inline;
        padding: 3px 0;
        background: var(--gradient);
        background-position: 0 95%;
        background-repeat: no-repeat;
        background-size: 0 2px;
        transition: var(--transition);
    }

    .podcast-card:is(:hover, :focus) .card-title { background-size: 100% 2px; }

.card-meta {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    color: var(--heliotrope-gray);
    font-size: var(--fs-6);
    margin-left: 35px;
    margin-bottom: 15px;
}

    .card-meta::before {
        content: '';
        position: absolute;
        top: 50%;
        left: -35px;
        transform: translateY(-2px);
        width: 25px;
        height: 2px;
        background: var(--heliotrope-gray);
    }


/*NEWSLETTER*/
.newsletter { padding: var(--section-padding-newsletter) 0; width: 75%; margin: 0 auto }

.newsletter-card {   
    background: url('./img/fondo_news.png') no-repeat center / cover;
    padding: 60px 20px;
    border-radius: 12px;
}

    .newsletter-card .card-title { font-size: var(--fs-1); line-height: 1.3; margin-bottom: 10px; }
    .newsletter-card .card-text { font-size: var(--fs-5); line-height: 1.5; margin-bottom: 20px; color:white }
    .newsletter-card .input-field {
        padding: 18px 15px;
        border-radius: 4px;
        background: hsla(0, 0%, 100%, .3);
        color: var(--white);
        font-size: var(--fs-4);
        border: 1px solid var(--white);
        margin-bottom: 20px;
    }
        .newsletter-card .input-field:focus { outline: none; }
        .newsletter-card .input-field::placeholder { color: inherit; transition: var(--transition); }
        .newsletter-card .input-field:focus::placeholder { opacity: 0; }

        .newsletter-card .btn-primary { font-size: var(--fs-3); width: 100%; padding-block: 18px;}
        .newsletter-card .btn-primary:disabled { cursor: not-allowed; background-position: right; }
.popup-newsletter{
    position:fixed;
    top:30px;
    right:30px;
    background:#4CAF50;
    color:white;
    padding:18px 30px;
    border-radius:8px;
    opacity:0;
    transition:.4s;
    z-index: 3;   
}
.popup-newsletter.show{
    opacity:1;
}

/*FOOTER*/

.footer-top { padding: var(--section-padding) 0; border-bottom: 1px solid var(--space-cadet); }
.footer-brand, .footer-brand .logo { margin-bottom: 25px; }
.footer-text { color: var(--heliotrope-gray); line-height: 1.5; font-size: var(--fs-6); text-align: justify; }
.footer-list { margin-bottom: 30px; }
    .footer-list > li:not(:last-child) { margin-bottom: 15px; }
.footer-link-title { font-size: var(--fs-6); font-weight: var(--fw-700); }
.footer-link { color: var(--heliotrope-gray); font-size: var(--fs-6); width: max-content; margin-bottom: 22px; }
    .footer-link:is(:hover, :focus) { color: var(--blue-ryb); }
.social-title {
    background: var(--gradient);    
    font-size: var(--fs-2);
    font-weight: var(--fw-700);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    margin-bottom: 15px;
}

.social-list { display: flex; justify-content: flex-start; align-items: center; gap: 10px; }

.social-link {
    background: var(--space-cadet);
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    color: var(--white);
    font-size: 20px;
    border-radius: 50%;
}

    .social-link:is(:hover, :focus) { background: var(--blue-ryb); }
    .copyright { color: var(--heliotrope-gray); font-size: var(--fs-4); text-align: center; line-height: 1.8; padding-block: 20px; }
    .copyright a { color: var(--white); display: inline-block; }
    .copyright a:is(:hover, :focus) { color: var(--blue-ryb); }

/*GO TOP*/

.go-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: var(--blue-ryb);
    color: var(--white);
    font-size: 25px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    box-shadow: 0 2px 4px hsla(0, 0%, 0%, .5);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition);
    z-index: 4;
}
    .go-top:is(:hover, :focus) { --blue-ryb: hsl(221, 100%, 40%); }
    .go-top.active { opacity: 1; pointer-events: all; }

/*MEDIA QUERIES*/

@media (min-width: 1024px) and (max-width: 1200px) {

    .logo img{
        width: 80%;
        height: auto;
    }
    .navbar-link { color: var(--white); font-size: var(--fs-7); padding: 10px; border-radius: 4px; }

}
@media(min-width: 5px) {
    .hero-caption{font-size: 8px; text-align:right;}
    .hero-cover-text {font-size: var(--fs-6); line-height: 1.3; }
    .hero-title {padding-top: 12px;}
    .hero-text {font-size: var(--fs-6); line-height: 1.2; max-width: 500px; padding-top: 16px; text-align: center;}
}
@media(max-width: 549px) {
    .newsletter { padding: 15px 0; width: 95%; margin: 0 auto }
    .hero-text {font-size: var(--fs-6); line-height: 1.3; max-width: 600px; padding-top: 16px; text-align: center;}
    .scroll { padding-top: 15px; font-size: larger; color: var(--blue-ryb);}
}

@media(min-width: 550px) {
    .container { max-width: 500px; margin-inline: auto;}
    .hero-caption{font-size: 10px; text-align:right;}
    .hero-cover-text {font-size: var(--fs-3); line-height: 1.2;}
    .scroll { display: none;}
}

@media(min-width: 768px) {  
:root{
    --fs-1:30px;
    --fs-2:20px;
    --fs-3:18px;
    --fs-4:15px;
    --fs-7:10px;
}
.hero-caption{
    font-size: 7px;
}
    .container { max-width: 500px; margin-inline: auto;}
    .hero-caption{font-size: 10px; text-align:right;}
    .hero-cover-text {font-size: var(--fs-3); line-height: 1.2;}

/*==========================
HERO (stack vertical real, se mantiene asi hasta los 1089px)
==========================*/

.hero{
    padding-top:140px;
}

.hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:40px;
}

.hero-text{
    max-width:900px;
    font-size: var(--fs-4);
    line-height:1.8;
    text-align:center;    
}
.hero-caption{
    margin-top:6px;
    width:100%;
    text-align:right;
    font-size: 10px;
    line-height:1.4;
    color:rgba(255,255,255,.65);
    font-style:italic;
}

/* resto del sitio */
.btn {    
    font-size: var(--fs-7);   
}
.podcast-list{
    grid-template-columns:1fr 1fr;
}
.newsletter-card{
    padding:30px;
}
.newsletter-card .btn-primary{
    position:absolute;
    top:4px;
    right:4px;
    bottom:4px;
    width:100px;
}
.newsletter-card .input-field{
    padding-right:155px;
}
.card-form{
    position:relative;
}
.footer-top .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:50px;
}
.footer-brand{
    max-width:350px;
    margin-bottom:0;
}
.footer-list{
    margin-bottom:0;
}
}

@media(min-width: 1024px) {

    .container { max-width: 980px; }    
    header { top: -120px; }
    .nav-toggle-btn { display: none; }
    .navbar {
        position: static;
        visibility: visible;
        box-shadow: none;
        padding: 0;
        background: none;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 30px;
    }
    .navbar::before, .overlay { display: none; }

    .navbar-list {
        display: flex;
        justify-content: space-between;
        gap: 15px;
        border: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .navbar-link { position: relative; }
        .navbar-link::after {
            --scale: 0;

            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%) scale(var(--scale));
            transform-origin: left;
            width: calc(100% - 20px);
            height: 2px;
            background: var(--gradient);
            transition: var(--transition);
        }

    .navbar-link:is(:hover, :focus) { background: var(--gradient); -webkit-text-fill-color: transparent; -webkit-background-clip: text; background-clip: text; }
    .navbar-link:is(:hover, :focus)::after { --scale: 1; }
    .navbar-actions { gap: 10px; }
    .navbar-actions .btn { background: var(--blue-ryb); padding: 15px 25px; transition: background var(--transition); }
    .navbar-actions .btn:is(:hover, :focus) { background: hsl(221, 100%, 40%); }

    .podcast-list { grid-template-columns: repeat(3, 1fr); }
    .newsletter-card { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
    .newsletter-card .card-content, .card-form { width: 70%; }
    .newsletter-card .card-text, .newsletter-card .input-field { margin-bottom: 0; }

    .hero{
        min-height:100vh;
        display:flex;
        align-items:center;
        padding-top:110px;  
        padding-bottom:20px;
    }

    .hero-content{
        display:grid;
        grid-template-columns: minmax(120px, 210px) minmax(320px, 980px) minmax(100px, 200px);
        align-items:center;
        gap:40px;
        width:100%;
        max-width:1400px;
        margin-inline:auto;
    }
    .hero-text{
        grid-column:3;
        grid-row:1;
        text-align: center;
        font-size:13px;
        line-height:1.1;
        padding: 16px;       
        max-width:75%;
    }
    .hero-image{
        grid-column:2;
        grid-row:1;
        max-width:100%;
    }
    .hero-title{
        width:auto;
        max-width:100%;
        max-height:calc(100vh - 230px); 
        height:auto;
        margin-inline:auto;
    }
    .hero-caption{
        font-size:10px;
    }
    .hero-cover-text{
        grid-column:1;
        grid-row:1;
        width:80%;  /*   era 100%   */
        max-width:100%;
        text-align: center;
        font-size: 14px;
        line-height:1.2;
        padding:24px;
    }
}   

@media(min-width: 1090px){

    /* HERO horizontal: texto | imagen | texto, sin necesidad de scroll */
    .hero{
        min-height:100vh;
        display:flex;
        align-items:center;
        padding-top:110px; 
        padding-bottom:20px;
    }

    .hero-content{
        display:grid;
        grid-template-columns: minmax(120px, 210px) minmax(320px, 980px) minmax(100px, 200px);
        align-items:center;
        gap:40px;
        width:100%;
        max-width:1400px;
        margin-inline:auto;
    }

    .hero-text{
        grid-column:3;
        grid-row:1;
        text-align: center;
        font-size:13px;
        line-height:1.1;
        padding: 16px;       
        margin-left: 36px;  
        max-width:75%;  
        background: rgba(63,38,204,.18);
        backdrop-filter: blur(3px);
        border-radius:12px;
        box-shadow:0 18px 40px rgba(0,0,0,.35);
    }

    .hero-image{
        grid-column:2;
        grid-row:1;
        max-width:100%;
    }

    .hero-title{
        width:auto;
        max-width:100%;
        max-height:calc(100vh - 230px); 
        height:auto;
        margin-inline:auto;
    }

    .hero-caption{
        font-size:10px;
    }

    .hero-cover-text{
        grid-column:1;
        grid-row:1;
        width:80%; 
        max-width:100%;
        text-align: center;
        font-size: 14px;
        line-height: 1.2;
        padding:24px;
        background: rgba(63,38,204,.18);
        backdrop-filter: blur(3px);
        border-radius:12px;
        box-shadow:0 18px 40px rgba(0,0,0,.35);
    }
}

@media(min-width: 1300px) {
    
    :root {
        --section-padding: 30px;
    }

    .container { max-width: 1200px; }

    header { padding-block: 25px; }
    header .container { max-width: 1200px; }       
    .navbar { gap: 30px; }
    .navbar-actions .btn { margin-left: 20px; }

    /* HERO */
   
    .hero-content{
        grid-template-columns: minmax(120px, 210px) minmax(320px, 980px) minmax(100px, 200px);
        
        max-width: 1600px;
    }
    
    .hero-text {
        width:280px;
        max-width:280px;
        margin-left: 1px;
        font-size:14px;
        line-height:1.7;
        padding:22px;
        background:rgba(63,38,204,.22);
        backdrop-filter:blur(3px);
        border-radius:12px;
        box-shadow:0 18px 40px rgba(0,0,0,.35);
        position:relative;
        top: 140px;
}

    .hero-cover-text{
        font-size: 14px;
        line-height: 1.7;
        width: 280px;
        max-width: 280px;
        padding: 22px;
        margin-left: -80px;
        margin-bottom: 180px;
        text-align: center;    
        background: rgba(63,38,204,.18);
        backdrop-filter: blur(3px);
        border-radius:12px;
        box-shadow:0 18px 40px rgba(0,0,0,.35);
}

    .footer-link-title { --fs-2: 22px; margin-bottom: 10px; }
    .social-title { margin-left: auto; margin-bottom: 35px; }
    .social-link { width: 45px; height: 45px; font-size: 22px;}
}


/******* Agenda  ********/
section.agenda { padding: var(--section-padding-2) 0; }
.widget-title {  
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;    
    font-size: var(--fs-1);
    text-align: center;
    font-weight: 700;
    letter-spacing: 1.6px;
    padding-bottom: 35px;
    background: linear-gradient(
        90deg,        
        #9be7ff 0%,
        #8d7be7 25%,
        #4fc3f7 50%,        
        #0288d1 75%,
        #0052ff 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-transform: uppercase;
    text-shadow: 0 0 12px rgba(149, 249, 246, 0.35);

}
.event-list { 
  list-style: none;
  margin: 0 0 1em;
}

.event .date {
  background-color: black;  
  line-height: 1;
  padding: 0 32px 1px;
}

.speaker{
    flex-shrink:0;
}
.speaker img{
    width:95px;
    height:95px;
    object-fit:cover;
    border-radius:50%;
    border:3px solid var(--flourescent-blue);
    box-shadow:0 8px 18px rgba(0,0,0,.35);
}
.event{
    display:flex;
    align-items:center;
    gap:25px;
    background:var(--background-2);
    padding:18px;
    border-radius:10px;
}


@media (min-width: 40em) {
  .event .date{
    width:100px;
    text-align:center;
    background:black;
    padding:12px 0;
    border-radius:8px;
    flex-shrink:0;
}

}
.event .date a {
  color: inherit;
}
.event .date span {
  font-size: 1.5em;
  font-weight: 300;
  margin-right: 5px;
}
@media (min-width: 40em) {
    .event {
        margin-bottom: 10px;
    }
  .event .date span {
    display: block;
  }
}
@media (min-width: 40em) {
  .event .date .day {
    font-size: 3.6em;
    font-weight: 80;
  }
}
.event .date .month {
  font-weight: 900;
}
@media (min-width: 40em) {
  .event .date .month {
    font-size: 2em;
  }
}
.event .date .year,
.event .date .time {
  line-height: 1.1;
}
@media (min-width: 40em) {
  .event .date .year,
.event .date .time {
    font-size: 0.9em;
    font-weight: 400;
  }
}
.event .info {
  color: #f5f5f5;
  padding: 6px 12px;
}
@media (min-width: 40em) {    
  .event .info {
    flex:1;
    color:#fff;   
  }
}
.event .info .title {
  color: #f5f5f5;
  font-family: inherit;
  font-weight: 300;
  font-size: 1em;
}
@media (min-width: 40em) {
  .event .info .title {
    font-size: 1.25em;
  }
}
.event .info .desc {
  color: #f5f5f5;
  font-weight: 300;
  margin-top: 7px;
  margin-bottom: 0;
  text-align: left;
}
@media (max-width: 39em) {
.event {
     margin-bottom: 10px;
}
.event .date{
    width:50px;
    text-align:center;
    background:black;
    padding:12px 3px;
}
.event .date .year,
.event .date .time {
    font-size: 0.7em;
    font-weight: 200;
}
.event .date .month {
    font-size: 0.9em;
}
.event .info .title {
    font-size: 0.6em;  
}
.event .info .desc {
  font-size: 0.8em;
  font-weight: 300;
  color: var(--flourescent-blue);
  margin-top: 10px;
  margin-bottom: 0;
  text-align: left;
}}

/* MOBILE */
.video-wrapper{
    position: relative;
    width: 100%;
    max-width: 800px;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 12px;
}

.video-wrapper iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 500px){
    .card-banner{
        padding-inline: 10px;
    }
    .video-wrapper{
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }
}
