html, body {
    width: 100vw;
    height: 100%;
    margin: 0;
    padding: 0;
    transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
    -webkit-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
    -moz-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
    -o-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);  
    color: #1C5796;
    background-color: #1C5796;
    overflow-x: hidden; 
    scroll-snap-type: y mandatory;
    box-sizing: border-box;

  }
  iframe, img {
    max-width: 100vw; /* Ensure images and iframes do not exceed container width */
    height: auto; /* Maintain aspect ratio */
  }



  /* Ensure the scroll container is flexible */
.scroll-container {
    position:relative;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
    height: 100vh;
    max-width:100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

  .ct {
    max-width: 100vw;
    height: 100vh; /* Full viewport height */
    scroll-snap-align: start;
    margin: 0;
    padding: 0;
    transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
    -webkit-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
    -moz-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
    -o-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);  
    color: #fff;
}
  * {
    font-family: 'open sans', 'lato', 'helvetica', sans-serif;
  }
  
  .page {

    width: 100vw;
    position: absolute;
    scroll-snap-align: start;
      margin: 0;
      padding: 0;
      transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
      -webkit-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
      -moz-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);
      -o-transition: all .8s cubic-bezier(0.54, 0.35, 0.29, 0.99);  
      color: #fff;
      overflow: hidden; 
      height: 100vh; /* Full viewport height */
      -ms-overflow-style: none;  /* IE and Edge */
      scrollbar-width: none; 
  }
  .page::-webkit-scrollbar {
    display: none;
}
  
  #p1 {
    left: 0;
  }
  
  #p2, #p3, #p4, #p5 {
    left: 200vw;
    visibility: hidden;
    transition: transform 1.5s ease, opacity 1s ease;
  }
  
  #p1 { background: #1C5796; }
  #p2 { background: #A52747 }
  #p3 { background: #6f518a; }
  #p4 { background: deeppink; }
  #p5 { background: #1C5796; }
  
#t2:not(:target) #p2,
#t3:not(:target) #p3,
#t4:not(:target) #p4,
#t5:not(:target) #p5 {
    opacity: 0;
    visibility: hidden;
    transform: translateX(200%);
    transition: opacity 1s ease, visibility 0s 2s, transform 1.5s ease;
}

/* Active page styling */
#t2:target #p2,
#t3:target #p3,
#t4:target #p4,
#t5:target #p5 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  /*Enableinteraction*/
  transform: translateX(-194vw);
  /*Moveintoview*/
  transition: transform 1.5s ease, opacity 1.5s ease;
  -webkit-transform: translateX(-194vw);
  -moz-transform: translateX(-194vw);
  -ms-transform: translateX(-194vw);
  -o-transform: translateX(-194vw);
}
  
  #t2:target #p1 {
    background: #A52747;
  }

  #t3:target #p1 {
    background: #6f518a;
  }

  #t4:target #p1 {
    background: deeppink;
  }

  #t5:target #p1 {
    background: #1C5796;
  }
  #t2:target #p1 .icon, 
  #t3:target #p1 .icon,
  #t4:target #p1 .icon,
  #t5:target #p1 .icon {
    filter: blur(3px);
    -webkit-filter: blur(3px);
  }
  
  .icon {
    color: #fff;
    font-size: 32px;
    display: block;
  }
  .page .logo-home {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10%;
    left: 0;
    width: 75%;
    height: 100%;
    margin: auto;
    text-align: center;
    font-size: 80px;
    line-height: 1.3;

    transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -webkit-transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -moz-transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -o-transition: all .5s cubic-bezier(.25, 1, .5, 1.25);

  }
  ul .icon:hover {
    opacity: 0.5;
  }
  
  .page .icon .title {
    line-height: 2;
  }

  #t2:target ul .icon,
  #t3:target ul .icon,
  #t4:target ul .icon,
  #t5:target ul .icon{
    transform: scale(.6);
    -webkit-transform: scale(.6);
    -moz-transform: scale(.6);
    -o-transform: scale(.6);
    transition-delay: .25s;
  }
  
  #t2:target #dos,
  #t3:target #tres,
  #t4:target #cuatro,
  #t5:target #cinco {
    transform: scale(1.2) !important;
    -webkit-transform: scale(1.2) !important;
    -moz-transform: scale(1.2) !important;
    -o-transform: scale(1.2) !important;
  }
  img#uno {
    width:6vw
  }
  li#oneicon.icon{
    margin:4vw 0px;

  }
  
  ul {
    position: fixed;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    height: fit-content;
    padding: 0;
    text-align: center;
    margin:0;
   }
  #menu {
    width:6vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.2);
  }
  #menu .icon{
    margin: 5vw 1vw;
    transition: all .5s ease-out !important;
    -webkit-transition: all .5s ease-out !important;
    -moz-transition: all .5s ease-out !important;
    -o-transition: all .5s ease-out !important;
    -ms-transition: all .5s ease-out !important;
}
#bottom-menu .icon {
  transition: all .5s ease-out !important;
  -webkit-transition: all .5s ease-out !important;
  -moz-transition: all .5s ease-out !important;
  -o-transition: all .5s ease-out !important;
  -ms-transition: all .5s ease-out !important;
}
  
  a {
    text-decoration: none;
  }
  
  .title, .hint {
    display: block;
  }
  
  .title {
    font-size: 38px;
  }
  
  .hint {
    font-size: 13px;
  }
  
  #p4 .hint {
    display: inherit !important;
  }
  
  .hint a {
    color: yellow;
    transition: all 250ms ease-out;
    -webkit-transition: all 250ms ease-out;
    -moz-transition: all 250ms ease-out;
    -o-transition: all 250ms ease-out;
  }
  
  .hint a:hover {
    color: #FFF;
  }
  
  .line-trough {
    text-decoration: line-through;
  }

  
  .page .icon {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10%;
    left: 0;
    width: 6vw;
    height: auto;
    margin: auto;
    text-align: center;
    font-size: 6vw;
    line-height: 1.3;
    transform: translateX(360%);
    -webkit-transform: translateX(360%);
    -moz-transform: translateX(360%);
    -o-transform: translateX(360%);
    transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -webkit-transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -moz-transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -o-transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
    -ms-transform: translateX(360%);
}
  
  .page#p1 .icon {
    height: 50vh;
  }
  
  .page#p1 .icon {
    transform: translateX(10%) !important;
  }
  
  #t2:target .page#p2 .icon,
  #t3:target .page#p3 .icon,
  #t4:target .page#p4 .icon,
  #t5:target .page#p5 .icon {
    transform: translateX(0) !important;
    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    -o-transform: translateX(0) !important;
    transition-delay: 1s;
  }



