*,
*::after,
*::before {
	box-sizing: border-box;
}


/*-- Theme Settings ---------------------------*/

  body { 
    opacity: 0;
    transition: opacity 0.5s;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--mainColor);
    background-image: var(--bgImg);
    background-color: var(--oppositeColor);
    --ratio: 0.86;
    --grid-item-height: 28vw;
    --grid-item-width: calc(var(--grid-item-height) * var(--ratio));
    --thumb-height: 7vw;
    --thumb-width: calc(var(--thumb-height) * var(--ratio));
  }

      /* Substyles */

        body.darkbg {
          --bgImg: url("../../../resources/imgs/alizade-dk.jpg");
          --mainColor: #F5F5F5;
          --oppositeColor: #16161D;
          --subColor: #8E8E8E;
          --accentColor: #0099FF;
        }

        body.lightbg {
          --bgImg: url("../../../resources/imgs/alizade-lt.jpg");
          --mainColor: #16161D;
          --oppositeColor: #F5F5F5;
          --subColor: #4F4F4F;
          --accentColor: #E13700;
        }

        body.push {
          opacity: 1;
          margin: 0;
          height: 100dvh;
          width: 100%;
          overflow: hidden;
          position: fixed;
          top: 0;
        }


  .subcolor {
    color: var(--subColor);
  }

  .accentcolor {
    color: var(--accentColor);
  }

  ::selection {
    background: var(--mainColor);
    color: var(--oppositeColor);
  }


  /* Page Loader */

    .js .loading::before,
    .js .loading::after {
      content: '';
      position: fixed;
      z-index: 1000;
    }

    .js .loading::before {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: var(--color-bg);
    }

    .js .loading::after {
      top: 50%;
      left: 50%;
      width: 60px;
      height: 60px;
      margin: -30px 0 0 -30px;
      border-radius: 50%;
      opacity: 0.4;
      background: var(--color-link);
      animation: loaderAnim 1.5s ease-in-out infinite alternate forwards

    }

    @keyframes loaderAnim {
      0% {
          transform: scaleX(0);
          transform-origin: 0% 50%
      }

      50% {
          transform: scaleX(1);
          transform-origin: 0% 50%
      }

      50.1% {
          transform: scaleX(1);
          transform-origin: 100% 50%
      }

      to {
          transform: scaleX(0);
          transform-origin: 100% 50%
      }
    }


/*-- Info Docks ---------------------------------*/

  .keep-top {
    z-index: 1000;
  }

  .keep-mid {
    z-index: 700;
  }

  #btnop {
    opacity: 1;
    display: inline-block;
    transition: opacity 0.5s;
  }

  #btncl {
    opacity: 0;
    display: none;
    transition: opacity 0.5s;
  }

  .logo-animate {
    opacity: 0;
    z-index: 300;
    display: inline-block;
  }

        .logo-animate.k {
          transform: translateX(-4rem) scale(0);
        }

        .logo-animate.h {
          transform: translateX(-5rem) scale(0);
        }

  .logo-hide {
    opacity: 1;
    z-index: 400;
    display: inline-block;
  }

  .blurbg {
    -webkit-backdrop-filter: blur(5px);
    -moz-backdrop-filter: blur(5px);
    -o-backdrop-filter: blur(5px);
    -ms-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }

  .infodock {
    display: inline-block;
    max-width: 50%;
    max-height: 2rem;
    margin: 1.3rem 1.3rem 1.3rem 1.3rem;
    vertical-align: middle;
    -webkit-align-items: center;
    align-items: center;
  }

      /* Substyles */

        .infodock.left {
          position: fixed;
          left: 0;
          float: left;
          justify-content: left;
        }

        .infodock.right {
          position: fixed;
          right: 0;
          float: right;
          justify-content: right;
        }

        .infodock.top {
          position: fixed;
          top: 0;
        }

        .infodock.bottom {
          position: fixed;
          bottom: 0;
        }

        .infodock.unfixed {
          position: relative;
        }

        .infodock.wide {
          width: 75%;
        }


      /* Hover Effects */

        .infodock:hover .sitelogo {
          color: var(--accentColor);
          fill: var(--accentColor);
        }

        .infodock:hover .logo-animate {
          opacity: 1;
          display: inline-block;
          transform: scale(1.0);
        }

              .infodock:hover .logo-animate.k {
                transform: translateX(-1.63rem);
              }

              .infodock:hover .logo-animate.h {
                transform: translateX(-0.4rem);
              }

        .infodock:hover .logo-hide {
          opacity: 1;
        }

              .infodock:hover .logo-hide.h {
                transform: translateX(3.5rem);
              }

              .infodock:hover .logo-hide.dot {
                transform: translateX(6.25rem);
              }



