/* HEADER ===================================== */
#header {
    display: flex;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 3.2rem;

    /* fixar cabeçalho */
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 100;
    background: var(--body-color);
}

#header.scroll {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
}

#header .logo{
    font: 700 2.4rem var(--title-font);
    color: var(--title-color);
}

#header span {
    color: var(--base-color-green);
}


/* NAVEGATION ===================================== */
nav {
    display: flex;
    align-items: center;
    justify-content: space-between;

    height: var(--header-height);
    width: 100%;
}

nav ul li {
    text-align: center;
}

nav ul li a.nav {
    display: inline-block;
    transition: color 0.2s;
    position: relative;
}

nav ul li a.nav:hover,
nav ul li a.nav.active {
    color: var(--base-color-green);
}

nav ul li a.nav::after {
    content: "";
    width: 0%;
    height: 2px;
    background: var(--base-color-green);

    position: absolute;
    left: 0;
    bottom: -1.4rem;

    transition: 0.3s;
}

nav ul li a.nav:hover::after,
nav ul li a.nav.active::after {
    width: 100%;
}

/* Esconder menu */
nav .menu {
    opacity: 0;
    visibility: hidden;

    top: -32rem;
    transition: 0.2s;
}

nav .menu ul {
    display: none;
}

nav .menu a {
    text-align: center;
}

/* Mostrar menu */
nav.show .menu {
    opacity: 0.9;
    visibility: visible;
    overflow-y: auto;

    background: black;

    height: 100vh;
    width: 60vw;

    position: fixed;
    top: 0;
    right: 0;

    /*display: flex;*/
    place-content: center;
    
}

nav .menu ul {
    display: grid;
}

nav.show ul.grid {
    gap: 3.4rem;
}

nav .menu ul.grid li a.title-nav  {
    font-size: 1.5rem;
}


/* TOGGLE MENU NAVIGATION ======================== */
.toggle {
    color: var(--base-color-green);
    font-size: 2.4rem;
    cursor: pointer;
}

nav .icon-x{
    visibility: hidden;
    opacity: 0;

    position: absolute;
    top: -2.4rem; 
    right: 2.4rem;

    transition: 0.2s
}

nav.show div.icon-x {
    visibility: visible;
    opacity: 1;
    top: 2.4rem;
}

nav.show ul li a.title-nav  {
    font-size: 2rem;
}

/* HOME ================================ */
#index {
    overflow: hidden;
}

#index .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

#index .image-soap img {
    position: relative;
    height: auto;
    max-width: 100%;
}

#index .text {
    text-align: center;
}

#index .text h1 {
    margin-bottom: 1.6rem;
}

#index .title-main {
    margin: 3rem 0 3rem 0;
}

#index .text p {
    margin-bottom: 3rem;
    padding: 2rem;
    text-align: center;
}

#index .title-card h3 {
    margin-top: 2.5rem;
    color: var(--base-color-dark-blue);
}

#index .details,
#sobre .details {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 30px;
}

#index .text-details,
#sobre .text-details {
    display: flex;
    gap: 5rem;
}

#index .item,
#sobre .item {
    display: flex;
    
    margin-top: 2rem;
}

.item-course {
    display: flex;
    flex-direction: column;
    color: var(--text-color);
    background-color: var(--text-color-light);
    padding: 2rem;
    border-radius: 10px;
    width: 28rem;
    box-shadow: 5px 5px 15px var(--base-color-dark-blue);

    transition: transform 0.3s ease-in-out;
}

.item-course a {
    text-decoration: none;
    color: var(--text-color);
}

.item-course:hover {
    transform: scale(1.05);
}

.item img {
    width: 40px;
    display: flex;

    margin-right: 1rem;
}

#index .sold-out {
    position: absolute;
    top: 170px;
    z-index: 10;
}

#index .sold-out img {
    max-width: 270px;
}

#index .item {
    color: var(--text-color);
    align-items: center;
}

#index .container-detail,
#sobre .container-detail {
    background-color: var(--base-color-green);
    padding: 2rem 0 5rem 0;

}

#index .title-promo {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 5rem 0 3rem 0;

    font-weight: bold;
}

#index .content-hotel {
    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 3rem;
}

#index .content-hotel a{
    width: 12rem;
    margin-top: 2rem;
}

