/* import css files */
@import "/css/reset.css";
@import "/css/predef.css";
@import "/css/default.css";
@import "/css/nav.css";

/* import a font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


:root {
  /* spacing, apply to typography and divs */
  --spacing-xs: 0.5rem;
  --spacing-s: 1rem;
  --spacing-m: 3rem;
  --spacing-l: 6rem;
  --spacing-xl: 12rem;

  /* width, apply to div blocks */
  --width-min: 60rem;
  --width-max: 72rem;
  
  /* font-sizes, see predef.css font__ classes */
  --font-size-xs: 0.6rem;
  --font-size-s: 0.75rem;
  --font-size-m: 1.0rem;
  --font-size-l: 1.5rem;
  --font-size-xl: 2.5rem;
  --font-size-2x: 2.7rem;
  --font-size-4x: 6rem;
  --font-size-8x: 10rem;
  --font-size-10x: 15rem;
  

  /* default color-set */
  --color-bg: rgb(248, 240, 229);
  --color-fg: rgba(32, 32, 32);
  --color-link: rgba(60, 55, 40, 1);
  --color-hover: rgba(160, 155, 140, 1);
  /* custom colors */
  --color-0: rgba(0, 0, 0, 1);
  --color-1: rgba(64, 64, 64, 1);
  --color-2: rgba(160, 160, 160, 1);
  --color-3: rgba(255, 255, 255, 1);
  --color-primary: #1099CA;

  /* menu proerties*/
  --menu__color-bg: rgba(0, 0, 0, 0.7); /* mobile mode */
  --menu__color-link: rgba(240, 240, 240, 1);
  --menu__color-hover: rgba(132, 132, 132,1);
  --menu__color-current: rgb(120, 116, 102);
  --menu__font-size: 1rem;
  --menu__font-weight: 500;
  --menu__mix-blend: difference;


  --landing-offset: 50vh;

  /* when debug is set to 1px, it will add borders 
   * around elements to better understand the layout */
  --debug: 0px;
}


html {
  /* Font is loaded above, see @import url(..) */
  font-family: 'Poppins', sans-serif;
}


div {
  /* default font size, different font sizes
   * used for this website use the font-size
   * set here as their reference-size and
   * adjust accordingly – see :root above.
   */
  font-size: 18px;
}

.hero-image {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}

.hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

.register-phase1-image {
  width: 100%;
  margin: 20px 0;
  display: flex;
  justify-content: center;
}
.register-phase1-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.intervention-phase1-image {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 24px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}
.intervention-phase1-image img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100vw;
}

.register-btn-container {
  max-width: 1200px;
  margin: 30px auto;
  padding: 0 20px;
  text-align: center;
}