/*-- Typography ---------------------------------*/

  /* Imports */

    @font-face {
      font-family: "Aileron Thin";
      src: url('../../../resources/fonts/Aileron-Thin.otf') format('opentype');
    }

    @font-face {
      font-family: "Aileron Light";
      src: url('../../../resources/fonts/Aileron-Light.otf') format('opentype');
    }

    @font-face {
      font-family: "Aileron Semibold";
      src: url('../../../resources/fonts/Aileron-SemiBold.otf') format('opentype');
    }

    @font-face {
      font-family: "Bebas Neue";
      src: url('../../../resources/fonts/BebasNeue-Bold.otf') format('opentype');
    }


  /* Font Classes */

    body {
      --fontThin: "Aileron Thin", sans-serif;;
      --fontLight: "Aileron Light", sans-serif;;
      --fontBold: "Aileron Semibold", sans-serif;;
      --fontDisplay: "Bebas Neue", sans-serif;;
    }


  /* Text Styles */

    .pagetitle {
      font-family: var(--fontThin);
      font-style: normal;
    	font-size: 4.5rem;
    	font-kerning: normal;
    	letter-spacing: 0.05rem;
    	line-height: 3.6rem;
      color: var(--accentColor);
    }

    .sitelogo {
      font-family: var(--fontDisplay);
      font-style: normal;
      font-size: 1.9rem;
      font-kerning: normal;
      letter-spacing: 0.05rem;
      line-height: 1.9rem;
      fill: var(--mainColor);
      cursor: pointer;
    }

    .cardtitle {
      font-family: var(--fontDisplay);
      font-style: normal;
    	font-size: 1.6rem;
    	font-kerning: normal;
    	letter-spacing: 0.05rem;
    	line-height: 1.5rem;
    }

    .errortitle {
      font-family: var(--fontDisplay);
      font-style: normal;
      font-size: 4rem;
      font-kerning: normal;
      letter-spacing: 0.05rem;
      line-height: 4.25rem;
    }

    .regtext {
      font-family: var(--fontLight);
      font-style: normal;
    	font-size: 1.25rem;
    	font-kerning: normal;
     	letter-spacing: 0.07rem;
    	line-height: 1.5rem;
    }

    .subs {
      font-family: var(--fontLight);
      font-style: normal;
    	font-size: 1rem;
    	font-kerning: auto;
     	letter-spacing: 0.07rem;
     	line-height: 1rem;
      color: var(--subColor);
    }

    .caps {
      font-family: var(--fontBold);
      font-style: normal;
    	font-size: 0.8rem;
      font-kerning: auto;
      letter-spacing: 0.07rem;
      line-height: 1rem;
    	text-transform: uppercase;
    }

    .footer-info {
      font-size: 1rem;
      letter-spacing: 0.05rem;
      line-height: 0.7rem;
      text-transform: uppercase;
      }

        /* Substyles */

          .footer-info.light {
            font-family: var(--fontLight);
          }

          .footer-info.bold {
            font-family: var(--fontBold);
          }

          .footer-info.tag {
            opacity: 0;
          }


  /* Menu Styles */

    .menu__item {
      font-style: normal;
      font-kerning: normal;
      letter-spacing: 0.05rem;
      cursor: pointer;
      text-align: left;
      position: relative;
      will-change: opacity, transform;
      color: var(--accentColor);
      opacity: 60%;
      display: grid;
      grid-template-columns: 1fr 3fr 1fr;
      grid-auto-flow: row;
      gap: 3vw;
      -webkit-vertical-align: middle;
      vertical-align: middle;
      -webkit-align-items: center;
      align-items: center;
      justify-items: center;
    }

        /* Substyles */

          .menu__item-tiny {
            font-family: var(--fontLight);
            font-size: 0.9rem;
            vertical-align: middle;
            color: var(--accentColor);
            opacity: 60%;
          }

          .menu__item-text {
            font-family: var(--fontThin);
            font-size: 4rem;
            opacity: 60%;
            vertical-align: middle;
            color: var(--accentColor);
            opacity: 60%;
          }

          .pg-current {
            color: var(--mainColor);
            opacity: 100%;
          }

        /* Hover Effects */

          .menu__item:hover .menu__item-tiny,
          .menu__item:hover .menu__item-text {
              opacity: 100%;
          }


  /* Link Styles */

    a {
      font-family: inherit;
      font-size: inherit;
      text-decoration: none;
      color: inherit;
      border-bottom: 1px dotted;
    }

        /* Substyles */

          a.ns {
            font-family: inherit;
            text-decoration: none;
            font-size: inherit;
            border-bottom: 0px;
          }

        /* Hover Effects */

          a:hover {
            color: var(--accentColor);
          }


  /* Text Effects */

    .shift-top {
      opacity: 1;
    }

    .shift-bottom {
      opacity: 0;
      transform: translateY(-1.3rem);
    }