#index .text-hotel {
    justify-content: space-between;
    display: flex;
    flex-direction: column;
    align-self: normal;
    width: 60%;
}

#index .text-hotel {
    color: var(--base-color-dark-blue);
}

#index .text-hotel p {
    color: var(--text-color);
    margin-bottom: 1rem;
}

#index .img-hotel img{
    margin-right: 4rem;
    border-radius: 50%;
}

/* ABOUT ================================ */
#sobre {
    background: white;
}

#sobre .title-main {
    text-align: left
}

#sobre .subtitle {
    text-align: left;
}

#sobre .image-logo {
    text-align: center;
}

#sobre .image-logo img {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 3.2rem;
}

#sobre .inscription {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem;
}



/* PRODUCTS ================================ */
#program .catalog {
    width: 30rem;
    height: 30rem;
}

.topics {
    grid-template-columns: 1fr 1fr;
    text-align: center;
    gap: 3rem;
}

.topic .profile {
    width: 272px;
    height: 272px;

    border-radius: 50%;
    margin-bottom: 1.6rem;
}

.topic h3 {
    color: var(--base-color-dark-blue);
    margin-bottom: 1rem;
    font-size: 2.2rem;
}

.topic-left {
    color: var(--base-color-dark-blue);
    margin-bottom: 2rem;
    font-size: 2.2rem;
    text-align: left;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px auto;
    border-radius: 10px;
}

th, td {
    padding: 10px;
    align-content: flex-start;
}

th {
    background-color: var(--base-color-green);
    color: white;
}

th:first-child, td:first-child {
    width: 25%;
} 

.activity {
    text-align: left;
}

.topic p {
    text-align: center;
}

.text-event {
    display: flex;
    flex-direction: column;
    padding: 0 3rem 0 3rem;
    align-items: center;
    margin-bottom: 3rem;
}

.sponsor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    margin-top: 2.2rem;
}

.text-sponsor {
    text-align: center;
    padding: 3rem;
}

.img-sponsor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.img-sponsor-sponsor {
    display: flex; 
    gap: 2rem;  
}

.img-defaul-gold {
    margin-right: 0rem;
}

.img-defaul-gold img{
    width: 190px;
    max-width: 100%;
}

.img-defaul-bronze img {
    width: 150px;
    max-width: 100%;
}

.img-defaul img {
    max-width: 100%;
}

/* ECOSSISTEMA ================================ */
#ecossistema .ecosystem-item {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
}

#ecossistema .ecosystem-img {
    margin-right: 2rem;
}

#ecossistema .ecosystem-text p {
    margin: 2rem 0 2rem 0;
}

#ecossistema .ecosystem-item .site {
    text-decoration: none;
    color: var(--base-color-dark-blue);
    font-weight: 600;
}

/* EVENTO ================================ */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));;
    gap: 10px;
    margin-top: 20px;
    grid-auto-flow: dense;
}

.gallery img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery img:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.photo-container.double {
  grid-column: span 2;
}

.pagination  {
    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 3rem;
}

#evento .subtitle p {
    text-align: center;
    margin-top: 2rem;
    color: var(--base-color-dark-blue);
    font-weight: 600;
}

#evento .subtitle p a {
    color: var(--base-color-green);
}


/* CONTACT ================================ */
#contato .container{
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-areas: 
    "text links-contato"
    "maps maps";
    gap: 5rem;
}

#contato {
    background: white;
}

#contato .text {
    grid-area: text;
}

#contato .subtitle {
    text-align: left;
}

#contato .text p,
#contato .button  {
    margin-bottom: 4rem;

}

#contato .button i {
    font-size: 2rem;
    margin-right: 1.6rem;
}

#contato ul li,
#contato ul li b {
    display: flex;
    text-align: left;
}

#contato .links-contato i,
#contato .links-contato img {
    grid-area: links-contato;
    margin-right: 1.6rem;
    font-size: 2.4rem;
    color: var(--base-color-green)
}

#contato .links-contato a {
    color: var(--text-color)
}


#contato .links-contato {
    grid-area: links-contato;
    align-content: center;
}

#contato .links-contato li {
    margin-bottom: 2rem;
}

#contato .maps {
    grid-area: maps;
}

