/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------ 6.0/00 - 29-11-2022
/* colors   -> #EE741D | rgba(238,116,29) | hsla(25,86%,53%) */
/* ------------------------------------------------------------------------------ */
/* link     -> https://codepen.io/cheryl-codes/pen/gOPvKbK */
/* info     -> start2slider */
/* ------------------------------------------------------------------------------ */
/* ROOT and VARIABLES */

@font-face {
  font-family: 'Oxanium';
  src: url('fonts/Oxanium-VariableFont_wght.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Anodina-Light';
  src: url('fonts/Anodina-Light.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
	--hover-bgr:hsla(210,100%,56%,1);
    
    /* cards */
    --card-front-col: rgba(0,0,0,.6); /* black, gray OR client-color */
    --card-front-bgr: #fff;
    --card-back-col: #fff;
    --card-back-bgr: #EE741D;
    --card-ibox-hgt: 14rem;         /* min-height of the card - depends of the text card-back - def 14rem */
    --card-body-bdr: 1px solid rgba(0,0,0,.05);     /* border - def 1px */
    /* grid-area */
    --grid-area-gap: 1rem;          /* gap between flipboxes - def 1rem | min .3rem - check used shadow */
    --grid-area-pad: 1rem;          /* padding - check card-border-radius - def 1rem | min .3rem */
    --grid-area-bgr: none;          /* background - def none */
    --grid-area-bdr: 0px solid rgba(0,0,0,.25);     /* border - def 0px  */
    --grid-area-rad: 0rem;          /* border-radius - def 0rem */
    /* counter - card-front */ 
    --count-color: rgb(255,255,255,.6);  /* color of the counter - must be the same as card-back-background AND no transparent */
    --count-size: 3.6rem;                 /* counter size - def 4rem */
    /*--count-pos-top:1.4rem;             /* counter position top - def 1rem */
    /*--count-pos-right:1rem;             /* counter position right - def 1.2rem */
    --count-pos-left: 2rem;       /* counter position left - NOT IN USE */
    --count-pos-bottom: .8rem;     /* counter position bottom - NOT IN USE */ 
    --count-width: 1px;             /* counter stroke - def 1px | max 3px */
    /* animation */
    --time-flip: 0.8s;              /* def 0.8s */
	}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------ 6.0/00 - 29-11-22 */
/* RESET COUNTER -> SEE design.css */
/* START2SLIDER */

body {
  margin: 0;
  --clr-bg: hsl(230, 10%, 94%);
  --clr-sidebar-border: hsl(230, 10%, 85%);
  --clr-sidebar-title: hsl(230, 10%, 50%);
  --clr-bg-menu-button: hsl(230, 10%, 90%);
  --clr-bg-menu-span: hsl(230, 10%, 50%);
  --clr-bg-menu-span--open: hsl(230, 10%, 20%);
  --clr-menu-link: hsl(230, 10%, 35%);
  --clr-menu-link--hover: hsl(230, 10%, 5%);
  --clr-heading: hsl(230, 10%, 15%);
  --clr-hero-deco: hsl(230, 10%, 85%);
  --clr-lead: hsl(230, 10%, 35%);
  --clr-link: hsl(230, 10%, 25%);
  --clr-link--hover: hsl(230, 10%, 0%);
  --clr-primary: hsl(165, 65%, 50%);
  --clr-primary--hover: hsl(165, 75%, 60%);
  --clr-slide-number: hsl(230, 10%, 50%);
  --clr-slide-number--active: hsl(165, 75%, 60%);
  --sidebar-width: 100px;
  --clr-debug: red;
  font-family: "Clash Grotesk", sans-serif;
}

body * {
  box-sizing: border-box;
}

.sidebar {
  position: fixed;
  z-index: 99;
  left: 0;
  height: 100%;
  width: var(--sidebar-width);
  background: var(--clr-bg);
  border-right: 1px solid var(--clr-sidebar-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding-top: 40px;
  padding-bottom: 40px;
}
.sidebar__menu__button {
  width: 48px;
  height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--clr-bg-menu-button);
  border: none;
  border-radius: 50%;
}
.sidebar__menu__button span {
  --transition-duration: 0.2s;
  display: block;
  width: 24px;
  height: 2px;
  background: var(--clr-bg-menu-span);
  margin: 2px auto;
  transition: transform var(--transition-duration) 0s, margin var(--transition-duration) var(--transition-duration);
}
.sidebar__menu__button--open span {
  background: var(--clr-bg-menu-span--open);
  margin: -1px auto;
  transition: transform var(--transition-duration) var(--transition-duration), margin var(--transition-duration) 0s;
}
.sidebar__menu__button--open span:nth-child(1) {
  transform: rotate(45deg);
}
.sidebar__menu__button--open span:nth-child(2) {
  transform: rotate(45deg) scale(0);
}
.sidebar__menu__button--open span:nth-child(3) {
  transform: rotate(-45deg);
}
.sidebar__menu__wrapper {
  --sidebar-transition: 0.7s;
  --menu-item-delay: 100ms;
  position: fixed;
  top: 0;
  left: var(--sidebar-width);
  padding: 64px;
  height: 100%;
  width: calc(100% - var(--sidebar-width));
  pointer-events: none;
  opacity: 0;
  transition: 0.01s;
  transition-delay: calc(var(--sidebar-transition) * 2);
}
.sidebar__menu__wrapper__nav {
  z-index: 1;
}
.sidebar__menu__wrapper__nav > ul {
  list-style: none;
  padding: unset;
  margin: unset;
}
.sidebar__menu__wrapper__nav > ul > .menu-item {
  padding: 0;
  opacity: 0;
  transform: translatex(-50px);
  transition: var(--sidebar-transition);
  transition-delay: 0s;
}
.sidebar__menu__wrapper__nav > ul > .menu-item > a {
  color: var(--clr-menu-link);
  text-decoration: none;
  font-size: 48px;
  font-weight: 700;
}
.sidebar__menu__wrapper__nav > ul > .menu-item > a:hover {
  color: var(--clr-menu-link--hover);
}
.sidebar__menu__wrapper:before, .sidebar__menu__wrapper:after {
  transition-timing-function: cubic-bezier(0.56, 0.27, 0.34, 0.78);
  z-index: -1;
}
.sidebar__menu__wrapper:before {
  content: "";
  position: absolute;
  left: 0px;
  top: 0;
  width: 0%;
  height: 100%;
  background: var(--clr-primary);
  transition: var(--sidebar-transition);
  transition-delay: var(--sidebar-transition);
  opacity: 0.25;
}
.sidebar__menu__wrapper:after {
  content: "";
  position: absolute;
  left: 0px;
  top: 0;
  width: 0%;
  height: 100%;
  background: var(--clr-bg);
  transition: var(--sidebar-transition);
  transition-delay: calc(var(--sidebar-transition) / 2);
}
.sidebar__menu__wrapper--open {
  pointer-events: auto;
  opacity: 1;
  transition: 0.01s;
  transition-delay: 0s;
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item {
  opacity: 1;
  transform: translatex(0px);
  transition: var(--sidebar-transition);
  transition-delay: calc(var(--sidebar-transition)/2);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(2) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay) * 1);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(3) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay) * 2);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(4) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay)* 3);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(5) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay)* 4);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(6) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay)* 5);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(7) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay)* 6);
}
.sidebar__menu__wrapper--open .sidebar__menu__wrapper__nav > ul > .menu-item:nth-child(8) {
  transition-delay: calc(var(--sidebar-transition)/2 + var(--menu-item-delay)* 7);
}
.sidebar__menu__wrapper--open:before {
  width: 100%;
  transition: var(--sidebar-transition);
  transition-delay: 0s;
}
.sidebar__menu__wrapper--open:after {
  width: 100%;
  transition: var(--sidebar-transition);
  transition-delay: calc(var(--sidebar-transition) / 2);
}
.sidebar__title {
  writing-mode: vertical-lr;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.25em;
  color: var(--clr-sidebar-title);
}
.sidebar__social__button {
  width: 48px;
  height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--clr-bg-menu-button);
  border: none;
  border-radius: 50%;
}
.sidebar__social__button:before, .sidebar__social__button:after {
  content: "";
  position: absolute;
  width: 24px;
  height: 2px;
  margin: -2px;
  background: var(--clr-bg-menu-span);
}
.sidebar__social__button:after {
  transform: rotate(90deg);
}

