

.gfs-didot-regular {
  font-family: "GFS Didot", serif;
  font-weight: 400;
  font-style: normal;
}
@font-face 
h1, h2, p, a {color:black;}

h1 {text-align: center;
	font-size: 1.5em;
	padding:0em 0em 1em 0em;
	font-family: "GFS Didot", serif;
	font-weight: 400;
	 -moz-user-select: -moz-none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -o-user-select: none;
            user-select: none;
}

h2 {text-align: center;
	font-size: 1.3em;
	padding:1em 0em 1em 0em;
	font-family: "GFS Didot", serif;
	font-weight: 400;
	 -moz-user-select: -moz-none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -o-user-select: none;
            user-select: none;
            
            
}
p.title {text-align: center;
	font-size: 1.9em;
	font-family: "GFS Didot", serif;
}
p {text-align: justify;
	font-size: 1em;
	font-family: "GFS Didot", serif;;
	user-select:none;
	color:black;
	 -moz-user-select: -moz-none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -o-user-select: none;
            user-select: none;
            
	
}
p.review {text-align: justify;
	font-size: 1em;
	font-family: "GFS Didot", serif;;
	user-select:none;
	font-style: italic;
	 -moz-user-select: -moz-none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -o-user-select: none;
            user-select: none;
	
}

a {text-align: justify;
	font-size: 1em;
	color: #000000;
	font-weight: 400;
	font-family: "GFS Didot", serif;;
	user-select:none;
	
	font-style:italic;
	 -moz-user-select: -moz-none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -o-user-select: none;
            user-select: none;
	
}

a.buy {font-size:1em;}
a:link{ color: black;
	text-decoration: none;}
	a:hover{ color: black;
	text-decoration: underline;}
	a:visited{ color: black;
	text-decoration: none;}
	a:active{ color: black;
	text-decoration: none;}

p.footer {text-align: center;
	font-size: .75em;
	font-family: "GFS Didot", serif;;
	padding:3em 0em 3em 0em;
}
p.footer-home {text-align: center;
	font-size: .75em;
	font-family: "GFS Didot", serif;;
	padding:3em 0em 3em 0em;
	color:white;
}
p.reg {text-align: center;
	font-size: .75em;
	font-family: "GFS Didot", serif;;
	padding:0em;
}


div.summary {padding-top:4em;}


hr {height:2px;margin:1em 0em;}





  * {
    margin: 0;
    padding: 0;
    
  }

 

.video-section {
  position: relative;   /* makes overlay relative to section */
  width: 100%;
 height: 100vh;
height: 100svh;
 overflow:hidden;
  text-align:center;
}

.bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
  position:absolute;
  top: 0;
left: 0;


}

.overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4); /* optional dark overlay */
  pointer-events: none;
  z-index:1;
}


 /* @media (max-width: 768px) {
    .bg-video {
      display: none;
    }
  }*/


/* FLOATING MENU */
.video-header {
 position: absolute;
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  max-width:80%;

}
.header {
  position: relative;
  z-index: 5;
}


html, body {
  margin: 0;
  padding: 0;
  height:100%;
  overflow-x: hidden;
  
}


.page-container {
 position: relative;
  background: white;
   /* push below hero */
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3em;
}

.container {
  flex: 1;
  display: flex;
  flex-direction: row;
  position:relative;
  max-width:80%;
}

.header {
  flex: 0 0 auto;
}

.content {
 
  display: flex;
  justify-content: center;
  flex-direction: row;
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  position: static; /* remove z-index unless needed */
  
}
.text, .wheel {
  flex: 1 1 45%; /* roughly half each */
  box-sizing: border-box;
}

section{
	padding:1em;
	max-width:80%;
	margin:0 auto;
	
}


.footer {
  flex: 0 0 auto;
}
.intro{
	max-width:80%;
	margin:0 auto;
}
.content-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 2em;          /* space between text and wheel */
  padding: ;  /* top/bottom padding to avoid overlap */
  max-width: 80%;
  margin: 0 auto;    /* center section */
  box-sizing: border-box;
}

.content-row .text {
  flex: 1 1 50%;
  
}

.content-row .wheel {
  flex: 1 1 50%;
 
}

/* Ensure wheel stays within container */
.content-row .wheel .rotator {
  max-width: 100%;
  margin: 0 auto;
}

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .content-row {
    flex-direction: column;
    padding: 2em 1em;
  }

  .content-row .wheel {
    margin-top: 2em;
  }
 
}
@media (max-width: 768px) {
  .content,
  section,
  .intro,
  .mosaic-gallery {
    max-width: 100%;
    width: 100%;
  }
}


.scroll-indicator {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  text-decoration: none;
}

