/* ===================== */
/*   Variables + Reset   */
/* ===================== */
:root {
  --light-colour: #f7f7f7;
  --dark-colour: #e8332c;
  --green-colour: #01bc78;
  --blue-colour: #007acc;
  --red-colour: #782424;
  --white-colour: #fff;
  --black-colour: #330000;
  --grey-colour: #333;
  --yellow-colour: #ffe74c;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
  font-family: 'Outfit', sans-serif;
}
svg {
  overflow: visible !important;
}
html,
body {
  width: 100%;
  min-height: 100%;
  background: var(--blue-colour);
}
.hidden {
  display: none !important;
}
.no-scroll {
  overflow: hidden !important;
  position: fixed !important;
  height: 100vh;
}
a {
  color: inherit;
}
.boldFont {
  font-weight: 700 !important;
}

/* ===================== */
/*        Header         */
/* ===================== */
.home-page {
  position: relative;
  height: 100vh;
  height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--blue-colour);
}
.home-page-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 3;
  height: 12.5svh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2vw;
  background: var(--white-colour);
  box-shadow: rgba(0, 0, 0, 0.2) 0 0.1vmin 0.2vmin,
    rgba(0, 0, 0, 0.15) 0 0.35vmin 0.6vmin -0.15vmin,
    rgba(0, 0, 0, 0.1) 0 -0.3vmin 0 inset;
}

/* ===================== */
/*      Hero section     */
/* ===================== */
.main-section {
  position: absolute;
  top: 12.5svh;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  row-gap: 1vmin;
  height: 80svh;
  text-wrap: balance;
  background-color: #f8c2c0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 1500'%3E%3Cdefs%3E%3CradialGradient id='a' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23F7F7F7'/%3E%3Cstop offset='1' stop-color='%23F8C2C0'/%3E%3C/radialGradient%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='0' y1='750' x2='1550' y2='750'%3E%3Cstop offset='0' stop-color='%23f8dddc'/%3E%3Cstop offset='1' stop-color='%23F8C2C0'/%3E%3C/linearGradient%3E%3Cpath id='s' fill='url(%23b)' d='M1549.2 51.6c-5.4 99.1-20.2 197.6-44.2 293.6c-24.1 96-57.4 189.4-99.3 278.6c-41.9 89.2-92.4 174.1-150.3 253.3c-58 79.2-123.4 152.6-195.1 219c-71.7 66.4-149.6 125.8-232.2 177.2c-82.7 51.4-170.1 94.7-260.7 129.1c-90.6 34.4-184.4 60-279.5 76.3C192.6 1495 96.1 1502 0 1500c96.1-2.1 191.8-13.3 285.4-33.6c93.6-20.2 185-49.5 272.5-87.2c87.6-37.7 171.3-83.8 249.6-137.3c78.4-53.5 151.5-114.5 217.9-181.7c66.5-67.2 126.4-140.7 178.6-218.9c52.3-78.3 96.9-161.4 133-247.9c36.1-86.5 63.8-176.2 82.6-267.6c18.8-91.4 28.6-184.4 29.6-277.4c0.3-27.6 23.2-48.7 50.8-48.4s49.5 21.8 49.2 49.5c0 0.7 0 1.3-0.1 2L1549.2 51.6z'/%3E%3Cg id='g'%3E%3Cuse href='%23s' transform='scale(0.12) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.2) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.25) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(0.3) rotate(-20)'/%3E%3Cuse href='%23s' transform='scale(0.4) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(0.5) rotate(20)'/%3E%3Cuse href='%23s' transform='scale(0.6) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.7) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.835) rotate(-40)'/%3E%3Cuse href='%23s' transform='scale(0.9) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(1.05) rotate(25)'/%3E%3Cuse href='%23s' transform='scale(1.2) rotate(8)'/%3E%3Cuse href='%23s' transform='scale(1.333) rotate(-60)'/%3E%3Cuse href='%23s' transform='scale(1.45) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(1.6) rotate(10)'/%3E%3C/g%3E%3C/defs%3E%3Cg transform='rotate(0 0 0)'%3E%3Cg transform='rotate(0 0 0)'%3E%3Ccircle fill='url(%23a)' r='3000'/%3E%3Cg opacity='0.5'%3E%3Ccircle fill='url(%23a)' r='2000'/%3E%3Ccircle fill='url(%23a)' r='1800'/%3E%3Ccircle fill='url(%23a)' r='1700'/%3E%3Ccircle fill='url(%23a)' r='1651'/%3E%3Ccircle fill='url(%23a)' r='1450'/%3E%3Ccircle fill='url(%23a)' r='1250'/%3E%3Ccircle fill='url(%23a)' r='1175'/%3E%3Ccircle fill='url(%23a)' r='900'/%3E%3Ccircle fill='url(%23a)' r='750'/%3E%3Ccircle fill='url(%23a)' r='500'/%3E%3Ccircle fill='url(%23a)' r='380'/%3E%3Ccircle fill='url(%23a)' r='250'/%3E%3C/g%3E%3Cg transform='rotate(0 0 0)'%3E%3Cuse href='%23g' transform='rotate(10)'/%3E%3Cuse href='%23g' transform='rotate(120)'/%3E%3Cuse href='%23g' transform='rotate(240)'/%3E%3C/g%3E%3Ccircle fill-opacity='0.1' fill='url(%23a)' r='3000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
  background-size: cover;
}
.board-effect {
  width: 80vw;
  height: 70svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  background: var(--white-colour);
  border: 2vmin solid var(--white-colour);
  box-shadow: rgba(0, 0, 0, 0.2) 0 3.5vmin 0 -2vmin;
}