/*-- Containers ---------------------------------*/

  /* Overall Page */

    .section {
      display: flex;
      width: 100%;
    }


  /* Image Containers */

    .pimg-box {
      width: var(--imgBlockW);
      height: calc(var(--imgBlockW) / 1.4);
      position: relative;
      object-fit: cover;
      object-position: center;
      vertical-align: middle;
      overflow: hidden;
      border-radius: 8px;
    }

          .pimg-box.third {
            --imgBlockW: calc((100vw - var(--imgGap)*2 - (var(--arrowColumn)*2)) / 3);
          }

          .pimg-box.half {
            --imgBlockW: calc((100vw - var(--imgGap) - (var(--arrowColumn) * 2)) / 2);
          }

          .pimg-box.full {
            --imgBlockW: calc(100vw - (var(--arrowColumn) * 2));
          }

    .pimg {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      vertical-align: middle;
      position: relative;
    }


  /* Menu Containers */

    .menu {
      width: auto;
      height: auto;
      display: grid;
      grid-template-columns: 1fr;
      margin: 12rem 10rem 10rem 10rem;
    }

    .menu-linebox {
      width: 100%;
      height: 100%;
    }

    .menu-wrap {
      width: 100vw;
      height: 100vh;
      grid-area: 1 / 1 / 2 / 2;
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: 100%;
      position: sticky;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0%;
      z-index: 600;
      overflow: hidden;
      background-color: var(--oppositeColor);
      background-image: var(--bgImg);
      background-size: cover;
      background-position: top;
    }

        /* Substyles */

          .menu-wrap.menu-wrap--open {
            pointer-events: auto;
            opacity: 100%;
          }

  /* Menu Button Containers */

    .menu-icon-wrapper {
      position: fixed;
        top: 0;
        right: 0;
      display: block;
        width: 23px;
        height: 23px;
      border: none;
      margin-top: 1.2rem;
      margin-right: 1.2rem;
      transition: 0.1s;
      -webkit-align-items: center;
      align-items: center;
      justify-items: center;
      stroke: var(--mainColor);
      z-index: 800;
        -webkit-transition: all 0.7s ease;  
        -moz-transition: all 0.7s ease;  
        -o-transition: all 0.7s ease;  
        -ms-transition: all 0.7s ease;  
        transition: all 0.7s ease;
      pointer-events: none;
    }

          .menu-icon-wrapper svg {
            position: absolute;
            top: -25px;
            left: -22px;
            display: inline-block;
            -webkit-transform: scale(0.07);
            -ms-transform: scale(0.07);
            transform: scale(0.07);
            -webkit-transform-origin: 0 0;
            -ms-transform-origin: 0 0;
            transform-origin: 0 0;
          }

          .menu-icon-wrapper svg path {
            stroke-width: 50px;
            stroke-linecap: round;
              stroke-linejoin: round;
            fill: transparent;
          }

    .menu-icon-wrapper .menu-icon-trigger {
      position: relative;
      width: 100%;
      height: 100%;
      cursor: pointer;
      border: none;
      background: none;
      pointer-events: none;
      margin: 0;
      padding: 0;
    }

          .menu-icon-wrapper .menu-icon-trigger:hover,
          .menu-icon-wrapper .menu-icon-trigger:focus {
            outline: none;
          }

    .menu-buttons-group {
      display: block;
      float: right;
      width: 5px;
      height: 5px;
      margin-top: 1.2rem;
      margin-right: 1.2rem;
    }

          .menu-buttons-group:hover .menu-icon-wrapper {
            stroke: var(--accentColor);
            transform: scale(1.15);
          }


  /* Hover Effects */

    .overlay {
      grid-area: 1 / 1 / 2 / 2;
      position: relative;
      z-index: 900;
      pointer-events: none;
      width: 100%;
      height: 100%;
      fill: var(--oppositeColor);
      opacity: 100%;
    }


  /* Hidden JS Containers */

    .invisible-box {
      opacity: 0;
      z-index: -800;
      position: fixed;
    }



/*-- Buttons ---------------------------------*/

