@import url('https://fonts.googleapis.com/css2?family=Crimson+Text&family=Libre+Baskerville&family=Montserrat&family=Noto+Sans+TC:wght@300;700&family=Noto+Sans+SC:wght@300;700&display=swap');
@import url('https://db.onlinewebfonts.com/c/50fdb00bd31f40c13c4fab9f1de2387e?family=Didot+Italic');
@import url('https://db.onlinewebfonts.com/c/6070b7bd0dcd3b0cae2889e4905b0633?family=NewBaskervilleW01-Roman');
@font-face {
  font-family: 'STSongti-SC-Regular-07';
  src: 
  url(../fonts/STSongti-SC-Regular-07.woff2) format("woff2"),
  url(../fonts/STSongti-SC-Regular-07.woff) format("woff");
}
@font-face {
  font-family: 'STSongti-TC-Regular-08';
  src:
  url(../fonts/STSongti-TC-Regular-08.woff2) format("woff2"), 
  url(../fonts/STSongti-TC-Regular-08.woff) format("woff");
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {margin: 0;padding: 0;border: 0;font: inherit;font-size: 100%;vertical-align: baseline;}
html {line-height: 1;}
ol, ul {list-style: none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {text-align: left;font-weight: normal;vertical-align: middle;}
q, blockquote {quotes: none;}
q:before, q:after, blockquote:before, blockquote:after {content: "";content: none;}
a img {border: none;}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {display: block;}
a, button {display: inline-block;}
* {-webkit-box-sizing: border-box;box-sizing: border-box;}






/* ============================================================
helper
============================================================ */
.h-bg-full{background-size: cover;background-repeat: no-repeat;background-position: center;}
.h-center{display: flex;align-items: center;justify-content: center;}
.h-img-full{position: absolute;top: 0;left: 0;width: 100%;height: 100%;-webkit-object-fit: cover;object-fit: cover;}
.h-full{position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.text-align-center{text-align: center;}
.ver-align-middle *{vertical-align: middle;display: inline-block;}
.v-a-middle{vertical-align: middle;}
.txt-en{position: relative;top:0.05em;}
.mt-60{margin-top: 60px;}

@media (min-width: 992px){
  .mt-0{margin-top: 0px;}
}


/* ============================================================
MODULE
============================================================ */
.m-btn-wrap{margin: 2rem -10px 0 -10px;}
.m-btn-wrap .m-btn{margin: 0 10px;margin-top: 20px;}
.m-btn{padding: 0.5em 1em;color: #95794f;border: 1px solid;font-size: 1rem;font-family: var(--font-family-sans-serif);}
.m-btn--s{padding: 0.2em 1em;font-size: 0.85rem;}

@media (hover: hover) {
  .m-btn:hover{background-color: #95794f;color: var(--bg-color);}
}


/* ============================================================
display
============================================================ */
.display-flex{display: flex;}
.dispaly-none{display: none;}

@media (min-width: 992px){
  .display-flex-lg{display: flex;}
  .dispaly-none-lg{display: none;}
  .dispaly-blcok-lg{display: block;}
}


/* ============================================================
layout
============================================================ */
.container{padding: 0 40px;margin: 0 auto;}
.row {display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
.row-reverse{flex-direction: row-reverse;}
.row-center{align-items: center;}
.col-6{width: 50%;max-width: 50%;flex-basis: 50%;}
.row-g-20{margin: 0 calc(20px / 2 * -1);}
.row-g-20 > div{padding: 0 calc(20px / 2);}
.row-g-40{margin: 0 calc(40px / 2 * -1);}
.row-g-40 > div{padding: 0 calc(40px / 2);}

@media (min-width: 768px){
  .row-mb{display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
  .row-center-mb{align-items: center;}
  .col-6-mb{width: calc(100% / 2);max-width: calc(100% / 2);flex-basis: calc(100% / 2);}

  .row-g-10-mb{
    margin: 0 calc(10px / 2 * -1);
  }

  .row-g-10-mb > div{
    padding: 0 calc(10px / 2);
  }

  .row-g-20-mb{
    margin: 0 calc(20px / 2 * -1);
  }

  .row-g-20-mb > div{
    padding: 0 calc(20px / 2);
  }
}

@media (min-width: 992px){
  .container{
    width: 90%;
  }

  .row-lg{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .row-g-20-lg{
    margin: 0 calc(20px / 2 * -1);
  }

  .row-g-20-lg > div{
    padding: 0 calc(20px / 2);
  }

  .row-g-40-lg{
    margin: 0 calc(40px / 2 * -1);
  }

  .row-g-40-lg > div{
    padding: 0 calc(40px / 2);
  }

  .row-g-60-lg{
    margin: 0 calc(60px / 2 * -1);
  }

  .row-g-60-lg > div{
    padding: 0 calc(60px / 2);
  }

  .row-reverse-lg{
    flex-direction: row-reverse;
  }

  .row-center-lg{
    align-items: center;
  }

  .col-1-lg{
    width: calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
    flex-basis: calc(100% / 12 * 1);
  }

  .col-2-lg{
    width: calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
    flex-basis: calc(100% / 12 * 2);
  }

  .col-3-lg{
    width: calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
    flex-basis: calc(100% / 12 * 3);
  }

  .col-4-lg{
    width: calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
    flex-basis: calc(100% / 12 * 4);
  }

  .col-5-lg{
    width: calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
    flex-basis: calc(100% / 12 * 5);
  }

  .col-6-lg{
    width: calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
    flex-basis: calc(100% / 12 * 6);
  }

  .col-7-lg{
    width: calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
    flex-basis: calc(100% / 12 * 7);
  }

  .col-8-lg{
    width: calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
    flex-basis: calc(100% / 12 * 8);
  }

  .col-9-lg{
    width: calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
    flex-basis: calc(100% / 12 * 9);
  }

  .col-10-lg{
    width: calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
    flex-basis: calc(100% / 12 * 10);
  }

  .col-11-lg{
    width: calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
    flex-basis: calc(100% / 12 * 11);
  }

  .col-12-lg{
    width: calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
    flex-basis: calc(100% / 12 * 12);    
  }
}


/* ============================================================
icons
============================================================ */
.icon-hamburger{
  position: relative;
  width: 100%;
  height: 100%;
}

.icon-hamburger__line{
  position: absolute;
  top: 50%;
  left: 25%;
  width: 50%;
  height: 2px;
  margin-top: -1px;
  background-color: #fff;
}

.icon-hamburger__line:nth-child(1){transform: translateY(-400%);}
.icon-hamburger__line:nth-child(3){transform: translateY(400%);}

.icon-sound{
    position: relative;
    width: 22px;
    height: 20px;
    cursor: pointer;
}

.icon-sound__line{
  position: absolute;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: rgba(255,255,255,0.6);
}

.icon-sound__line:nth-child(1){left: 2px;}
.icon-sound__line:nth-child(2){left: 6px;}
.icon-sound__line:nth-child(3){left: 10px;}
.icon-sound__line:nth-child(4){left: 14px;}
.icon-sound__line:nth-child(5){left: 18px;}

.icon-sound__line:nth-child(2),.icon-sound__line:nth-child(4){transform: scaleY(0.6);}
.icon-sound__line:nth-child(1),.icon-sound__line:nth-child(5){transform: scaleY(0.3);}

.js-sound-on .icon-sound__line{
  animation: sound_play 1.2s;
  animation-play-state: running;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.js-sound-on .icon-sound__line:nth-child(1),.js-sound-on .icon-sound__line:nth-child(5){animation-delay: .24s;}
.js-sound-on .icon-sound__line:nth-child(2),.js-sound-on .icon-sound__line:nth-child(4){animation-delay: .48s;}
.js-sound-on .icon-sound__line:nth-child(3){animation-delay: .72s;}


@keyframes sound_play {
  0% {
    transform: scaleY(0.3);
  }
  50% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(0.3);
  }
}

.icon-arrow{
  position: relative;
  width: 1em;
  height: 1em;
}

.icon-arrow__inner{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.icon-arrow__line{
  position: absolute;
  height: 1px;
  width: 50%;
  bottom: 30%;
  background-color: var(--highlighted-color-dark);
}

.icon-arrow__line:nth-child(1){
  left: 0;
  transform-origin: right 50%;
  transform: rotate(45deg);
}

.icon-arrow__line:nth-child(2){
  left: 50%;
  transform-origin: left 50%;
  transform: rotate(-45deg);
}


.icon-arrow--left .icon-arrow__inner{transform: rotate(90deg);}
.icon-arrow--right .icon-arrow__inner{transform: rotate(-90deg);}

/* ============================================================
base
============================================================ */
:root {
  --bg-color: #010a35;
  --primary-color: #010a35;
  --highlighted-color: #d0ab75;
  --highlighted-color-dark: #95794f;
  --txt-color: #eaeaea;
   --font-family-tit: 'NewBaskervilleW01-Roman' , 'STSongti-TC-Regular-08', serif;
  --font-family-txt: 'Libre Baskerville','STSongti-TC-Regular-08',sans-serif;
  --font-family-serif: 'Libre Baskerville','STSongti-TC-Regular-08', serif;
  --font-family-sans-serif: 'Montserrat','STSongti-TC-Regular-08',sans-serif;
  --font-family-timeline-tit: 'Crimson Text','STSongti-TC-Regular-08', serif;
  --font-family-Didot: 'Didot Italic', serif;
  --header-h: 60px;
 /* --breakpoint-xs: 360px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1600px;*/
}



:lang(zh-Hant){
  --font-family-tit: 'NewBaskervilleW01-Roman' , 'STSongti-SC-Regular-07', serif; 
  --font-family-txt: 'Libre Baskerville','STSongti-SC-Regular-07',sans-serif;
  --font-family-serif: 'Libre Baskerville','STSongti-SC-Regular-07', serif; 
  --font-family-sans-serif: 'Montserrat','STSongti-SC-Regular-07',sans-serif;
  --font-family-timeline-tit: 'Crimson Text','STSongti-SC-Regular-07', serif; 
}



:lang(zh-Hant-TW){
  --font-family-tit: 'NewBaskervilleW01-Roman' , 'STSongti-TC-Regular-08', serif;
  --font-family-txt: 'Libre Baskerville','STSongti-TC-Regular-08',sans-serif;
  --font-family-serif: 'Libre Baskerville','STSongti-TC-Regular-08', serif;
  --font-family-sans-serif: 'Montserrat','STSongti-TC-Regular-08C',sans-serif;
  --font-family-timeline-tit: 'Crimson Text','STSongti-TC-Regular-08', serif; 
}



html{
  font-size: 16px;
}



body{
  background-color: var(--bg-color);
  color: var(--txt-color);
  font-family: var(--font-family-txt);
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}

:lang(en) body,
:lang(fr) body {
  line-height: 1.9;
  letter-spacing: 0.05em;
}

:lang(en) p,
:lang(fr) p {
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

a{
  color: var(--txt-color);
  text-decoration: none;
  transition: all 0.3s 0s ease;
}

button {
  background-color: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  color: var(--txt-color);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

h1,h2,h3{
  font-family: var(--font-family-tit);
  line-height: 1.3;
}

em{font-style: italic;}
strong{font-weight: 700;}

.logo{
  position: relative;
  /*background: linear-gradient(135deg, #95794f 0%,#e0b472 47%,#95794f 100%);*/
  background: #8d7249;
  -webkit-mask-image: url(../images/annahu.svg);
  mask-image: url(../images/annahu.svg);
  -webkit-mask-size: cover;
  mask-size: cover;
}

.logo::before{
  display: block;
  content: '';
  padding-top: 18.2%;
}

@media (min-width: 768px){
  :root {
    --header-h: 90px;
  }
}


/* ============================================================
l-progress
============================================================ */
.l-progress {
  position: fixed;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  z-index: 10002;
  top: 0;
  left: 0;
  background-color: var(--primary-color);

}


.progress__inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}


.progress__logo{width: 250px;}

.progress__loader{
  margin-top: 30px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  background: linear-gradient(0deg, rgba(149, 148, 121, 0.2) 33%, rgba(149, 148, 121, 1) 100%);
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

.progress__loader::after {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@keyframes rotation {
  0% { transform: rotate(0deg) }
  100% { transform: rotate(360deg)}
} 


@media (min-width: 680px){
  .progress__logo{
    width: 350px;
  }

}

/* ============================================================
l-header
============================================================ */
.l-header{
  position: fixed;
  width: 100%;
  height: var(--header-h);
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primary-color);
  box-shadow: 5px 5px 16px rgba(0,6,31,0.75);
  transition: 0.5s ease-in;
}

.toggle-menu{
  position: absolute;
  left: 0;
  top: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  cursor: pointer;
}


.ah-logo{
  width: 40%;
  max-width: 200px;
  margin: 0 auto;
}

.ah-logo a{display: block;width: 100%;}

.js-menu-active .l-header{
  background-color: transparent;
  box-shadow: none;
  transition-duration: 0.2s;
}

.js-menu-active .icon-hamburger__line{
  transition: 0.3s;
  background-color: var(--highlighted-color);
}

.js-menu-active .icon-hamburger__line:nth-child(2){
  transform: scaleX(0);
}

.js-menu-active .icon-hamburger__line:nth-child(1){
  transform: translateY(0) rotate(45deg);
}

.js-menu-active .icon-hamburger__line:nth-child(3){
  transform: translateY(0) rotate(-45deg);
}



@media (min-width: 992px){
  .ah-logo{width: 30%;}
  .js-menu-active .ah-logo{
    opacity: 0;
  }
  .toggle-menu{left: 20px;} 
}

/* ============================================================
menu
============================================================ */
.l-menu{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  visibility: hidden;
  opacity: 0;
  transition: .5s ease-in;
  z-index: 92;
}

.js-menu-active .l-menu{
  visibility: inherit;
  opacity: 1;
}

.l-menu .toggle-menu{
  left: 0;
  top: 5px;
  margin-top: 0;
  transform: translateY(0);
}

.menu-wrap{
  height: 100%;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.menu+.menu{margin-top: 1em;}
.menu-item{
  font-family: var(--font-family-tit);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

:lang(en) .menu-item,
:lang(fr) .menu-item {
  letter-spacing: 0em;
}

.menu-logo{display: none;}

.menu-logo .logo{
  width: 80%;
  max-width: 450px;
  margin: 0 auto;
  background: linear-gradient(135deg, #95794f 0%,#e0b472 47%,#95794f 100%);
}

.menu-item a{padding: 0.1em 1em;}
.social{margin-top: 1.5em;}

.social-item{
  position: relative;
  opacity: 0.6;
  width: 3em;
  height: 3em;
  background-repeat: no-repeat;
  background-size: 90% 90%; 
  background-position: center;
  transition: 0.3s;
}

.social-item-fb{background-image: url(../images/icon-fb.png);}
.social-item-ig{background-image: url(../images/icon-ig.png);}
.social-item-WeChat{background-image: url(../images/icon-WeChat.png);}
.social-item-weibo{background-image: url(../images/icon-weibo.png);}
.social-item-youtube{background-image: url(../images/icon-youtube.png);}
.social-item-xiaohongshu{background-image: url(../images/icon-xiaohongshu.png);}

.social-item a{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sound-controller{
  display: none;
  position: fixed;
  bottom: 50px;
  right: 40px;
  padding-left: 1rem;
  border-left: 1px solid rgba(255,255,255,0.3);
  z-index: 93; 
}


@media (hover: hover) {
  .menu-item a:hover{
    color: var(--highlighted-color);
  }

  .social-item:hover{
    opacity: 1;
  }
}


@media (min-width: 992px){
  .l-menu{
    width: 100vw;
    height: 100vh;
    margin-top: 0;
  }

  .l-menu .toggle-menu{
    top: 20px;
  }

  .menu-wrap{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
  }

  .menu-logo{
    display: block;
    width: 50%;
  }

  .menu-main{
    width: 50%;
    display: flex;
    justify-content: center;
    padding-right: 10%;
  }


  .nav{display: inline-block;}
  .social{margin-left: 1em;}
  .sound-controller{display: block;}
}

@media (min-width: 1580px){
  .menu-item{font-size: 1.8rem;}
}


/* ============================================================
menuLang
============================================================ */
.menu-lang-inline,.menu-lang-dropdown{
  font-family: var(--font-family-sans-serif);
}

.menu-lang-inline{
  display: none;
  font-size: 12px;
}

.menuLang-item{
  position: relative;
  letter-spacing: 0;
}

.menuLang-item a{
    padding: 0.3em 0.5em;
}

.menu-lang-dropdown{
  position: absolute;
  top: 50%;
  right: 5px;
  min-width: 8em;
  display: inline-block;
  text-align: center;
  transform: translateY(-50%);
  font-size: 10px;
}

.dropdown-menu{
  position: absolute;
  left: 0;
  top: 2.5em;
  width: 100%;
  display: none;
  margin-top: 5px;
  background-color: var(--highlighted-color-dark);
}

.dropdown-item a,.dropdown-toggle{
  padding: 0.3em 0.5em;
}

.dropdown-toggle{
  justify-content: flex-end;
  width: 100%;
}

.dropdown-toggle.active .icon-arrow{
  transform: rotate(180deg);
}

.dropdown-toggle-txt{margin-right: 5px;}



@media (hover: hover) {
  .menuLang-item a{transition: 0.3s;}
  .menuLang-item a:hover{
    color: var(--highlighted-color);
  }
}

@media (min-width: 992px){
  .menu-lang-inline{
    position: absolute;
    top: 50%;
    right: 40px;
    font-size: 0.85rem;
    display: flex;
    transform: translateY(-50%);
  }

  .menu-lang-dropdown{display: none;}

  .menuLang-item::after{
    position: absolute;
    bottom: 0;
    left: 10%;
    content: '';
    width: 80%;
    height: 1px;
    background-color: var(--highlighted-color-dark);
    opacity: 0;
  }

  .menuLang-item.active::after{
    opacity: 1;
  }
}


/* ============================================================
background
============================================================ */
.l-background{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url(../images/slide-1-lg.jpg);
  visibility: hidden;
  opacity: 0;
  z-index: 91;
  transition: 0.5s ease-in;
}


.js-menu-active .l-background{
  visibility: inherit;
  opacity: 1;
}

#heroImgCanvas canvas{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-object-fit: cover;
  object-fit: cover;
}


/* ============================================================
banner
============================================================ */
.l-wrapper{
  position: relative;
  margin-top: var(--header-h);
  padding: 50px 0;
  overflow: hidden;
}

.l-wrapper--space-0{padding: 0;}

.banner{
  position: relative;
  text-align: center;
  overflow: hidden;
  z-index: 0;
}

.banner::before{
  display: block;
  content: '';
  padding-top: 66%;
}




.banner::after{
  position: absolute;
  content: '';
  bottom: -5px;
  left: 0;
  width: 100%;
  height: calc(60% + 5px);
  background: linear-gradient(to bottom, rgba(1,10,53,0) 0%,rgba(1,10,53,1) 100%);
}

.banner-title{
  position: absolute;
  top: 50%;
  font-family: var(--font-family-tit);
  font-size: 8vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  transform: translateY(-60%);
  z-index: 2;
  text-shadow: 0 0 5px rgba(0,0,0,0.8);
}

:lang(en) .banner-title,
:lang(fr) .banner-title {
  font-weight: normal;
  letter-spacing: 0.02em;
}

.banner img{
  z-index: -1;
}

.wrapper-deco{
  position: absolute;
}

@media (min-width: 992px){
  .l-wrapper{padding: 50px 0 100px 0;}
  .l-wrapper--space-0{padding: 0;}
  .banner::before{padding-top: 31%;}
  .banner-title{font-size: 3rem;}
}



/* ============================================================
page
============================================================ */
.page-title{
  padding: 1.2em 1em;
  font-size: 2.5rem;
  font-family: var(--font-family-tit);
  text-align: center;
}


/* ============================================================
deco
============================================================ */
.l-wrapper--deco{
  padding-bottom: 320px;
}

.wrapper-deco-inner{
  background-size: cover;
}

.wrapper-deco-inner::before{
  display: block;
  content: '';
}

.wrapper-deco-b-r-a{
  width: 100%;
  bottom: 0;
  right: -17%;
}

.wrapper-deco-b-r-b{
  width: 110%;
  bottom: 0;
  right: -17%;
}

.wrapper-deco-b-r-a .wrapper-deco-inner{
  padding-top: 60%;
  background-image: url('../images/page-deco-bottom-right-a.svg');
}

.wrapper-deco-b-r-b .wrapper-deco-inner{
  padding-top: 50%;
  background-image: url('../images/page-deco-bottom-right-b.svg');
}

.wrapper-deco-b-l-a{
  width: 50%;
  bottom: 0;
  left: 0;
}

.wrapper-deco-b-l-b{
  width: 25%;
  bottom: 0;
  left: 0;
}

.wrapper-deco-b-l-a .wrapper-deco-inner{
  padding-top: 52%;
  background-image: url('../images/page-deco-bottom-left-a.svg');
}

.wrapper-deco-b-l-b .wrapper-deco-inner{
  padding-top: 60%;
  background-image: url('../images/page-deco-bottom-left-b.svg');
}

@media (min-width: 992px){
  .l-wrapper--deco{padding-bottom: 500px;}
  .wrapper-deco-b-r-a{width: 25%;right: 0;}
  .wrapper-deco-b-r-b{width: 50%;right: 0;}
}

/* ============================================================
Card
============================================================ */
.card-wrap{margin: 30px 30px;}
.card-wrap--full{margin: 30px 0;}

.card{
  margin-bottom: 3.375rem;
  text-align: center;
}

.card-inner{width: 100%;position: relative;}

.card a{display: inline-block;width: 100%;}

.card-img{
  position: relative;
  margin-bottom: 1em;
  /* background-color: #fff; */
  overflow: hidden;
}

.card-img img{transition: 1s;}

.card-img::before{
  display: block;
  content: '';
  padding-top: 80%;
}

.card-img--media::before{
  padding-top: 60%;
}

.card-title{
  font-size: 1.3rem;
  font-family: var(--font-family-tit);
}

:lang(en) .card-title,
:lang(fr) .card-title {
  letter-spacing: 0;
}

.card-tag{
  font-size: 1.125rem;
  font-family: var(--font-family-sans-serif);
}

@media (min-width: 992px){
  .card-wrap{width: 92%;margin: 50px auto 0 auto;}
  .card-img::before{padding-top: 77%;}
  .card-img--media::before{padding-top: 56%;}
}

@media (hover: hover) {
  .card-img:hover img{
    transform: scale(1.1);
  }
}

/* ============================================================
article
============================================================ */
.btn-back{
  position: relative;
  left: -10px;
  color: var(--highlighted-color-dark);
  font-family: var(--font-family-sans-serif);
  cursor: pointer;
  letter-spacing: 0;
}

.btn-back-icon{
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
}

.article-img{
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.article-img::before{
  display: block;
  content: '';
  padding-top: 66%;
}

.article-img::after{
  position: absolute;
  content: '';
  bottom: -5px;
  left: 0;
  width: 100%;
  height: calc(20% + 5px);
  background: linear-gradient(to bottom, rgba(1,10,53,0) 0%,rgba(1,10,53,1) 90%); 
}

.article-img + *, .banner + *{
  position: relative;
  border-top: 5px solid var(--bg-color);
  z-index: 2;
  margin-top: -5px;
}

.article-header{
  margin: 1em 0 0 0;
  text-align: center;
  color: var(--highlighted-color-dark);
}

.article-tag{
  font-size: 1.81rem;
  font-family: var(--font-family-sans-serif);
}

.article-title{
  position: relative;
  display: inline-block;
  padding-bottom: 0.5em;
  font-size: 2rem;
  font-family: var(--font-family-tit);
  text-align: center;
}

:lang(en) .article-title,
:lang(fr) .article-title {
  letter-spacing: 0.05em;
}

.article-title::after{
  position: absolute;
  content: '';
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to left, rgba(208,171,117,0) 0%,rgba(208,171,117,1) 50%,rgba(208,171,117,0) 100%); 
}


.article-header p{
  margin: 2em auto;
  max-width: 750px;
  color: var(--highlighted-color);
  font-style: italic;
  font-size: 1.125rem;
  line-height: 1.65;
  /*font-family: 'Libre Caslon Display', serif;*/
}

:lang(en) .article-header p,
:lang(fr) .article-header p {
  font-family: var(--font-family-Didot);
  -webkit-font-smoothing: auto;
  font-smoothing: auto;
  font-style: initial;
}


.article-body > p{margin: 2em 0;}
.article-body u{text-decoration: underline;}
.article-wrap--style-2 .article-title{color: #fff;}
.article-wrap--style-2 .article-title::after{display: none;}

.asset-wrap{margin: 3rem 0;}
.asset-wrap--group-s{max-width: 750px; margin-left: auto;margin-right: auto;}
.asset-img{margin-bottom: 30px;text-align: center;}

.asset-wrap--group{justify-content: center;}
.asset-cont h3{
  margin-bottom: 1em;
  text-decoration: underline;
}

.asset-caption{
  margin-top: 1em;
  text-align: center;
}

@media (min-width: 992px){
  .btn-back{left: 0;}
  .article-img::before{padding-top: 28%;}
  .article-header{margin-top: 0;}
  .article-title{padding: 0 1em 0.5em 1em;font-size: 2.25rem;}
  .article-wrap--style-2 .article-title{font-size: 3rem;}
  .article-body{max-width: 1280px;margin: 0 auto;}
  .article-body > p{
    margin-left: auto;
    margin-right: auto;
    max-width: 750px;
  }
  .asset-wrap{margin: 5rem auto;}
  .asset-img{margin-bottom: 0;}
  .asset-cont{padding-left: 30px;}
}


@media (hover: hover) {

}

/* ============================================================
form
============================================================ */
form{
  max-width: 475px;
  margin: 0 auto;
}

form *{
  font-family: inherit;
}

form select,
form textarea,
form input{
  font-family: var(--font-family-sans-serif);
}

input,
select,
textarea {
  transition: all 0.3s 0s ease;
  width: 100%;
  padding: 0.5em;
  color: #000000;
  background-color: transparent;
  border: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0px;
  background-color: #fff;
  border: 1px solid #fff;
}

input:focus,
select:focus,
textarea:focus {
  background-color: rgba(250, 250, 250, 1);
  outline: none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: #fff 5000s ease-in-out 0s;
  -webkit-text-fill-color: #000000;
  background-color: transparent !important;
}

input:-internal-autofill-previewed,
input:-internal-autofill-selected,
textarea:-internal-autofill-previewed,
textarea:-internal-autofill-selected,
select:-internal-autofill-previewed,
select:-internal-autofill-selected {
  background-color: transparent !important;
}

input::placeholder,
textarea::placeholder {
  transition: all 0.3s 0s ease;
  color: #000000;
}

.form-element{margin-top: 1rem;}

.btn{
  display: inline-block;
  padding: 0.8em 2em;
  min-width: 150px;
  background-color: #8d7249;
  color: #000;
}


/* ============================================================
Swiper
============================================================ */
.swiper__btn{
  margin: 0 10px;
  width: 30px;
  height: 30px;
  background-size: cover;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper__btn svg{width: 80%;}
.swiper__btn .icon-arrow{width: 100%;height: 100%;}
.swiper__btn .icon-arrow__line{background-color: #fff;}

.swiper-controls--bg .swiper__btn{
  margin: 0;
  width: 40px;
  height: 40px;
}

.swiper-controls--bg svg{width: 60%;}
.swiper-controls--bg .swiper__btn--prev{background-color: #3b3c49;}
.swiper-controls--bg .swiper__btn--next{background-color: #51525e;}



/* ============================================================
modal
============================================================ */
.modal{
  position: fixed;
  top: var(--header-h);
  left: 0;
  width: 100%;
  height: calc(100vh - var(--header-h));
  height: calc((var(--vh, 1vh) * 100) - var(--header-h));
  overflow-y: auto;
  overflow-x: hidden;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  pointer-events: none;
  background-color: rgba(0,10,53,0.9);
  z-index: 90;
}

.modal-layer{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.modal-inner{

}

.modal-btn{
  position: absolute;
  top: 10px;
  left: 10px;
  width: 50px;
  height: 50px;
  z-index: 3;
  cursor: pointer;
}

.modal-btn::before, .modal-btn::after{
  position: absolute;
  content: '';
  width: 40%;
  height: 2px;
  background-color: #fff;
  left: 30%;
  top: 50%;
  margin-top: -1px;
}

.modal-btn::before{transform: rotate(45deg);}
.modal-btn::after{transform: rotate(-45deg);}

.js-modal-active .modal{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: 1s;
}

.js-modal-active{overflow: hidden;}


/* ============================================================
lity
============================================================ */
.lity-close{
  width: 100px;
  height: 100px;
}