:root{
  --header-font-grey: #7a6a56;
  --highlight: #8a704c;
  --font-color: #655746;
  --text-background: #f7f1e8;
  --background-green: #ABBFB6;
  --text-green: #3C4E46;
  --text-size: min(2.9vh, 24px);
  --button-text-size: min(2.9vh, 24px);
  --h1-size: 5vh;
  --h2-size: 3.5vh;
  --h3-size: 3.1vh;
  --answer-padding: 100px;
}

/* * {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}*/

/* Timeline things */
.timeline {
  max-width: 85%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  padding-left: 32px;
  border-left: 2px solid #C4B39C;
  font-size: 1.125rem;
}

.timeline-item {
  display: flex;
  gap: 24px;
  & + * {
    margin-bottom: 24px;
  }
  & + .last {
    margin-bottom: 0;
  }
}

.timeline-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-left: -53px;
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 0 0 6px rgb(219,203,182); /*var(--text-background);*/
  background-color: rgb(219,203,182); /*var(--text-background);*/
  color: rgb(219,203,182);/*var(--text-background);*/
}

.timeline-item-icon > svg {
  width: 30px;
  height: 30px;
}

.timeline-item-description {
  display: flex;
  padding-top: 6px;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--font-color);
  margin-bottom: 24px;
}
  
.timeline-item-description > img {
  flex-shrink: 0;
}
.timeline-item-description > p {
  font-size: var(--text-size);
}
.timeline-item-description > h3 {
  font-size: var(--h3-size);
}
.timeline-item-description > * {
  flex-basis: 100%;
  display: flex;
  justify-content: left;    
  margin-top:0;
  margin-bottom: 0;
}

#program {
  padding-bottom:0;
}

/* End Timeline things */

.map {
  height: 480px;
  width: 100%;
}

.no-marker-list {
  padding-inline-start: 0;
  margin-block-start: 0;
  margin-top: 0;
  list-style-type: none;
}

td {
  padding-left: 0;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-top: 5px;
  text-align: left;
}

th {
  padding-left: 10px;
  padding-right: 10px;
  text-align: left;
}

/* All things for the details and summary thing */
details details {
  margin-bottom: 10px;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  /*background: var(--text-background);*/
}

details {
  border-bottom: 1px solid #C4B39C;
}

.pinyon-script-regular {
  font-family: "Pinyon Script", cursive;
  font-weight: 400;
  font-style: normal;
}

.nunito-<uniquifier> {
  font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

.imperial-script-regular {
  font-family: "Imperial Script", cursive;
  font-weight: 400;
  font-style: normal;
}

.nunito-sans-<uniquifier> {
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100,
    "YTLC" 500;
}

.hotel {
  width: 32%;
  margin: auto;
  padding: 2%;
  display: inline-block;
  vertical-align:top;
}

.content * > p.hotel-name, .hotel-name {
  text-align: left;
  margin-bottom: 6px;
  font-weight: bold;
}

.hotel-info {
  vertical-align: bottom;
  display: inline-block;
}

.hotel > img {
  width: 100%;
}

/* Create a new custom triangle on the right side */
summary::after {
  align-items: center;
  display: flex;  
  content: url("/static/img/arrow_down.svg");
  vertical-align: inherit;  
}

details[open] > summary::after {
  transform: rotate(180deg);
}

summary {
  display: flex;
  justify-content: space-between;
  list-style: none;
  font-size: 18px;
  color: var(--highlight);
  vertical-align: middle;
}
summary::-webkit-details-marker {
  display: none
}

/* The body */
body {
  font-family: "Nunito Sans", sans-serif;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  background-image: url("/static/img/background4_3.png");
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: bottom;
}

/* Specific stuff for the header */
div.header {
  width: 100%;
  margin-top: 0;
  height: 100vh;
  /*background-image: url("/static/img/background4_3.png");*/
  background-size: cover;
  background-attachment: fixed;
}

.header > *, .header-container > *, .header-container-es > * {
  width: 100%;
  text-align: center;
  text-decoration-color: var(--highlight);
  color: var(--header-font-grey);
}

.header > p, .header-container > p, .header-container-es > p {
  font-size: var(--text-size);
  font-weight: 300;
  /*padding-top: 1%;*/
}

.header-container {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -40%);
}

.header > h1, .header-container > h1, .header-container-es > h1 {
  font-family: "Imperial Script", "Lucida Handwriting", Cursive;
  font-size: 10vh;
  font-weight: 200;
  /*padding-top: 10%;*/
  /*text-decoration-line: underline;
  text-decoration-thickness: 8pt;*/
}

.answer-container {
  width: 100%;
  background: var(--background-green);
  color: var(--text-green);
  display: block;
  overflow: auto;
}

.answer > h1 {
  color: var(--text-green);
  font-size: var(--h1-size);
  text-align: left;
}