@media (min-width: 1200px){
    .container {
        max-width: 1150px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 1200px) {
    
    /* menu navegação */
    nav .icon-menu {
        display: none;
    }

    nav .menu {
        visibility: visible;
        opacity: 1;
        top: 0;
    }

    nav .menu ul {
        display: flex;
        gap: 2.2rem;
    }

    nav .menu ul li a.title-nav {
        font: 400 1.7rem var(--body-font);

        -webkit-font-smoothing: antialiased;
    }

    nav .menu ul li a.title-nav.active,
    nav .menu ul li a.title-nav:hover {
        font-weight: bold;

        -webkit-font-smoothing: auto;
    }
    
    nav .title-nav {
        color: var(--text-color);
    }
    

    /* footer */
    footer .container {
        grid-auto-flow: column;
        align-items: center;
        justify-content: space-between;
    } 
}

@media screen and (min-width: 1180px) {
    /* menu navegação */
    nav .icon-menu {
        display: none;
    }

    nav .menu {
        visibility: visible;
        opacity: 1;
        top: 0;
    }

    nav .menu ul {
        display: flex;
        gap: 2.2rem;
    }

    nav .menu ul li a.title-nav {
        font: 400 1.7rem var(--body-font);

        -webkit-font-smoothing: antialiased;
    }

    nav .menu ul li a.title-nav.active,
    nav .menu ul li a.title-nav:hover {
        font-weight: bold;

        -webkit-font-smoothing: auto;
    }
    
    nav .title-nav {
        color: var(--text-color);
    }  
    

    /* footer */
    footer .container {
        grid-auto-flow: column;
        align-items: center;
        justify-content: space-between;
    } 
}

@media screen and (max-width: 1180px) {


    #index .text-details,
    #sobre .text-details{
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 colunas */
        gap: 3rem;
        justify-content: center;
    }

    #index .item-course:nth-child(3) { 
        grid-column: span 2;
        justify-self: center;
        width: 50%; 
    }
    
    .img-sponsor {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: center;
    }

    #program table th:first-child, td:first-child {
        width: 38%;
    }

    .gallery {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin-top: 20px;
    }


    /* footer */
    footer .container {
        grid-auto-flow: column;
        align-items: center;
        justify-content: space-between;
    } 
}


@media screen and (max-width: 830px) {

    .img-sponsor {
        display: grid;
        grid-template-columns: repeat(3, 1fr); 
        gap: 16px; 
        justify-items: center; 
        align-items: center; 
    }

    /*
    .img-sponsor.editora{
        display: grid;
        grid-template-columns: repeat(1, 1fr); 
        gap: 16px; 
        justify-items: center; 
        align-items: center; 
    }
        */
    
    
    .img-defaul {
        max-width: 100%; 
        height: auto; 
    }

    #index .text-details,
    #sobre .text-details{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3rem;
    }

    #index .item-course { 
        width: 80%; 
        position: relative;
    }

    #index .item-course:nth-child(3) { 
        width: 80%; 
    }

    #index .sold-out {
        position: absolute;
        z-index: 10;
        left: 25px;
    }
    
    #index .sold-out img {
        max-width: 90%;
    }

    #index .content-hotel {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    #index .img-hotel img{
        margin: 0 0 2rem 0;
    }

    #index .text-hotel h2,
    #index .text-hotel p {
        margin-bottom: 2rem;
    }

    #index .text-hotel {
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    #program .topics {
        grid-template-columns: 1fr;
    }

    #program table th:first-child, td:first-child {
        width: 33%;
        padding: 1rem 0.2rem;
    }

    #program table .activity {
        padding: 1rem .5rem;
    }

    #palestrantes .topics {
        grid-template-columns: 1fr;
    }

    #ecossistema .ecosystem-item {
        flex-direction: column;
    }

    #ecossistema .ecosystem-item img{
        margin-top: 4rem;
    }

    .gallery {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
        margin-top: 20px;
    }
    
    #evento a {
        text-decoration: none;
        color: var(--base-color-green);
    }

    #contato .container {
        display: flex;
        flex-direction: column;
    }

    #contato ul {
        margin-bottom: 5rem;
    }

    #contato ul li {
        text-align: left;
    }

    /* footer */
    footer .container {
        grid-auto-flow: row;
        align-items: center;
        justify-content: space-between;
    } 
}