/* Menu Buttons */

    .button-menu,
    .button-close {
      width: 2.75rem;
      height: 0.05rem;
      border: 0rem;
      position: fixed;
      display: block;
      top: 0;
      right: 0;
      z-index: 1000;
    }

    .button-block {
      width: 1.5rem;
      height: 1.5rem;
      position: fixed;
      display: block;
      top: 0;
      right: 0;
      margin-top: 1.2rem;
      margin-right: 1.3rem;
      z-index: 1000;
    }



/*-- Animation ---------------------------------*/
  
  /* Transition Speeds */

    .slowease {
      -webkit-transition: all 1.1s ease;  
      -moz-transition: all 1.1s ease;  
      -o-transition: all 1.1s ease;  
      -ms-transition: all 1.1s ease;  
      transition: all 1.1s ease;
    }

    .midease {
      -webkit-transition: all 0.7s ease;  
      -moz-transition: all 0.7s ease;  
      -o-transition: all 0.7s ease;  
      -ms-transition: all 0.7s ease;  
      transition: all 0.7s ease;
    }



/*-- COLUMN PLUGIN ---------------------------------*/

.oh {
	overflow: hidden !important;
}

a {
	text-decoration: none;
	color: var(--mainColor);
	outline: none;
}

a:hover {
	color: var(--accentColor);
	outline: none;
}

/* Better focus styles from https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible */

a:focus {
	/* Provide a fallback style for browsers
	 that don't support :focus-visible */
	outline: none;
	background: lightgrey;
}

a:focus:not(:focus-visible) {
	/* Remove the focus indicator on mouse-focus for browsers
	 that do support :focus-visible */
	background: transparent;
}

a:focus-visible {
	/* Draw a very noticeable focus style for
	 keyboard-focus on browsers that do support
	 :focus-visible */
	outline: 2px solid red;
	background: transparent;
}

main.scrolling {
	overflow: hidden;
	position: relative;
}

main.scrolling::after {
	content: '';
	z-index: -100;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50vh;
}

.frame__title {
	font-size: 1rem;
	margin: 0 0 0.5rem;
	font-weight: normal;
	grid-area: title;
    margin: 0;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap;
}

.frame__links {
	grid-area: links;
    text-align: center;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    margin: 0;
    white-space: nowrap;
}

.frame__links a {
	border-bottom: 1px solid var(--mainColor);
	margin: 0 0.5rem 0 0;
}

  .frame a,
  .frame button {
    pointer-events: auto;
  }

.heading {
	color: var(--mainColor);
	position: fixed;
	top: 0;
	left: 0;
	margin: 0;
	margin-top: -5vw;
	width: 100%;
	font-size: 12.25vw;
	z-index: 800;
	pointer-events: none;
	font-family: var(--fontDisplay);
	line-height: 1;
	white-space: nowrap;
	text-align: center;
	will-change: transform, opacity;
	transform-origin: 50% 40%;
}

.heading--up {
	display: block;
}

.heading--down {
	bottom: 0;
	top: auto;
	margin-top: 0;
	margin-bottom: -6vw;
	transform-origin: 50% 60%;
}

.columns {
	width: 100%;
	position: relative;
	padding: 0 3rem;
	display: flex;
	justify-content: center;
}

.column-wrap {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	padding: 5vh 0 15vh;
}

.column-wrap--height {
	height: 100vh;
	flex-direction: column-reverse;
}

.column {
	position: relative;
	display: block;
	will-change: transform;
}

.view-content .columns,
.view-content .column {
	pointer-events: none !important;
}

.column-wrap--height .column {
	flex-direction: column-reverse;
	display: flex;
}

.column__item {
	margin: 0;
	position: relative;
	z-index: 1;
}

.column__item-imgwrap {
	width: var(--grid-item-width);
	height: var(--grid-item-height);
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	cursor: pointer;
    margin: 5vw 2.75vw 0;
}

.column__item-img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	backface-visibility: hidden;
}

      .ontop {
        width: 100%;
        height: 100%;
        position: relative;
        -webkit-align-self: center;
        align-self: center;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        backface-visibility: hidden;
      }


.column__item-caption {
	padding: 0 3vw;
	margin-top: 0.5rem;
  font-family: var(--fontBold);
  font-style: normal;
  font-size: 0.8rem;
  font-kerning: auto;
  letter-spacing: 0.07rem;
  line-height: 1rem;
  text-transform: uppercase;
    display: flex;
    justify-content: space-between;
}

      .column__item-tags {
        padding: 0 3vw;
        margin-top: 0.5rem;
        font-family: var(--fontBold);
        font-style: normal;
        font-size: 0.8rem;
        font-kerning: auto;
        letter-spacing: 0.07rem;
        line-height: 1rem;
        text-transform: uppercase;
        color: var(--accentColor);
        opacity: 0;
        transform: translateY(-1rem);
        word-spacing: 0.5rem;
      }


