  @import url("https://use.typekit.net/hug3xdd.css");

  @font-face {
  font-family: 'CF Asty Std';
  src: url('../fonts/CFAstyStd-ExtraBold.woff2') format('woff2'),
      url('../fonts/CFAstyStd-ExtraBold.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}



@font-face {
  font-family: 'CF Asty Std';
  src: url('../fonts/CFAstyStd-Light.woff2') format('woff2'),
      url('../fonts/CFAstyStd-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}



@font-face {
  font-family: 'CF Asty Std';
  src: url('../fonts/CFAstyStd-Book.woff2') format('woff2'),
      url('../fonts/CFAstyStd-Book.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'CF Asty Std';
  src: url('../fonts/CFAstyStd-Bold.woff2') format('woff2'),
      url('../fonts/CFAstyStd-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

html {
  overflow-x: hidden;
  background: #050D14;
background: #004674;
}


img {
  display: block;
  max-width: 100%;
  height: auto;
  transform: translateZ(0);
  backface-visibility: hidden;
}


:root {
  --light: #ddeec7;
  --dark: #40b567;
}

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

nav {
  position: relative;
  top: 0;
  width: 100%;
  padding: 2em;
  display: flex;
  align-items: center;
  z-index: 999;
  text-align: center;
  justify-content: space-between;
}

body {
  font-family: "Inter";
}

:root {
  --base-1: #3d2fa9;
  --base-2: #ff7722;
  --base-3: #ff3d33;
  --base-4: #785f47;
}

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

h1,h2,h3,h4,h5,h {
   font-family: "ivypresto-headline", serif;
}


#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #172a36;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #6396b8;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}


/* --- Burger Icon --- */
.menu-btn {
  z-index: 100;
  cursor: pointer;
  transition: all 0.5s ease-in-out;
  width: 40px;
  height: 40px;
}

    .menu-btn__burger {
        width: 30px;
        height: 3px;
        background: #fff;
        transition: all 0.5s ease-in-out;
    }

    .menu-btn__burger::before,
    .menu-btn__burger::after {
        content: '';
        position: absolute;
        width: 30px;
        height: 3px;
        background: #fff;
        transition: all 0.5s ease-in-out;
    }

    .menu-btn__burger::before { transform: translateY(-10px); }
    .menu-btn__burger::after { transform: translateY(10px); }

    /* --- Animation to X --- */
    .menu-btn.open .menu-btn__burger {
        transform: translateX(-50px);
        background: transparent;
    }

    .menu-btn.open .menu-btn__burger::before {
        transform: rotate(45deg) translate(35px, -35px);
        background: #fff;
    }

    .menu-btn.open .menu-btn__burger::after {
        transform: rotate(-45deg) translate(35px, 35px);
        background: #fff;
    }

    /* --- Full Screen Overlay --- */
    .overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 0; /* Hidden by default */
        background: rgba(0, 46, 86, 0.95);
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s ease-in-out;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 90;
    }

    .overlay.open {
        height: 100%;
        opacity: 1;
        visibility: visible;
    }

    .menu-nav {
        list-style: none;
        text-align: center;
    }

    .nav-item { margin: 20px 0; }

    .nav-link {
        color: #fff;
        text-decoration: none;
        font-size: 2rem;
        text-transform: uppercase;
        transition: color 0.3s;
        font-family: 'CF Asty Std',sans-serif;
  font-weight: 900;
    }

    .nav-link:hover { color: #71bdff; }


img {
  width: 100%;
  object-fit: cover;
}

.hero {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-logo {
  width: 500px;
}
.hero-video {
  position: absolute;
  z-index: -1;
  mix-blend-mode: luminosity;
  opacity: 0.3;
  width: 100%;
  height: 100vh;
  object-fit: cover;
}

.large-arrow {
  position: fixed; /* Changed from absolute */
  right: 0;
  top: 50%;
  transform: translateY(-50%); /* Keeps it perfectly centered */
  z-index: 0;
}
.main-text-container {
  position: absolute;
  bottom: 50px;
  color: #fff;
}

.main-text {
  font-family: 'CF Asty Std',sans-serif;
  font-size: 29px;
  font-weight: 300;
  text-align: center;
}

.subtitle-main p {
  font-family: 'CF Asty Std',sans-serif;
  color: #6396b8;
  margin-top: 7px;
  font-size: 26px;
  text-align: center;
}
.section-2 {
  height: 100vh;
  font-family: "ivypresto-headline", serif;
  color: #fff;
  display: flex;
  align-items: center;
}
.section-2-text {
  font-size: 39px;
  font-weight: 300;
}


.section-2-text {
  /* Initial state: invisible and slightly shifted down */
  opacity: 0;
  transform: translateY(30px);
  /* Optional: smoothing for high-end feel */
  will-change: transform, opacity; 
}

.section-2 {
  overflow: hidden; /* Prevents scrollbars during animation */
  padding: 100px 0; /* Ensures there is space to scroll into */
}
.section-2-content {
  padding: 10px;
  margin-right: auto;
  margin-left: 10%;
  max-width: 900px;
}


.section-3 {
  margin-bottom: 90px;
}

.section-3-content {
  max-width: 1720px;
  padding: 10px;
}


.section-3-content {
  max-width: 1720px;
  padding: 10px;
  margin: 0 auto;
  display: flex;
}

.section-3 {
  margin-bottom: 80px;
  min-height: 40vh;
}

.section-3 {
  /* Prevent horizontal scrollbars during animation */
  overflow-x: hidden; 
  padding: 100px 0; /* Ensures space for scrolling into */
}

/* Initial state for the Question (will slide from LEFT) */
.question-text {
  opacity: 0;
  transform: translateX(-150px); /* Start shifted left */
  will-change: transform, opacity; /* Boosts performance */
}

/* Initial state for the Answer (will slide from RIGHT) */
.answer-text {
  opacity: 0;
  transform: translateX(150px); /* Start shifted right */
  will-change: transform, opacity;
}

.question {
  flex: 1;
}
.answer {
  flex: 1;
}
.question-text {
  font-size: 110px;
  color: #fff;
}

.answer-text {
  font-size: 21px;
  font-weight: 400;
  color: #fff;
  font-family: 'CF Asty Std',sans-serif;
  line-height: 35px;
}



.section-4-content {
  max-width: 1300px;
  margin: 0 auto;
  padding: 10px;
}

.pilones-header {
  text-align: center;
  color: #fff;
  margin-bottom: 40px;
}

.pilones-title {
  font-size: 52px;
  margin-bottom: 20px;
}

.pilones-text {
 font-family: 'CF Asty Std',sans-serif;
   font-size: 21px;
  line-height: 35px;
  max-width: 70%;
  margin: 0 auto;
}



.box-title {
 font-family: 'CF Asty Std',sans-serif;
   color: #fff;
  margin-bottom: 8px;
  font-size: 27px;
  line-height: 33px;
}

.box-text {
 font-family: 'CF Asty Std',sans-serif;
   color: #fff;
  font-size: 19px;
  line-height: 26px;
}

/* Swiper Container */
.swiper.mySwiper {
  width: 380px; 
  height: 550px;
  margin: 40px auto;
  overflow: visible; /* Important for the glow */
}

.pilones-box {
  position: relative;
  width: 100%;
  border-radius: 24px;
  padding: 40px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  z-index: 1;
  /* Remove background from here so it doesn't cover the border */
  background: none; 
}

/* 1. The ACTUAL Background Gradient */
/* We create a new layer for the inner background */
.pilones-box::after {
  content: "";
  position: absolute;
  inset: 0; /* fills the box */
  background: #FFFFFF;
  border-radius: 24px;
  z-index: -1; /* Sits above the border but below the text */
  width: 99%;
  height: 99%;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  top: 2px;
}


/* 2. The Gradient Border */
.pilones-box::before {
  content: "";
  position: absolute;
  /* Pull the border outside by 2px */
  top: -1px; bottom: -1px; left: -1px; right: -1px;
  z-index: -2; /* Sits at the very bottom */
  border-radius: 26px; 
  background: linear-gradient(to bottom, #C0E5FF, #003D67);
}

/* 3. The BG Glow (Added to a wrapper or extra pseudo) */
/* Since we used ::before and ::after, let's add a glow using a drop-shadow 
   on the whole container for a cleaner "aura" effect */
.pilones-box {
  filter: drop-shadow(0 0 15px rgba(192, 229, 255, 0.15));
  transition: filter 0.3s ease;
}



.pilones-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}
.pilones-box {
  width: 390px; 
  height: 520px;
}

/* Content remains the same */
.pilones-box img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 24px;
  mix-blend-mode: luminosity;
  border: 1px solid rgba(192, 229, 255, 0.1);
}

.box-title {
  font-family: 'CF Asty Std', sans-serif;
  color: #051B2F;
  margin-bottom: 12px;
  font-size: 27px;
  line-height: 1.2;
}

.box-text {
  font-family: 'CF Asty Std', sans-serif;
  color: #051B2F;
  font-size: 18px;
  line-height: 1.4;
}

.omilites-section {
  text-align: center;
  margin: 80px auto;
  padding: 10px;
  position: relative;
  z-index: 1;
}

.omilites-title {
  color: #fff;
  font-size: 52px;
  margin-bottom: 40px;
}



.omilites-all-boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  max-width: 1300px;
  margin: 0 auto;
}

.omilites-box {
  background-color: #125F94;
  color: #fff;
  border-radius: 24px;
  padding: 10px;
  width: 350px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 180px;
  position: relative;
}

.omilites-box::before {
    content: "";
  position: absolute;
  /* Pull the border outside by 2px */
  top: -1px; bottom: -1px; left: -1px; right: -1px;
  z-index: -2; /* Sits at the very bottom */
  border-radius: 26px; 
  background: linear-gradient(to bottom, #C0E5FF, #003D67);
}

.omilitis-name {
  font-family: 'CF Asty Std', sans-serif;
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 8px;
}

.omilitis-position {
  font-family: 'CF Asty Std', sans-serif;
  font-size: 15px;
  font-weight: 300;
}


.xorigoi-title {
  text-align: center;
  color: #fff;
  margin: 80px auto 40px;
  font-size: 40px
}

.silver-sponsor {
    font-family: 'CF Asty Std', sans-serif;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  color: #fff;
  margin-bottom: 30px;
}

.supporter-sponsor {
      font-family: 'CF Asty Std', sans-serif;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  color: #fff;
}

.xorigoi-section {
  margin: 120px auto;
}

.xorigoi-all-boxes {
  display: flex;
  align-items: center;
  gap: 50px;
  max-width: 1240px;
  margin: 0 auto;
  justify-content: center;
  flex-wrap: wrap;
}
.xorigoi-box img {
  width: 100%;
  max-width: 170px;
}

.xorigoi-supporters {
  margin-top: 70px;
}

.contact-logo {
  width: 350px;
}

.contact-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 90px auto;
}

.time {
  font-size: 52px;
  margin-top: 10px;
  color: #fff;
}

.place {
  font-family: "ivypresto-headline", serif;
  font-size: 52px;
  font-weight: 100;
  color: #fff;
  text-decoration: none;
}

.time {
  font-size: 52px;
  margin-top: 40px;
  color: #fff;
}

.copyrights {
  font-family: "ivypresto-headline", serif;
}

/* General Footer Styles */
.site-footer {
  background-color: transparent;
  color: #ffffff;
  padding: 60px 20px 20px;
  font-family: sans-serif;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
  display: none;
}

.footer-col {
  flex: 1;
  min-width: 200px; /* Ensures columns wrap on smaller screens */
}

/* Column Headings */
.footer-col h3 {
  font-size: 1.1rem;
  margin-bottom: 20px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Links and Lists */
.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 12px;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

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

/* Social Icons */
.social-icons a {
  display: block;
  margin-bottom: 10px;
  color: #b3b3b3;
  text-decoration: none;
}

.social-icons a:hover {
  color: #ffffff;
}

/* Bottom Section */
.footer-bottom {
  text-align: center;
  margin-top: 50px;
  color: #fff;
  font-size: 0.9rem;
  display: flex;
  justify-content: space-between;
}

.footer-bottom a {
  color: #fff;
  text-decoration: none;
}

.footer-bottom hr {
  border: 0;
  border-top: 1px solid #fff;
  margin-bottom: 20px;
}


/*programma page*/
.programma-intro-container {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 80px;
  color: #fff;
}
.programma-title {
  font-size: 60px;
  margin-bottom: 13px;
}

.programma-description {
  font-family: 'CF Asty Std',sans-serif;
  font-weight: 900;
  font-size: 35px;
}

.programma-sinedriou {
  max-width: 1300px;
  padding: 10px;
  margin: 0 auto;
}

.programma-info {
  font-family: 'CF Asty Std',sans-serif;
}


.timeline-item.standard-slot {
  background-color: #fff;
  padding: 20px 10px;
  border-radius: 12px;
  margin-bottom: 24px;
}

.timeline-item {
  display: flex;
  align-items: center;
}


.time-col {
  width: 190px;
  text-align: center;
}

.category.tag-reg {
  font-size: 30px;
  color: #004674;
  border-bottom: 1px solid #004674;
  padding-bottom: 20px;
  margin-bottom: 22px;
}

.sketo .category.tag-reg {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.content-col {
  margin-left: 34px;
  flex:1;
}

.con-time {
  background-color: #abdeff;
  padding: 10px 21px;
  border-radius: 80px;
  color: #004674;
  font-family: 'CF Asty Std';
  font-weight: 900;
}

.speaker-image img {
  border-radius: 80px;
  width: 70px;
}

.speaker-info {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 50%;
}

.speaker-name {
  font-size: 20px;
}

.speaker-title {
  font-family: 'CF Asty Std',sans-serif;
  margin-top: 5px;
}

.speaker-details {
  flex: 1;
}
.speakers-box {
  margin-top: 13px;
  display: flex;
  gap: 24px;
}


/* Responsive adjustment for small screens */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    text-align: center;
  }


.timeline-item {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.speaker-info {
  max-width: none;
}
.time-col {
  width: 137px;
  text-align: center;
  margin-bottom: 20px;
  margin-top: 17px;
}

.category.tag-reg {
  font-size: 28px;
}

.speakers-box {
  flex-direction: column;
}
.con-time {
  font-size: 13px;
}

.content-col {
  margin-left: 5px;
}

.speaker-title {
  font-size: 14px;
}

.programma-title {
  font-size: 50px;
}

.programma-description {
  font-size: 30px;
}

.programma-info {
  font-size: 13px;
}
.programma-intro-container {
  text-align: center;
  margin-top: 0;
  margin-bottom: 40px;
  color: #fff;
}

.footer-bottom {
  flex-direction: column;
  gap: 10px;
}

.menu-btn {
  z-index: 100;
  cursor: pointer;
  transition: all 0.5s ease-in-out;
  width: 60px;
  height: 20px;
}

.main-logo {
  max-width: 160px;
}
}


@media (max-width: 590px) {
  .large-arrow {
    width: 20%;
  }

  .hero-logo {
  width: 320px;
  margin: 0 auto;
}
.subtitle-main p{
  font-size: 17px;
}

.main-text {
  font-size: 20px;
  padding: 10px;
  max-width: 480px;
}

.section-2-text {
  font-size: 26px;
}

.section-2-content{
  padding: 20px;
  margin: 0 auto;
  margin-left: 0;
}
.section-3-content {
  flex-direction: column;
  padding: 20px;
}

.question-text {
  font-size: 70px;
  margin-bottom: 20px;
}

.answer-text {
  font-size: 19px;
  line-height: 29px;
}
.pilones-text {
  font-family: 'CF Asty Std',sans-serif;
  font-size: 19px;
  line-height: 27px;
  max-width: 90%;
  margin: 0 auto;
}
}

@media (max-width: 450px) {
  .swiper.mySwiper {
    width: 280px;
    height: 500px;
  }
  .pilones-title { font-size: 32px; }
  .pilones-text { max-width: 100%; font-size: 18px; }

  .pilones-box.swiper-slide {
    padding: 20px;
  }
    .section-2-text {
    font-size: 22px;
  }

    .question-text {
    font-size: 49px;
    margin-bottom: 20px;
  }

  .contact-logo {
  width: 270px;
}
.time {
  font-size: 42px;
  margin-top: 30px;
  color: #fff;
}
.place {
  font-size: 42px;
}
.box-text {
  font-size: 17px;
}

.box-title {
  font-size: 24px;
}
}