.wrapper {
  height: 100vh;
  max-width: calc(100% - var(--sidebar-width));
  margin-left: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.hero {
  background: var(--clr-bg);
}
.hero__swiper {
  width: 100%;
  height: 100%;
}
.hero__swiper--left .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.hero__swiper--left .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero__swiper--right {
  padding: 48px;
  position: relative;
}
.hero__swiper--right:before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translatey(-50%);
  height: 690px;
  max-height: 80%;
  width: 75%;
  background: rgba(26, 26, 77, 0.025);
}
.hero__swiper--right .swiper-wrapper {
  align-items: center;
}
.hero__swiper--right .swiper-slide {
  overflow: hidden;
  margin-right: 48px;
  max-height: 480px;
  height: 60%;
}
.hero__swiper--right .swiper-slide:after {
  content: "";
  position: absolute;
  left: 0px;
  top: 0;
  width: calc(100% + 0px);
  height: 100%;
  background: var(--clr-primary);
  transition: width 0.5s;
  transition-delay: 0.6s;
  opacity: 1;
}
.hero__swiper--right img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.5);
  transform: scale(1);
  transform-origin: 50% 50%;
  box-sizing: border-box;
}
.hero__swiper--right .animate:after {
  content: "";
  position: absolute;
  left: 0px;
  width: 0%;
  opacity: 1;
  transition-delay: 0.1s;
}
.hero__swiper--right .animate img {
  transform-origin: 0% 50%;
  animation: hero-slider-zoom 20s forwards;
}
.hero__swiper--right .animate--reverse {
  overflow: hidden;
}
.hero__swiper--right .animate--reverse:after {
  content: "";
  position: absolute;
  left: unset;
  right: 0;
}
.hero__swiper .swiper-pagination-bullet {
  --swiper-pagination-bullet-width: 20px;
  --swiper-pagination-bullet-height: 20px;
  background: transparent;
  opacity: 1;
  font-weight: 600;
  font-size: 12px;
  color: var(--clr-slide-number);
}
.hero__swiper .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .hero__swiper .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  --swiper-pagination-bullet-vertical-gap: 16px;
  display: block;
}
.hero__swiper .swiper-pagination-bullet-active {
  color: var(--clr-slide-number--active);
}
.hero__swiper .swiper-vertical > .swiper-pagination-bullets {
  right: 20px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.hero__content {
  position: relative;
  margin: 64px;
  margin-left: 120px;
}
.hero__content:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -32px;
  top: -128px;
  height: calc(100% + 256px);
  width: 256px;
  background: radial-gradient(circle at 50% 50%, var(--clr-hero-deco) 0px, var(--clr-hero-deco) 1px, transparent 1px);
  background-size: 8px 8px;
  transform: translateY(0px) translatex(-100%);
  opacity: 0;
  blur: 5px;
  transition: 0.8s;
}
.hero__content:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: calc(-32px - var(--decor-size));
  top: calc(-128px - var(--decor-size));
  height: calc(100% + 256px + var(--decor-size)*2);
  width: calc(256px + var(--decor-size)*2);
  border: 1px solid var(--clr-primary);
  transform: translateY(0px) translatex(-100%);
  opacity: 0;
  blur: 5px;
  transition: 0.8s;
  --decor-size: 8px;
  clip-path: polygon(0% 0%, var(--decor-size) 0%, var(--decor-size) var(--decor-size), calc(100% - var(--decor-size)) var(--decor-size), calc(100% - var(--decor-size)) 0px, 100% 0, 100% var(--decor-size), calc(100% - var(--decor-size)) var(--decor-size), calc(100% - var(--decor-size)) calc(100% - var(--decor-size)), 100% calc(100% - var(--decor-size)), 100% 100%, calc(100% - var(--decor-size)) 100%, calc(100% - var(--decor-size)) calc(100% - var(--decor-size)), var(--decor-size) calc(100% - var(--decor-size)), var(--decor-size) 100%, 0% 100%, 0% calc(100% - var(--decor-size)), var(--decor-size) calc(100% - var(--decor-size)), var(--decor-size) var(--decor-size), 0px var(--decor-size));
}
.hero__content__title {
  margin-top: 0;
  margin-bottom: 18px;
  font-size: 54px;
  font-weight: 550;
  line-height: 1.2;
  transform: translateY(-50px) translatex(0);
  opacity: 0;
  blur: 5px;
  transition: 0.65s;
}
.hero__content__lead {
  margin-top: 0;
  margin-bottom: 24px;
  font-size: 18px;
  line-height: 1.75;
  color: var(--clr-lead);
  transform: translateY(-50px) translatex(0);
  opacity: 0;
  blur: 5px;
  transition: 0.95s;
  transition-delay: 0.1s;
}
.hero__content__link {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  display: inline-block;
  letter-spacing: 0.1em;
  text-decoration-color: var(--clr-primary);
  text-decoration-thickness: 4px;
  text-underline-offset: 6px;
  color: var(--clr-link);
  transform: translateY(-50px) translatex(0);
  opacity: 0;
  blur: 5px;
  transition: transform 0.95s, opacity 0.65s, color 0.1s, text-decoration-color 0.1s;
  transition-delay: 0.2s;
}
.hero__content__link:hover {
  color: var(--clr-link--hover);
  text-decoration-color: var(--clr-primary--hover);
}
.hero__content.animate:before {
  transform: translateY(0) translatex(0);
  opacity: 1;
  blur: 0px;
}
.hero__content.animate:after {
  transform: translateY(0) translatex(0);
  opacity: 1;
  blur: 0px;
}
.hero__content.animate .hero__content__title {
  transform: translateY(0) translatex(0);
  opacity: 1;
  blur: 0px;
}
.hero__content.animate .hero__content__lead {
  transform: translateY(0) translatex(0);
  opacity: 1;
  blur: 0px;
}
.hero__content.animate .hero__content__link {
  transform: translateY(0) translatex(0);
  opacity: 1;
  blur: 0px;
}
.hero__footer {
  grid-column: 1/span 2;
  display: flex;
  align-items: center;
  padding: 0px 48px;
  padding-left: 120px;
  margin-bottom: 40px;
}
.hero__footer__progress {
  flex-grow: 1;
  border-radius: 0px;
  background: #e3e4e8;
}
.hero__footer__progress__inner {
  height: 4px;
  border-radius: 0px;
  background: var(--clr-primary);
  width: 0;
  transition: 0.6s ease-in-out;
}
.hero__footer__actions {
  display: flex;
  margin-left: 40px;
}
.hero__footer__actions__button {
  width: 48px;
  height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--clr-bg-menu-button);
  border: none;
  border-radius: 50%;
  margin-left: 8px;
}