/* Hide scrollbar for Chrome, Safari and Opera */
#icon-section::-webkit-scrollbar {
    display: none;
}
#menu-toggle {
    display:none
}

/* Hide scrollbar for IE, Edge and Firefox */
#icon-section {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    scroll-snap-align: center;
    scroll-padding: 50%;
    overflow-y: scroll;
}
#textile-iframe{
  height: 100vh; width:94vw;border: none;
}
.responsive-iframe {
  width: 94vw;
  height: 100vh;
  border: none;
}

@media (max-width: 768px) {
    .ct, .page {
        padding: 0; /* Avoid adding padding that causes overflow */
    }
    .responsive-iframe {
      width: 100%;
  }    
    .page iframe {
        overflow-x: hidden;
      }
    /* Active page styling */
    #t2:target #p2,
    #t3:target #p3,
    #t4:target #p4,
    #t5:target #p5 {
    height:94vh;
    top:6vh;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    /*Enableinteraction*/transform: translateX(calc(-200vw));
    /*Moveintoview*/transition: transform 1.5s ease, opacity 1.5s ease;
    -webkit-transform: translateX(calc(-200vw));
    -moz-transform: translateX(calc(-200vw));
    -ms-transform: translateX(calc(-200vw));
    -o-transform: translateX(calc(-200vw));
}
    #menu-toggle {
        display: block;
    }
    #menu a:not(#menu-toggle) {
        display: none;
    }
        /* Show menu toggle button on mobile */
    /* Show menu toggle button on mobile */

    /* Hide navbar on mobile */
    img#uno {
        width:5vw
      }
      li#oneicon.icon{
        margin:0px 0px
      }
      #menu {
        /* background-color: rgb(102,51,153,0.3); */
        border-radius: 2px;
        display:none;
      }
      #menu .icon {
        margin: 10px 2px;}
        .icon {
            color: #fff;
            font-size: 15px;
            display: block;
          }
          
    #textile-iframe {
        width:100vw;
        height: 94vh;
        top:6vh;
    }

}/* Default styles for the bottom menu (hidden by default) */
#bottom-menu {
  top:120vh;
}

/* Style for the icons in the bottom menu */
#bottom-menu .icon {
  display:none;
  color: white; /* Adjust icon color as needed */
  font-size: 4vh; /* Adjust icon size as needed */
}
mapboxgl-popup-content {
    width: fit-content;
    font-size: 3vw;


}
#about{
    width: 94vw; height: 100vh; border: none;
}

/* Media query to show the bottom menu on mobile devices */
@media (max-width: 768px) {
  #bottom-menu {
    display: none;
    position: fixed;
    top: 0;
    height: 6vh;
    width: 100%;
    z-index: 1000;
    display: flex;
    justify-content: space-around;
    padding-top: 1vh;
      display: flex;
      flex-direction: row;
      align-content: center;
  }
  #about{
    width: 100vw; height: 100%; border: none;
}
  #bottom-menu .icon {
    display:block;
    color: white; /* Adjust icon color as needed */
  }
  .bottom-menu-home {
    background-color: #A52747; /* Color for home page */
  }
  
  .bottom-menu-maps {
    background-color: #6f518a; /* Color for about page */
  }
  .bottom-menu-about {
    background-color: #1C5796; /* Color for contact page */
  }
  /* Hide the existing menu on mobile devices */
  #menu {
      display: none;
  }
}