* {
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Root */
html {

}

body {
    font-family: Verdana, sans-serif;
}

h1 {
    font-family: monospace;
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 20px;
}

h2 {
    font-family: monospace;
    font-size: 2rem;
    font-weight: 800;
    margin: 10px;
}

h3 {
    font-family: monospace;
    font-size: 1.5rem;
    font-weight: 800;
    margin: 10px;
}

p {
    padding: 10px;
}

/* Header with Nav Links */
header {
    position: fixed;
    display: flex;
    width: 100%;
    height: 100px;
    padding: 8px;
    background-color: rgba(255, 255, 255, 0.8);
    align-items: center;
}

.logo {
    display: flex;
    margin-right: auto;
    justify-content: center;
    align-items: center;
    color: cornflowerblue;
    font-size: 4rem;
    font-weight: 900;
}

.logo a {
    color: cornflowerblue;
    text-decoration:  none;
}

.logo a:visited {
    color: cornflowerblue;
}

nav {
    display: flex;
    margin-left: auto;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

nav ul {
    display: flex;
    gap: 30px;
    font-family: monospace, Verdana, Geneva, Tahoma, sans-serif;
    font-size: 1.2rem;
    font-weight: 800;
    list-style-type: none;
}

nav a {
    color: black;
    text-decoration: none;
}

nav ul a:hover {
    border-bottom: orange solid 5px;
}

nav ul a:visited {
    color: black;
}

.nav-proposal {
    display: none;
}

.nav-ticket {
    display: block;
}

.big-mobile-nav {
    display: block;
}

.sm-mobile-nav {
    display: none;
}

/* Mobile Nav */
.dropdown {
    display: none;
    position: relative;
}

.sm-dropdown {
    display: none;
    position: relative;
}
  
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    z-index: 1;
}

.sm-dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    z-index: 1;
}
  
.dropdown-content a {
    display: block;
    color: black;
    padding: 10px 20px;
    text-decoration: none;
    font-size: 20px;
}

.sm-dropdown-content a {
    display: block;
    color: black;
    padding: 10px 20px;
    text-decoration: none;
    font-size: 20px;
}
  
.dropdown-content a:hover {
    background-color: #ddd;
}

.sm-dropdown-content a:hover {
    background-color: #ddd;
}
  
.dropdown:hover .dropdown-content {
    display: block;
}

.sm-dropdown:hover .sm-dropdown-content {
    display: block;
}

/* Buttons */
.register-button {
    margin: 10px;
    padding: 10px 40px;
    border-radius: 15px;
    background-color: cornflowerblue;
    color: white;
    font-size: 2rem;
}

.register-button a {
    color: white;
    text-decoration: none;
}

.register-button a:visited {
    color: white;
}

.register-button-xl {
    margin: 10px;
    padding: 10px 50px;
    border-radius: 15px;
    background-color: cornflowerblue;
    color: white;
    font-size: 4rem;
}

.register-button-xl a {
    color: white;
    text-decoration: none;
}

.register-button-xl a:visited {
    color: white;
}

.ticket-button {
    margin: 10px;
    padding: 10px 40px;
    border-radius: 15px;
    background-color: cornflowerblue;
    color: white;
    font-size: 1.5rem;
}

.ticket-button a {
    color: white;
    text-decoration: none;
}

.ticket-button a:visited {
    color: white;
}

.subject-button {
    margin: 10px;
    padding: 10px 40px;
    border-radius: 15px;
    background-color: rgb(140, 140, 140);
    color: white;
    font-size: 2rem;
}

.subject-button a {
    color: white;
    text-decoration: none;
}

.subject-button a:visited {
    color: white;
}