@keyframes hero-slider-zoom {
  from {
    transform: scale(1) rotate(0deg);
    transform-origin: 40% 50%;
  }
  to {
    transform: scale(1.2) rotate(5deg);
    transform-origin: 50% 50%;
  }
}


/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------ 6.0/00 - 21-08-22 */
/* css-counter postion background */
/* https://stackoverflow.com/questions/43514987/css-increasing-number-as-background-images-for-css */	
.no-class::before { 
	position:absolute;
  display:flex;
	/*top:var(--count-pos-top);*/
  /*right:var(--count-pos-right);*/
  bottom:var(--count-pos-bottom);
  left:var(--count-pos-left);
	justify-content:center;
  align-items:center;
  counter-increment:Element 1;
	content:counter(Element) '';
	font-size:var(--count-size); 
	font: 800 Arial;
	  -webkit-text-fill-color:transparent; /* works FF, Chrome and Edge */
	  -webkit-text-stroke:var(--count-width,1px);
	  -webkit-font-smoothing:antialiased;
	color:var(--count-color); /* must be the same color als card-back background */
    opacity:1;
	/*z-index:999;*/
	}
/* shadow */
/*
.shadow, .flex-item {
  box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04), 0 2px 2px rgba(0, 0, 0, 0.04), 0 4px 4px rgba(0, 0, 0, 0.04), 0 8px 8px rgba(0, 0, 0, 0.04), 0 16px 16px rgba(0, 0, 0, 0.04);
}
*/	
/* ------------------------------------------------------------------------------ */
/* END */	
/* ------------------------------------------------------------------------------ */