.content {
  --infoHeight: 13vh;
  --infoOffset: calc(100vh - (var(--infoHeight) + 5vh));
  --arrowWidth: 9vw;
  --arrowColumn: calc(var(--arrowWidth) + 3vw);
  --imgGap: 1vw;
  white-space: nowrap;
	pointer-events: none;
	opacity: 0;
  position: fixed;
    top: 0;
    right: 0;
  	bottom: 0;
  	left: 0;
	width: 100%;
  height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
	display: grid;
    padding-top: var(--infoOffset);
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px;
    margin: 0px 0px 0px 0px;
    grid-template-columns: var(--arrowColumn) 1fr;
    grid-template-rows: var(--infoHeight) 100%;
    grid-template-areas: 
      'back content'
      '... content';
}

      .view-content .content {
      	pointer-events: auto;
      	opacity: 1;
      	z-index: 200;
      }

.content__item {
  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	opacity: 0;
	grid-area: content;
  display: grid;
    margin-bottom: 0;
    margin-right: 0;
    grid-template-columns: 100%;
    grid-template-rows: var(--infoHeight) max-content;
    grid-template-areas: 
        'head'
        'page';
}

.content__item-info {
  position: relative;
  opacity: 0;
  height: var(--infoHeight);
  width: calc(100vw - calc(var(--arrowColumn) * 2));
  grid-area: head;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: 
      'title text';
}

      .content__item--current {
      	opacity: 1;
      	position: relative;
      }

      .content__item-title {
      	opacity: 0;
        height: var(--infoHeight);
      	grid-area: title;
        display: flex;
        margin: 0;
        padding-right: 15px;
          text-align: left;
        	font-family: var(--fontDisplay);
        	font-style: italic;
        	font-size: 9vh;
          line-height: 5.25vh;
        	white-space: nowrap;
      	transform-origin: 50% 80%;
          -webkit-align-content: end;
            align-content: end;
           -webkit-align-items: flex-end;
            align-items: flex-end;
      	will-change: transform, opacity;
      }

      .content__item-text {
        opacity: 0;
        width: 100%;
        height: var(--infoHeight);
          font-family: var(--fontBold);
          font-style: normal;
          font-size: 0.8rem;
          font-kerning: auto;
          letter-spacing: 0.07rem;
          line-height: 1rem;
          text-transform: uppercase;
        display: grid;
          grid-area: text;
          grid-template-columns: auto minmax(0, 8ch);
          grid-template-areas: 
            'info year';
          -webkit-align-items: flex-end;
          align-items: flex-end;
      }

            .text-info {
              grid-area: info;
              display: inline-block;
                text-align: center;
                justify-content: center;
                justify-items: center;
                -webkit-align-content: end;
                align-content: end;
            }

            .text-year {
              grid-area: year;
              display: inline-block;
                text-align: right;
                justify-content: right;
                justify-items: right;
                -webkit-align-content: end;
                align-content: end;
            }


.content__nav {
	opacity: 0;
	grid-area: nav;
	align-self: end;
	position: relative;
	overflow: hidden;
	padding: 0 1rem 1rem;
	display: flex;
}

      .content__nav-wrap {
      	position: relative;
      	display: flex;
      	margin: 0 auto;
      	flex-wrap: wrap;
      	height: calc(var(--thumb-height) + 0.6rem);
      	overflow: hidden;
      	justify-content: center;
      	padding: 0 10px;
      }

      .content__nav-wrap:hover {
        pointer-events: none;
      }

      .content__nav-wrap::before,
      .content__nav-wrap::after {
      	content: '';
      	position: absolute;
      	top: 50%;
      	margin-top: -5px;
      	width: 7px;
      	height: 10px;
      }

      .content__nav-wrap::before {
      	left: 0;
      }

      .content__nav-wrap::after {
      	right: 0;
      	transform: rotate(180deg);
      }

      .content__nav-item {
      	flex: none;
      	height: var(--thumb-height);
      	width: var(--thumb-width);
      	margin: 0.3rem;
      	background-size: cover;
      	background-position: 50% 20%;
      	will-change: transform, opacity;
      }