.register-text {
  font-size: 21px;
  line-height: 1.5;
  margin-bottom: 20px;
  font-style: italic;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.register-btn {
  display: inline-block;
  padding: 15px 40px;
  background-color: #973F2D;
  color: #FEF6E9;
  text-decoration: none;
  border-radius: 30px;
  font-size: 18px;
  font-weight: 600;
  transition: all 0.3s ease;
  margin-top: 10px;
}

.register-btn:hover {
  background-color: #7a3324;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Phase Container Styles */
.phase-container {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 40px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
  background-color: #973F2D;
  color: #FEF6E9;
  overflow: hidden;
}

.phase-image {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: relative;
}

.phone-image {
  max-width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 2;
}

.phase-content {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.phase-title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 600;
}

.phase-subtitle {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.1;
}

.phase-text {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 30px;
}

.phase-content .register-btn {
  background-color: #FEF6E9;
  color: #973F2D;
  align-self: flex-start;
}

.phase-content .register-btn:hover {
  background-color: #f8e9d8;
}

/* Responsive styles for phase container */
@media (max-width: 768px) {
  .phase-container {
    flex-direction: column;
    background-color: #973F2D;
  }
  
  .phase-image {
    order: 1;
    padding: 20px;
    justify-content: center;
  }
  
  .phase-content {
    order: 2;
    padding: 20px 30px 30px 30px;
    text-align: left;
  }
  
  .phase-title {
    font-size: 22px;
    margin-bottom: 5px;
  }
  
  .phase-subtitle {
    font-size: 36px;
    margin-bottom: 15px;
  }
  
  .phase-text {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  
  .phase-text br {
    display: none;
  }
  
  .phase-content .register-btn {
    align-self: center;
    width: 100%;
    text-align: center;
    margin-top: 20px;
    padding: 15px 20px;
    border-radius: 50px;
    font-size: 18px;
    background-color: #FEF6E9;
  }
}

/* Phase 2 Container Styles */
.phase2-container {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 40px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
  background-color: transparent;
  color: #973F2D;
  overflow: hidden;
  padding: 40px 60px;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.phase2-content {
  flex: 1.2;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
  max-width: 60%;
}

.phase2-image {
  flex: 0.8;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}

.pack-image {
  max-width: 130%;
  height: auto;
  display: block;
  transform: scale(1.3);
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .pack-image {
    max-width: 100%;
    transform: none;
  }
}

/* Phase 3 Container Styles */
.phase3-container {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 40px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
  background-color: transparent;
  color: #973F2D;
  overflow: hidden;
  padding: 40px 60px;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.phase3-image {
  flex: 1.2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.box-image {
  max-width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 1;
}

.welcome-message {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 15px;
  border-radius: 5px;
  max-width: 200px;
  z-index: 2;
}

.welcome-message h4 {
  color: #973F2D;
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 600;
}

.welcome-message p {
  color: #333;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

.phase3-content {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}

.phase3-title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #973F2D;
}

.phase3-subtitle {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.1;
  color: #973F2D;
}

.phase3-text {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #333;
}

/* Responsive styles for phase3 container */
@media (max-width: 768px) {
  .phase3-container {
    flex-direction: column;
    padding: 20px;
  }
  
  .phase3-image {
    order: 1;
    margin-bottom: 20px;
  }
  
  .welcome-message {
    position: relative;
    top: 0;
    right: auto;
    transform: none;
    max-width: 100%;
    margin-top: 15px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  
  .phase3-content {
    order: 2;
    padding: 20px 0;
    max-width: 100%;
  }
  
  .phase3-subtitle {
    font-size: 36px;
  }
  
  .phase3-text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
  }
  
  .phase3-text br {
    display: none;
  }
}

/* Phase 3.1 Container Styles */
.phase3-1-container {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 0;
  margin-bottom: 10px;
  display: flex;
  flex-direction: row;
  background-color: transparent;
  color: #973F2D;
  overflow: hidden;
  padding: 0 30px 10px;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.phase3-1-content {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}

.phase3-1-image {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  padding-right: 0;
}

.contents-image {
  max-width: 85%;
  height: auto;
  display: block;
  transform: scale(1);
  position: relative;
  z-index: 1;
  margin: 0 0 0 auto;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contents-image.clickable-image:hover {
  transform: scale(1.02);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.phase3-1-title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #973F2D;
}

.phase3-1-subtitle {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.1;
  color: #973F2D;
}

.phase3-1-text {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #333;
}

/* Responsive styles for phase3-1 container */
@media (max-width: 768px) {
  .phase1-container, .phase2-container, .phase3-container {
    flex-direction: column;
    padding: 20px;
  }
  
  .phase1-content, .phase2-content, .phase3-content {
    padding: 20px 0;
    max-width: 100%;
  }
  
  .phase1-image, .phase2-image, .phase3-image {
    justify-content: center;
    margin-bottom: 20px;
  }
  
  .phone-image, .pack-image, .box-image {
    max-width: 100%;
    transform: none;
  }
  
  .phase1-subtitle, .phase2-subtitle, .phase3-subtitle {
    font-size: 36px;
  }
  
  .phase1-text, .phase2-text, .phase3-text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
  }
  
  .phase1-text br, .phase2-text br, .phase3-text br {
    display: none;
  }
  
  /* Phase 3.1 mobile styles */
  .phase3-1-container {
    flex-direction: column-reverse;
    padding: 20px;
  }
  
  .phase3-1-content {
    padding: 20px 0;
    max-width: 100%;
  }
  
  .phase3-1-image {
    justify-content: center;
    margin-bottom: 20px;
  }
  
  .contents-image {
    max-width: 100%;
    transform: none;
  }
  
  .phase3-1-subtitle {
    font-size: 36px;
  }
  
  .phase3-1-text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
  }
  
  .phase3-1-text br {
    display: none;
  }
}

/* Quick Guide Styles */
.quick-guide-container {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 40px;
  margin-bottom: 40px;
  background-color: transparent;
  padding: 40px 20px;
  position: relative;
}

.quick-guide-title {
  font-size: 48px;
  font-weight: 700;
  color: #973F2D;
  text-align: center;
  margin-bottom: 40px;
}

.quick-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.quick-guide-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.quick-guide-image-container {
  position: relative;
  width: 100%;
  border: none;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 20px;
}

.quick-guide-image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.quick-guide-image:hover {
  transform: scale(1.02);
}

.step-number {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 30px;
  height: 30px;
  background-color: #973F2D;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 18px;
}

.quick-guide-text {
  list-style-type: disc;
  padding-left: 20px;
  margin: 0;
  color: #333;
}

.quick-guide-text li {
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.4;
}

/* Responsive styles for quick guide */
@media (max-width: 768px) {
  .quick-guide-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .quick-guide-title {
    font-size: 36px;
    margin-bottom: 30px;
  }
  
  .quick-guide-item {
    margin-bottom: 20px;
  }
  
  .quick-guide-text li {
    font-size: 16px;
    line-height: 1.6;
  }
}

.phase2-title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #973F2D;
}

.phase2-subtitle {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.1;
  color: #973F2D;
}

.phase2-text {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #333;
}

/* Responsive styles for phase2 container */
@media (max-width: 768px) {
  .phase2-container {
    flex-direction: column-reverse;
    padding: 20px;
  }
  
  .phase2-content {
    padding: 20px 0;
    max-width: 100%;
    text-align: left;
  }
  
  .phase2-image {
    justify-content: center;
    margin-bottom: 20px;
  }
  
  .phase2-subtitle {
    font-size: 36px;
  }
  
  .phase2-text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
  }
  
  .phase2-text br {
    display: none;
  }
}

.phase1-desktop {
  display: block;
}
.phase1-mobile {
  display: none;
}
@media (max-width: 768px) {
  .phase1-desktop {
    display: none;
  }
  .phase1-mobile {
    display: block;
  }
}

.landing-section {
  background: url('/assets/images/homepagelandingpage.png') no-repeat center;
  background-size: cover;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 80px 20px;
  position: relative;
}

.landing-section h1 {
  font-size: 48px;
  color: #A94442;
  margin-bottom: 30px;
  visibility: hidden;
}

.video__container {
  width: 100vw;
  position: relative;
  overflow: hidden;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.video__container .btn-container {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.video__container::before {
  content: "";
  display: block;
  padding-top: 55.83%;
}

.img__cover-75 {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}

/* mobile specific settings */
@media (orientation: portrait) {
  :root {
    --font-size-l: 1.5rem;
    --font-size-xl: 1.75rem;
    --font-size-2x: 2rem;
    --font-size-4x: 3rem;
    --font-size-8x: 4rem;
    --font-size-10x: 5rem;

    --landing-offset:50vh;
  }
  h1, h2 {
    font-size:var(--font-size-xl);
  }
}