/* Hero Area with Call-to-Action */
.hero {
    width: 100%;
    height: auto;
    background-image: url('img/cat-meeting.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: fixed;
}

.dark-hero-filter {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 300px 10px ;
    width: 100%;
    height: auto;
    background-color: rgba(0, 0, 0, 0.6);
}

.hero-title {
    padding: 5px;
    color: whitesmoke;
    font-size: 6rem;
    font-weight: 800;
    text-align: center;
}

.hero-year {
    padding: 5px;
    color: whitesmoke;
    font-size: 4rem;
    font-weight: 800;
    text-align: center;
}

.hero-date-location {
    padding: 10px;
    color: whitesmoke;
    font-size: 3rem;
    font-weight: 800;
    text-align: center;
}

.compelling-hero {
    padding: 0px 50px;
    color: whitesmoke;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin: 40px 0px;
}

/* Heros for other pages */
.hero-team {
    background-image: url('img/cat-team.jpg');
}

.hero-proposals {
    background-image: url('img/cat-proposals.jpg');
}

.hero-register {
    background-image: url('img/cat-register.jpg');
}

.hero-contact {
    background-image: url('img/cat-contact.jpg');
}

/* Content Containers */
.content-container {
    width: 100%;
    height: auto;
    padding: 100px 50px;
    text-align: center;
}

.content-container2 {
    width: 100%;
    height: auto;
    padding: 100px 50px;
    background-color: rgb(233, 233, 233);
    text-align: center;
}

/* About Us Section */
.about {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about h1 {
    font-family: sans-serif;
    font-size: 2.5rem;
}

.about p {
    text-align: center;
    font-size: 1.5rem; 
}

/* Cat Grid */
.speakers-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.speakers {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.speakers p {
    text-align: center;
    font-size: 1.5rem;
}

.speaker-card {
    max-width: fit-content;
}

.speaker-card img {
    border-radius: 50%;
}

.speaker-card p {
    font-weight: 800;
}

/* Honorary Mathematician */
.homage {
    display: flex;
    flex-direction: column;
}

.homage p {
    text-align: center;
    font-size: 1.5rem; 
    padding: 30px 80px;
}

.homage img {
    border-radius: 50%;
}

/* Venue */
.venue p {
    text-align: center;
    font-size: 1.5rem; 
}


/* Sponsors */
.sponsors-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
}

.sponsors {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sponsors p {
    text-align: center;
    font-size: 1.5rem;
}

/* Agenda */
.agenda {
    display: flex;
    flex-direction: column;
}

/* .agenda-buttons {
    display: flex;
    gap: 30px;
    justify-content: center;
} */

/* Call-to-Action at the End */
.call-to-action {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    padding: 85px 50px;
    text-align: center;
    justify-content: center;
    align-items: center;
}

/* Global Hover Behaviour */
a:hover {
    transform: scale(1.2)
    transition: .5s;
}

/* Animations */

/* Footer */
footer {
    width: 100%;
    height: auto;
    padding: 20px;
    margin-bottom: 50px;
    text-align: center;
}

.footer-social {
    display: inline-block;
    gap: 20px;
}

/* Media queries */
@media only screen and (max-width: 1000px) {
    body {
        display: flex;
        flex-direction: column;
    }

    h1 {
        font-size: 2.8rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    .dropdown {
        display: block;
      }

    nav ul {
        display: none;
    }

    .nav-proposal {
        display: block;
    }

    .subject-button {
        font-size: 1.5rem;
    }

    .hero-title {
        font-size: 5rem;
    }
    
    .hero-year {
        font-size: 3rem;
    }
    
    .hero-date-location {
        font-size: 2rem;
    }
    
    .compelling-hero {   
        font-size: 1.5rem;
    }

    .content-container {
        padding: 110px 30px;
    }

    .content-container2 {
        padding: 110px 30px;
    }

    .speakers-container {
        grid-template-columns: repeat(3, 1fr);
    }

    .sponsors-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .call-to-action {
        padding: 45px 30px;
    }

    .register-button-xl {
        font-size: 3rem;
    }
}

@media only screen and (max-width: 800px) {
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 1.5rem;
    }
    
    .hero-title {
        font-size: 4rem;
    }
    
    .hero-year {
        font-size: 2rem;
    }
    
    .hero-date-location {
        font-size: 1.5rem;
    }
    
    .compelling-hero {   
        font-size: 1rem;
    }

    .content-container {
        padding: 120px 20px;
    }

    .content-container2 {
        padding: 120px 20px;
    }

    .speakers-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .call-to-action {
        padding: 35px 20px;
    }

    .register-button-xl {
        font-size: 2rem;
    }

    .ticket-button {
        font-size: 1rem;
    }

    .subject-button {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 400px) {
    header {
        flex-direction: column;
        height: 180px;
    }
    
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    .nav-ticket {
        display: none;
    }

    .big-mobile-nav {
        display: none;
    }

    .sm-mobile-nav {
        display: block;
    }

    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-year {
        font-size: 1.5rem;
    }
    
    .hero-date-location {
        font-size: 1rem;
    }
    
    .compelling-hero {   
        font-size: 1rem;
    }

    .content-container {
        padding: 120px 10px;
    }

    .content-container2 {
        padding: 120px 10px;
    }

    .speakers-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .sponsors-container {
        grid-template-columns: 1fr;
    }

    .call-to-action {
        padding: 25px 10px;
    }

    .ticket-button {
        display: none;
    }
}