.content__item-page {
  /* Perf Fix */
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    transform: translateZ(0);
  /* Text */
    font-family: var(--fontLight);
    font-size: 1.05rem;
    line-height: 1.5rem;
  /* Container */
    opacity: 0;
    width: 100vw;
    white-space: normal;
    position: relative;
    display: none;
    grid-area: page;
    padding-top: calc(var(--infoHeight) + 10vh);
    padding-right: var(--arrowColumn);
    padding-bottom: 20vh;
    padding-left: var(--arrowColumn);
    z-index: -10;
  /* Window Fit */
    -webkit-transform: translateX(calc(var(--arrowColumn) * -1))
                       translateY(calc(var(--infoHeight) * -1));
    transform: translateX(calc(var(--arrowColumn) * -1))
               translateY(calc(var(--infoHeight) * -1));
  will-change: opacity, display;
}

      .txt-grid {
        width: 100%;
        display: grid;
        grid-auto-columns: repeat(3, 1fr);
        grid-auto-flow: column;
        gap: var(--imgGap);
        margin-bottom: calc(var(--imgGap) * 4);
      }

            .txt-grid.intro {
              margin-top: 8vh;
              margin-bottom: 16vh;
            }

      .mid-align {
        -webkit-align-content: center;
        align-content: center;
        -webkit-align-items: center;
        align-items: center;
        justify-content: center;
        justify-items: center;
      }

      .txt-block {
        display: block;
        width: calc((100vw - var(--imgGap)*2 - var(--arrowColumn) * 2) / 3);
      }

      .intro-block {
        width: 100%;
        display: block;
        font-family: var(--fontLight);
        font-size: 2rem;
        line-height: 2.5rem;
        font-kerning: normal;
        letter-spacing: 0.1rem;
      }

            .intro-block.symbol {
              width: 4vw;
            }

            .intro-block.symbol.left {
              text-align: left;
              align-self: left;
            }

            .intro-block.symbol.right {
              text-align: right;
              align-self: right;
            }

      .ttl-block {
        width: 100%;
        display: block;
        font-family: var(--fontLight);
        font-size: 1.5rem;
        font-kerning: normal;
        letter-spacing: 0.1rem;
        margin-bottom: 2vh;
          padding-bottom: 1vh;
          border-bottom: 0px solid;
          border-color: var(--mainColor);
      }

      .img-grid {
        width: 100%;
        display: grid;
        grid-auto-columns: repeat(3, 1fr);
        grid-auto-flow: column;
        gap: var(--imgGap);
        margin-bottom: var(--imgGap);
      }

.button-back {
  position: absolute;
  display: block;
    width: 60px;
    height: 12px;
  border: none;
	opacity: 0;
	z-index: 200;
	cursor: pointer;
	grid-area: back;
    display: block;
    justify-self: start;
    -webkit-align-self: center;
      align-self: center;
}

.button-back svg {
  position: absolute;
  display: inline-block;
  stroke: var(--mainColor);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  margin-left: 5vw;
  margin-top: 2.5vh;
}

.button-back:hover,
.button-back:focus {
	outline: none;
}