.chevron {
  display: block;
  width: 20px;
  height: 20px;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  transform: rotate(45deg);
  animation: bounce 1.8s infinite;
}

/* Smooth bounce animation */
@keyframes bounce {
  0%, 100% {
    transform: rotate(45deg) translateY(0);
    opacity: 1;
  }
  50% {
    transform: rotate(45deg) translateY(8px);
    opacity: 0.6;
  }
}


/* ============================= */
/* M O S A I C   G A L L E R Y  */
/* ============================= */

.mosaic-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-auto-rows: 200px;
  gap: 12px;
  width: 80%;
  max-width: 1400px;
  margin: 2em auto;
 
}

.mosaic-item {
  position: relative;
  overflow: hidden;
}

.mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* Hover zoom */
.mosaic-item:hover img {
  transform: scale(1.05);
}

/* Size variations */
.mosaic-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.mosaic-item.tall {
  grid-row: span 2;
}

.mosaic-item.wide {
  grid-column: span 2;
}

/* Responsive tweak */
@media (max-width: 768px) {
  .mosaic-gallery {
    grid-auto-rows: 150px;
  }

  .mosaic-item.large,
  .mosaic-item.wide,
  .mosaic-item.tall {
    grid-column: span 1;
    grid-row: span 1;
  }
}



@media (max-width: 768px) {
  .content {
    flex-direction: column;
  }
   .contentmain {
    flex-direction: column;
  }
  .page-container {
 max-width:100%;
 
}
}



/* Style the summary button */
/*HOMEPAGE MENU*/
.dropbtnhome {
  font-weight: 400;
  font-size: 1.5em;
  color: white;
  margin: 0.7em;
  padding:0px;
  cursor: pointer;
  list-style: none;
  text-align:center;
  font-family: "GFS Didot", serif;
  
  
}
.dropbtnhome:focus,
.dropbtnhome:active {
  outline: none;
  border: none;
}


.dropbtnhome::-webkit-details-marker,
.dropbtnhome::marker {
  display: none;
}

.dropdown-content-home {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-5px);
  transition: max-height 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.dropdown-content-home a {
  display: block;
  padding: 8px 0;
  color: white;
  	text-align: center;
font-size: 1em;
}
.dropdown-content-home a:hover {
  text-decoration: underline;
}

.dropdownhome[open] .dropdown-content-home {
  max-height: 300px;
  opacity: 1;
  transform: translateY(0);
}

/* MENU - PAGES*/
.dropbtn {
  font-weight: 400;
  font-size: 1.5em;
  color: black;
  margin: 0.7em;
  cursor: pointer;
  list-style: none;
  text-align:center;
  font-family: "GFS Didot", serif;
}

.dropbtn::-webkit-details-marker,
.dropbtn::marker {
  display: none;
}

.dropdown-content {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-5px);
  transition: max-height 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.dropdown-content a {
  display: block;
  padding: 8px 0;
  color: black;
}

.dropdownhome[open] .dropdown-content-home {
  max-height: 300px;
  opacity: 1;
  transform: translateY(0);
}

/* Links inside dropdown */
.dropdown-content a {
	text-align: center;
	font-family: "GFS Didot", serif;;
	font-size: 1em;
  display: block;
  padding: 8px 0;
  text-decoration: none;
  color: black;
}
.dropdown-content a:hover {
  text-decoration: underline;
}

/* When open, expand smoothly */
.dropdown[open] .dropdown-content {
  max-height: 250px; /* enough for all items */
  opacity: 1;
  transform: translateY(0);
}





/*WHEELS*/
/* ===== WHEELS ===== */

.wheel {
 
 
    /* adjust as needed */
  margin: 0 auto;
}

.rotator {
  position: relative;
  
}

/* Outer wheel (static) */
.outer-wheel {
  width: 100%;
  display: block;
}

/* Inner rotating wheel */
#spin, #spin2, #spin3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform-origin: center center;
  will-change: transform;
  touch-action: none;
  user-select: none;
  cursor: grab;
  transition: transform 0.2s ease;
}

#spin.dragging,
#spin2.dragging,
#spin3.dragging {
  cursor: grabbing;
  transition: none;
}


/* Slideshow container */
.slideshow {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory; /* snap horizontally */
  -webkit-overflow-scrolling: touch; /* smooth on iOS */
  scrollbar-width: none; /* hide scrollbar in Firefox */
}
.slideshow::-webkit-scrollbar { display: none; } /* hide scrollbar in Chrome/Safari */

/* Each slide */
.slide {
  flex: none;
  width: 100%;
  max-width: 600px; /* slideshow size */
  height: 400px;
  scroll-snap-align: center;
  position: relative;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


img {user-select:none;
	 -moz-user-select: -moz-none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -o-user-select: none;
            user-select: none;
}