/* -------------------------------------------------------------------------- */
/*                                   iFRAME                                   */
/* -------------------------------------------------------------------------- */

#resourceFrame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* -------------------------------------------------------------------------- */
/*                                    MENU                                    */
/* -------------------------------------------------------------------------- */

.demo-page-menu {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 2vmin;
}

.demo-res-button-holder {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: fit-content;
  row-gap: 1vmin;
}

.demo-res-button-holder .outlineButton {
  border-radius: 0;
}

.resource-and-change-button {
  display: flex;
  align-items: center;
  column-gap: 2vmin;
}

.resource-and-change-button h2 {
  font-size: 4vmin;
  font-weight: 900;
  color: var(--dark-colour);
}

.current-list-name h2 {
  font-size: 2.5vmin;
  font-weight: 300;
  color: var(--black-colour);
}

/* -------------------------------------------------------------------------- */
/*                                 LIST SELECT                                */
/* -------------------------------------------------------------------------- */

.list-controls {
  display: flex;
  gap: 1vmin;
  align-items: stretch;
}

/* Make the select take remaining space */
.list-controls select {
  flex: 1 1 auto;
}

/* Optional: match heights cleanly */
.list-controls select,
.list-controls .simpleButton,
.demo-res-button-holder .simpleButton {
  min-height: 5.5vmin;
}

.list-picker-holder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 1vmin;
  height: 100%;
}

.list-picker-holder-labels {
  display: flex;
}

#list-picker-or {
  margin-top: 1.75vmin;
}

.list-picker-holder select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 25vw;
  padding: 1vmin 4vmin 1vmin 0.75vmin;
  font-size: 2vmin;
  line-height: 1.5;
  background-color: var(--white-colour);
  color: var(--dark-colour);
  border: 2px solid var(--dark-colour);
  background-image: url("data:image/svg+xml,%3Csvg fill='%23333' height='10' viewBox='0 0 10 10' width='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5vmin center;
  background-size: 1vmin;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 0px -2px;
  cursor: pointer;
}

.list-picker-holder select:focus {
  outline: none;
  border-color: var(--dark-colour);
}

.list-picker-holder select:hover {
  box-shadow: rgba(0, 0, 0, 0.2) 0px 7px 0px -2px;
}

/* ===================== */
/*        Footer         */
/* ===================== */
.tagline-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 7.5svh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--dark-colour);
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  z-index: 5;
}
.tagline-footer p {
  color: #fff;
  font-size: 2vmin;
  padding: 0 2vmin;
  text-align: center;
  text-wrap: balance;
}