/*-- PUSH GRID PLUGIN ---------------------------*/

  /* Container Settings */

    main.push {
      display: grid;
      position: relative;
      grid-template-areas: 'main';
      grid-template-columns: 100%;
      grid-template-rows: 100%;

      --cgap: 4%;
      --rgap: 1%;
      --rows: 7;
      --columns: 7;

      --item-width: calc((100% + (var(--columns) - 1) * var(--cgap)) / var(--columns));
      --item-height: calc((100% + (var(--rows) - 1) * var(--rgap)) / var(--rows));

      width: calc(100% + var(--item-width) * 2 + var(--cgap) * 2);
      height: calc(100% + var(--item-height) * 2 + var(--rgap) * 2);

      left: calc(-1 * var(--item-width) - var(--cgap));
      top: calc(-1 * var(--item-height) - var(--rgap));

      padding-top: 7rem;
      padding-bottom: 7rem;
    }


  /* Grid Settings */

    .grid {
      grid-area: main;
      display: grid;
      grid-auto-flow: column;
      grid-template-columns: repeat(var(--columns),1fr);
      grid-template-rows: repeat(var(--rows),1fr);
      grid-row-gap: var(--rgap);
      grid-column-gap: var(--cgap);
      pointer-events: none;
    }

    .grid--asym {
      --columns: 8;
    }

    .grid__item {
      width: 100%;
      height: 100%;
      position: relative;
      will-change: transform, opacity;
    }

    .pos-1 { grid-area: 2 / 2 / 3 / 3; }
    .pos-2 { grid-area: 4 / 2 / 5 / 3; }
    .pos-3 { grid-area: 6 / 2 / 7 / 3; }
    .pos-4 { grid-area: 3 / 3 / 4 / 4; }
    .pos-5 { grid-area: 5 / 3 / 6 / 4; }
    .pos-6 { grid-area: 2 / 4 / 3 / 5; }
    .pos-7 { grid-area: 4 / 4 / 5 / 5; }
    .pos-8 { grid-area: 6 / 4 / 7 / 5; }
    .pos-9 { grid-area: 3 / 5 / 4 / 6; }
    .pos-10 { grid-area: 5 / 5 / 6 / 6; }
    .pos-11 { grid-area: 2 / 6 / 3 / 7; }
    .pos-12 { grid-area: 4 / 6 / 5 / 7; }
    .pos-13 { grid-area: 6 / 6 / 7 / 7; }
    .pos-14 { grid-area: 3 / 7 / 4 / 8; }
    .pos-15 { grid-area: 5 / 7 / 6 / 8; }
    .pos-north { grid-row: 1; }
    .pos-south { grid-row: var(--rows); }
    .pos-west { grid-column: 1; }
    .pos-east { grid-column: var(--columns); }

    .grid__img {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      pointer-events: auto;
      cursor: pointer;
      will-change: transform;
    }

    .grid--rounded .grid__img {
      border-radius: 8px;
      will-change: transform, border-radius;
    }

    .grid--scale .grid__img {
      aspect-ratio: 1;
      width: auto;
      height: 100%;
    }

  /* Fullscreen Settings */

    .fullscreen {
      position: absolute;
      width: calc(100% + 12px);
      height: calc(100% + 12px);
      top: -4px;
      left: -4px;
      pointer-events: none;
    }

    .fullscreen-scroll {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100vw;
      overflow-y: scroll;
    }

        .gridblock {
          position: sticky;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          display: grid;
          grid-template-columns: 100%;
          grid-auto-flow: row;
          width: 100vw;
          transform: translateY(var(--blockHeight));
          --blockHeight: ;
        }

        .output {
          position: fixed;
          bottom: 0;
          left: 0;
          margin-left: 40px;
          margin-bottom: 80px;
          display: grid;
          grid-template-columns: 1fr;
          height: auto;
        }

        .fs {
          display: block;
          height: 100vh;
          width: 100vw;
          justify-items: center;
          align-content: center;
          font-size: 10vh;
          text-align: center;
        }


    .fullscreen--rounded {
      width: calc(100% - 30px);
      height: calc(100% - 30px);
      top: 15px;
      left: 15px;
    }

    .fullscreen--rounded .grid__img {
      border-radius: 10px;
    }

    .fullscreen--scale {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
    }

    .fullscreen--scale .grid__img {
      aspect-ratio: 1;
      width: auto;
      height: 40vh;
    }


  /* Responsive Settings */

    @media screen and (min-width: 53em) {
      body {
        --page-padding: 2.25rem 2.5rem;
      }

    }



/*-- LOCOMOTIVE SCROLL -------------------------------*/

/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */

html.has-scroll-smooth {
	overflow: hidden;
}