.answer {
  text-align:left;
  width: 50%;
  font-size: var(--text-size);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3%;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: var(--answer-padding);
  padding-top: var(--answer-padding);
}

.answer > h3 {
  font-size:var(--h3-size);
  color: var(--text-green);
}

.content * > li, .content > li, .answer > li, .answer * > li,
.content * > p, .content > p, .answer > p, .answer * > p {
  font-weight: 300;
}

.content-container {
  display: block;
  overflow: auto;
  min-height: 50vh !important;
}

.content-inner-container {
  width: 100%;
  background-image: url("/static/img/background_bottom.png");
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  /*background: var(--text-background);*/
  color: var(--font-color);
  display: block;
  overflow: auto;  
  margin-bottom: 0;
  background-position: bottom;
}

/* These properties are meant for the whole rest */
.content {
  width: 50%;
  font-size: var(--text-size);
  border-radius: 8px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3%;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 80px;
  padding-top: 80px;
  /*color: var(--font-color);
  background: var(--text-background);*/
}

h1 {
  font-family: "Nunito";
  font-size: var(--h1-size);
  font-weight: 700;
  text-align: left;
  color: var(--font-color);
}

.details-icon {
  vertical-align: middle;
  height: var(--h2-size);
  margin-right: 10px;
}

h2 {
  font-family: "Nunito";
  font-size:var(--h2-size);
  color: var(--font-color);
  
}

h3 {
  font-size:var(--h3-size);
  color: var(--font-color);
}

.yesbutton {
  background-color: var(--text-green);
  color: var(--background-green);
  border: 1px solid var(--text-green);
  width: 48%;
  min-height: 48px;
  border-radius: 4px;
  font-size: var(--button-text-size);
}

.nobutton {
  color: var(--text-green);
  border: 1px solid var(--text-green);
  width: 48%;
  min-height: 48px;
  background-color: var(--background-green);
  border-radius: 4px;
  font-size: var(--button-text-size);
}

/* Image carousel */
* {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

/* Hide the images by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: var(--font-color);
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: var(--font-color);
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: var(--font-color);
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: var(--highlight);
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

.overlay-scroll-down {
  height: 40px;
  width: 40px;
  border-radius: 20px;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  bottom: 30px;
  left: calc(50% - 20px);
  transform: translate(calc(-50%+20px), calc(-100% + 30px));

  box-shadow: 0 0 0 0  var(--header-font-grey);
  /*transform: scale(1);*/
  animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 var(--header-font-grey);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 6px rgba(0, 0, 0, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

/* Use a media query to add a breakpoint at 800px: */
@media screen and (orientation: portrait), (max-width: 800px), (max-device-width: 800px) {
  .header > h1, .header-container > h1, .header-container-es > h1 {
    padding: 0px;
    margin-top:20px;
    margin-bottom:20px;
    font-size: 46px;
  }

  .header > p.top, .header-container > p.top, .header-container-es > p.top  {
    margin-top: 20px;
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }

  .header > p.top-with-parents, .header-container > p.top-with-parents, .header-container-es > p.top-with-parents {
    margin-top: 10px;
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }

  .header > p, .header-container > p, .header-container-es > p {
    font-size: min(2.9vh, 19px);
    padding:0px;
    margin:0px;
  }

  .yesbutton, .nobutton {
    width: 100%;
    /*font-size: 18px;*/
    margin-bottom: 12px;
    min-height: 40px;
  }

  .answer {
    width:100%;
    text-align: left;
    /*font-size: 18px;*/
  }

  .content {
    width: 100%;
    margin-bottom: 0;
    border-radius: 0;
  }

  body {
   background-image: url("/static/img/mobile.png");
   background-position: center;
   background-size: cover;
   background-attachment: fixed;
   background-repeat: no-repeat;
  }
  body:after{
      content:"";
      position:fixed; /* stretch a fixed position to the whole screen */
      top:0;
      height:100vh; /* fix for mobile browser address bar appearing disappearing */
      left:0;
      right:0;
      z-index:-1; /* needed to keep in the background */
      background: url("/static/img/mobile.png") center center;
      -webkit-background-size: cover;
      -moz-background-size: cover;
      -o-background-size: cover;
      background-size: cover;
  }

  /*.content > h1, .answer > h1 {
    font-size: 28px;
    text-align: left;
  }*/

  /*h2 {
    font-size: 22px;
  }*/

  .details-icon {
    vertical-align: middle;
    height: 24px;
  }

  /*h3 {
    font-size: 18px;
  }*/

  div.header {
    margin-top: 0;
    height: 100vh;
  }

  .hotel {
    width: 100%;
    padding: 2%;
    display: inline-block;
    vertical-align:top;
  }

  .content-inner-container {
    background-image: url("/static/img/mobile_bottom.png");
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: bottom;
  }
}

@supports ( -webkit-touch-callout : none) {
  .content-inner-container {
    background-image: url("/static/img/ios_bottom.png");
    background-size: cover;
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: bottom;
  }
}