html.has-scroll-dragging {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.has-scroll-smooth body {
	overflow: hidden;
}

.has-scroll-smooth [data-scroll-container] {
	min-height: 100vh;
}

[data-scroll-direction="horizontal"] [data-scroll-container] {
	height: 100vh;
	display: inline-block;
	white-space: nowrap;
}

[data-scroll-direction="horizontal"] [data-scroll-section] {
	display: inline-block;
	vertical-align: top;
	white-space: nowrap;
	height: 100%;
}

.c-scrollbar {
	position: absolute;
	right: 0;
	top: 0;
	width: 0px;
	height: 100%;
	transform-origin: center right;
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0;
}

.c-scrollbar:hover {
	transform: scaleX(1.45);
}

.c-scrollbar:hover,
.has-scroll-scrolling .c-scrollbar,
.has-scroll-dragging .c-scrollbar {
	opacity: 1;
}

[data-scroll-direction="horizontal"] .c-scrollbar {
	width: 100%;
	height: 10px;
	top: auto;
	bottom: 0;
	transform: scaleY(1);
}

[data-scroll-direction="horizontal"] .c-scrollbar:hover {
	transform: scaleY(1.3);
}

.c-scrollbar_thumb {
	position: absolute;
	top: 0;
	right: 0;
	background-color: black;
	opacity: 0.5;
	width: 0px;
	border-radius: 10px;
	margin: 2px;
	cursor: -webkit-grab;
	cursor: grab;
}

.has-scroll-dragging .c-scrollbar_thumb {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}

[data-scroll-direction="horizontal"] .c-scrollbar_thumb {
	right: auto;
	bottom: 0;
}

/*# sourceMappingURL=index.14f68720.css.map */



/*-- RESPONSIVE SETTINGS -----------------------------*/

@media screen and (max-width: 600px) {


/*-- Theme Settings -- Mobile -------------------------*/

  body { 
    --ratio: .75;
    --grid-item-height: calc(var(--grid-item-width) * var(--ratio));
    --grid-item-width: calc(100vw - 6vw);
  }


/* Text Styles */

    .footer-info {
      display: none;
    }



/*-- COLUMN PLUGIN -- MOBILE --------------------------*/


.columns {
  width: 100%;
  height: 100%;
  position: relative;
  margin-left: 0.25vw;
  margin-right: 0.25vw;
  display: flex;
  justify-content: center;
}

.column-wrap {
  position: relative;
  display: block;
}

.column-wrap--height {
  flex-direction: column;
}

.column {
  position: relative;
  display: block;
  will-change: transform;
}

.view-content .columns,
.view-content .column {
  pointer-events: none !important;
}

.column-wrap--height .column {
  flex-direction: column;
  display: flex;
}

.column__item-imgwrap {
  width: var(--grid-item-width);
  height: var(--grid-item-height);
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  cursor: pointer;
}

.column__item-caption {
  font-size: 0.6rem;
}

      .column__item-tags {
        font-size: 0.5rem;
        display: none;
      }

.content {
  --infoHeight: 16vh;
  --arrowWidth: 10vw;
  --arrowColumn: calc(var(--arrowWidth) + 3vw);
    padding-top: calc(100vh - calc(var(--infoHeight) + 18vh));
    grid-template-columns: var(--arrowColumn) 1fr;
    grid-template-rows: var(--infoHeight) 100%;
    grid-template-areas: 
      'back content'
      '... content';
}

.content__item-info {
  height: var(--infoHeight);
  width: calc(100vw - calc(var(--arrowColumn) * 2));
  gap: 0.5rem;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  grid-template-areas: 
      'title'
      'text';
  justify-content: start;
  -webkit-align-content: start;
  align-content: start;
}

      .content__item-title {
        grid-area: title;
        font-size: 4vh;
        line-height: 4.25vh;
        max-width: 15ch;
        white-space: normal;
      }

      .content__item-text {
        font-size: 0.6rem;
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto;
        grid-template-areas: 
          'info'
          'year';
        white-space: normal;
      }

            .text-info {
              display: block;
              grid-area: info;
              text-align: left;
              justify-content: left;
              width: calc(100vw - calc(var(--arrowColumn) * 2.1));
            }

            .text-year {
              display: block;
              grid-area: year;
              text-align: right;
              justify-content: right;
              width: calc(100vw - calc(var(--arrowColumn) * 2.1));
            }

.content__item-page {
  /* Perf Fix */
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    transform: translateZ(0);
  /* Text */
    font-size: 0.6rem;
    line-height: 0.9rem;
    white-space: normal;
  /* Container */
    height: calc(100% + var(--infoHeight) + 5vh);
    width: calc(100vw + 1vw);
    padding-top: calc(var(--infoHeight) + 20vh);
    padding-right: var(--arrowColumn);
    padding-bottom: 10vh;
    padding-left: var(--arrowColumn);
    position: relative;
  /* Window Fit */
  -webkit-transform: translateX(calc(var(--arrowColumn) * -1))
             translateY(calc(calc(var(--infoHeight) + 5vh) * -1));
  transform: translateX(calc(var(--arrowColumn) * -1))
             translateY(calc(calc(var(--infoHeight) + 5vh) * -1));
  will-change: opacity;
}

      .txt-grid {
        width: 100%;
        display: grid;
        grid-auto-columns: repeat(3, 1fr);
        grid-auto-flow: column;
        gap: var(--imgGap);
        margin-bottom: calc(var(--imgGap) * 8);
      }

      .txt-grid.intro {
        margin-top: 0vh;
        margin-bottom: 8vh;
      }

      .intro-block {
        font-size: 1rem;
        line-height: 1.5rem;
      }

            .intro-block.symbol {
              width: 4vw;
            }

      .ttl-block {
        font-size: 1rem;
        margin-bottom: 1vh;
      }

      .img-grid {
        width: 100%;
        display: grid;
        grid-auto-columns: repeat(2, 1fr);
        grid-auto-flow: column;
        gap: var(--imgGap);
        margin-bottom: var(--imgGap);
      }

.button-back {
  height: 5vh;
  width: 6vw;
  justify-self: start;
  -webkit-align-self: start;
  align-self: start;
}

.button-back svg {
  margin-left: 4vw;
  stroke-linecap: round;
}

}
