/*
Mahendra Theme

Author: Jannik Bussmann
URL:    http://jannikbussmann.de
Email:  hello@jannikbussmann.de
*/

/* ================================== Structure ================================== */

/* === 00. General === */
/* === 01. Preloader === */
/* === 02. Navigation === */
/* === 03. General Layout === */
/* === 04. Section Layout === */
/* === 05. Columns Layout === */
/* === 06. Parallax === */
/* === 07. Video-Player === */
/* === 08. Social-Buttons === */
/* === 09. Language-Buttons === */
/* === 10. Flickity Options and Styles=== */
/* === 11. Embed iFrame Options=== */
/* === 12. Marquee === */
/* === 13. Accordion === */
/* === 14. Contact Section === */
/* === 15. Custom Pages === */
/* === 16. Cursor Effects === */

/* === 17. EXPO === */


/* ================================== Font ================================== */

@font-face {
  font-family: 'Lausanne';
  src: url('../fonts/Lausanne-300.eot');
  src: url('../fonts/Lausanne-300.eot?#iefix') format('embedded-opentype'),
      url('../fonts/Lausanne-300.woff2') format('woff2'),
      url('../fonts/Lausanne-300.woff') format('woff'),
      url('../fonts/Lausanne-300.ttf') format('truetype'),
      url('../fonts/Lausanne-300.svg#Lausanne-300') format('svg');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* ================================== Structure ================================== */


/* === 00. General === */

* {
margin: 0;
padding: 0;
}

:root {
--color-black: black;
--color-white: white;
--color-grey: grey;
--color-text: var(--color-black);
--color-text-white: var(--color-white);
--color-text-grey: var(--color-grey);
--color-background: var(--color-white);
}

html{
--scroll-behavior: smooth;
scroll-behavior:smooth;
cursor: none !important;
will-change: scroll-position;
}

html, body {
margin: 0;
}


body{
margin: 0;
padding: 0;
border: 0;
color: var(--color-text);
background: var(--color-background);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-family: 'Lausanne', helvetica, Arial, sans-serif;
font-weight: 300;
font-size: 16px;
line-height: 1.5;
}

a {
color: black;
cursor: none!important;
}

a:hover {
border-bottom: 2px solid;
color: black;
text-decoration: none;
cursor: pointer!important;
}

button {
cursor: none!important;
}

button:hover {
cursor: pointer!important;
}



/* === 01. Preloader === */

.preload-typo {
display: inline-block;
-webkit-animation: fadeIn;
animation: fadeIn; /* referring directly to the animation's @keyframe declaration */
-webkit-animation-duration: 3s;
animation-duration: 3s; /* don't forget to set a duration! */
padding-top: .775rem;
padding-left: 0.975rem;
}

.preload-typo img {
width: 80px;
color: white;
}


.preloader{
background-color: black;
height: 100vh;
width: 100vw;
position: fixed;
z-index: 999999999999999999;
margin-top: 0;
top: 0px;
}
/*
.percentage {
z-index: 100;
text-align: center;
color: #fff;
line-height: 3;
font-weight: 700;
font-size: 25px;
margin: auto;
}
*/
.loader,
.percentage{
height: 5px;
max-width: 100%;
border: none;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}

.loader:after,
.percentage:after {
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}

.trackbar {
width: 100%;
height: 100%;
color: #fff;
text-align: center;
line-height: 30px;
overflow: hidden;
position: relative;
opacity: 0.99;
}

.loadbar {
width: 0%;
height: 100%;
background: white;
position: absolute;
top: 0;
left: 0;
-webkit-animation: flicker 5s infinite;
animation: flicker 5s infinite;
overflow: hidden;
}

@-webkit-keyframes animation {
10% {
  opacity: 0.9;
}
30% {
  opacity: 0.86;
}
60% {
  opacity: 0.8;
}
80% {
  opacity: 0.75;
}
}

@keyframes animation {
10% {
  opacity: 0.9;
}
30% {
  opacity: 0.86;
}
60% {
  opacity: 0.8;
}
80% {
  opacity: 0.75;
}
}


@media (max-width: 576px) {
.loader, .percentage {
  height: 5px;
}

.percentage {
  line-height: 0;
}

.preload-typo {
  padding-top: 1.125rem;
}
}

/* === 02. Navigation === */

nav {
height: 50px;
padding-bottom: 20px;
color: white;
mix-blend-mode: difference;
}

.nav-link {
padding: 0!important;
}

.navbar-nav .nav-link {
  color: inherit;
  padding: 0;
  line-height: 1;
}

.navbar-nav .active>.nav-link, .navbar-nav .nav-link.active, .navbar-nav .nav-link.show, .navbar-nav .show>.nav-link {
  color: inherit;
  border-bottom: 2px solid;
}

span.navbar-text {
  position: absolute;
  float: right;
  right: 20px;
}

.navbar-brand {
margin: 0;
padding-left: 0;
padding-right: 0;
}

.navbar-brand img {
width: 80px;
}

/*
.collapse {
right: 20px;
}*/

ul.container.navbar-nav.mr-auto {
display: inline-block;
text-align: right;
list-style: none;
padding: 0;
height: 25px;
}

.mr-auto, .mx-auto {
margin-right: 0!important;
}

li.nav-item {
padding-left: 10px;
padding-right: 10px;
display: inline-block;
font-size: calc(.025vw +  1rem);
letter-spacing: .01em;
text-transform: uppercase;
}

.navbar-brand {
color: inherit;
}

button.navbar-toggler {
position: fixed;
top: 0;
float: right;
right: 0;
margin-right: 30px;
margin-top: 20px;
background: none;
border: none;
border-radius: 60px;
z-index: 99999999;
}


#menu-mobile {
display: none;
}

.collapse-headline {
display: none;
}

.navbar-nav hr {
display: none;
}

.nav-language {
display: none!important;
}

.nav-social  {
display: none!important;
}

#menu-buttons-sections-mobile {
  display: none;
}

.title-inner {
display: inline-block;
line-height: 100%;
font-size: 3.8vw;
color: white;
}




@media (min-width: 768px) and (max-width: 1000px) {
/*
 .collapse {
     display: none !important;
 }*/
}

@media (max-width: 768px) {

nav {
  height: inherit;
  color: white;
  background: black;
}

.navbar-brand {
  padding-left: 0;
  padding-right: 0;
  line-height: 1.2;
}

span.navbar-text {
    display: none;
}

ul.container.navbar-nav.mr-auto {
  /*
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;*/
  display: inline-block;
  text-align: right;
  list-style: none;
  padding: 0;
  height: inherit;
}

ul.container.navbar-nav.mr-auto::-webkit-scrollbar {
  display: none;
}

li.nav-item {
  display: inline-block;
  float: none;
  font-size: 18px;
}

.navbar-toggler-icon {
  font-size: 14px;
  width: 45px;
  height: 15px;
  line-height: 1.2;
  vertical-align: inherit;
}

button.navbar-toggler {
  margin-right: 15px;
  margin-top: 10px;
  background: var(--color-white);
  border: none;
  border-radius: 60px;
  z-index: 99999999;
}
.navbar-toggler:hover, .navbar-toggler:focus  {
  outline: none;
}
}

@media (max-width: 576px) {
nav {
  height: inherit;
  color: white;
  background: black;
  mix-blend-mode: difference;
}

button.navbar-toggler {
  margin-top: 15px;
  opacity: 0;
  display: none;
}

button.navbar-toggler.show {
  /*display: block;*/
  opacity: 1;
  transition: all 1s;
  display: block;
}

button.navbar-toggler.hide {
  opacity: 0;
  transition: all 1s;
  display: none;
  /*display: none!important;*/
}

ul.container.navbar-nav.mr-auto {
  display: grid;
  grid-template-columns: 1fr;
  text-align: left;
}

li.nav-item {
  display: inline-block;
  float: none;
  font-size: 21px;
  padding: 0;
}

.navbar-toggler-icon {
  font-size: 14px;
  width: 45px;
  height: 15px;
  line-height: 1.2;
}

.navbar-nav .active>.nav-link, .navbar-nav .nav-link.active, .navbar-nav .nav-link.show, .navbar-nav .show>.nav-link {
  color: inherit;
  border-bottom: none;
}

.navbar-brand {
  line-height: 1.75;
}

.navbar-nav .nav-link {
  line-height: 1.5;
}

.nav-link:focus, .nav-link:hover {
  border-bottom: none;
}

#menu-mobile {
  display: inline-block;
  position: absolute;
  z-index: 9;
  padding-left: 0;
  padding-right: 0;
  padding-top: 10vh;
  padding-bottom: 10vh;
}

#menu-mobile a {
  font-size: 31px;
  text-transform: uppercase;
}

#menu-mobile p {
  display: inline-block;
  margin-left: 15px;
  margin-right: 15px;
  border-bottom: 1px solid;
}

.marquee-mobile-menu {
  width: calc(100vw - 1px);
  overflow: hidden;
  /*border:1px solid #ccc;*/
  padding-left: 0;
  padding-right: 0;
}

.title-inner {
  display: inline-block;
  font-size: 17.75vw;
  letter-spacing: -.01em;
  color: black;
}

#menu-buttons-sections-mobile {
    display: none;
}

.bg-opacity{
  opacity: 1;
  transition: all .3s;
}

.bg-opacity-lighten {
  opacity: 0.25;
  -webkit-filter: blur(3px);
  filter: blur(3px);
  transition: all .3s;
}

/* language button in collapse */
.collapse-headline {
  display: block!important;
}

.navbar-nav hr {
  display: block!important;
}

.nav-language {
  display: inline-block!important;
}

.nav-social  {
  display: inline-block!important;
}

.nav-language a.link {
  color: white;
}

li.nav-item.active {
 
}

.nav-social a.link {
  color: white;
}

.collapse-headline {
  font-size: 13px;
  margin-bottom: 5px;
}
}





/* === 03. General Layout === */

div#main {
position: relative;
cursor: none;
}

.bg-dark {
background: var(--color-black)!important;
mix-blend-mode: difference;
}

@media (max-width: 768px) {
div#main {
  position: relative;
  cursor: none;
  overflow-x: hidden;
}
}


/* === 04. Section Layout === */

section {
display: -webkit-flex;
display: flex;
}

section ul {
padding: 0;
list-style: none;
}

section ul li {
padding-bottom: 5px;
padding-top: 5px;
}

section .text-block {

}

section .text-block em {
font-style: normal;
color: grey;
}

.text-block {
color: var(--color-text-white);
mix-blend-mode: difference;
margin-top: 0;
margin-bottom: 20px;
padding-right: 15px;
}

.text-block h2, .text-block-2 h2  {
font-size: 16px;
margin-bottom: 15px;
}

.text-block p, .text-block-2 p  {
font-size: 2.25vw;
line-height: 1;
letter-spacing: -.0215em;
}

.text-block ul p, .text-block i, .text-block em {
  text-indent: 0!important;
  font-size: calc(.025vw +  1rem);
}


.shopping-card {

}

.shopping-card a {
  border: none;
}

.shopping-card a:hover {
  border: none;
}

.shopping-card img {

}

.shopping-card img:hover {
  -webkit-filter: invert(1);
  filter: invert(1);
  transition: all .8s;
}

.shopping-card-body {
  padding-top: 15px;
  padding-bottom: 15px;
}


.shopping-card-body a {
  
}

.shopping-card-body p {
  font-size: 2.25vw;
  line-height: 1;
  letter-spacing: -.0215em;
}

.shopping-card-body em {
  font-style: normal;
  text-indent: 0!important;
  color: grey;
  font-size: calc(.025vw +  1rem);
}

a.shopping-link  {
  cursor: ne-resize!important;
  font-size: calc(.025vw +  1rem);
}



a.shopping-link::after  {
  content: "\2197";
  display: inline-block;
  vertical-align: 0.15rem;
  font-size: 0.6rem;
  margin-left: 0.25rem;
}

@media (max-width: 768px) {
  .shopping-card-body p {
      font-size: 3.15vw;
  }
}

@media (max-width: 576px) {
  .shopping-card-body p {
      font-size: 6.25vw;
      margin-bottom: 0;
  }

  a.shopping-link  {
    letter-spacing: 0.0125em;
    color: inherit;
    border-radius: 20px;
    margin: 15px 5px 10px 0px;
    padding: 2px 10px 0px 10px;
    text-align: center;
    float: left;
    font-size: 12px;
    line-height: 1.45;
    text-transform: uppercase;
    border: 1px solid;
  }

  a.shopping-link::after  {
    display: none;
  }
}





.col-md-12.divider-col {
  display: inline-block;
  padding: 0;
}

.section-black {

}

.section-white {
background: var(--color-white);
}

.section-fullscreen {
height: 100vh;
position: relative;
}

.section-inline {
display: inline-block;
}

.section-flex {
display: -webkit-flex;
display: flex;
}

@media (max-width: 768px) {
.text-block-2 hr {
    display: none;
}

.text-block p, .text-block-2 p  {
  font-size: 3.15vw;
  text-indent: 0;
}
}


@media (max-width: 576px) {
.text-block {
  margin-bottom: 0;
}
.text-block p, .text-block-2 p  {
  font-size: 6.25vw;
  text-indent: 0;
}
}


/* === 05. Columns Layout === */

.column {
width: 100vw;
}

.col-mt-5 {
padding-top: 5vh;
}

.col-mt-10 {
padding-top: 10vh;
}

.col-mt-15 {
padding-top: 15vh;
}

.col-mt-20 {
padding-top: 20vh;
}

.col-mt-40 {
padding-top: 40vh;
}

.col-mt-60 {
padding-top: 60vh;
}

.col-mt-80 {
padding-top: 80vh;
}

.col-mt-120 {
padding-top: 120vh;
}

.col-mb-5 {
padding-bottom: 5vh;
}

.col-mb-10 {
padding-bottom: 10vh;
}

.col-mb-15 {
padding-bottom: 15vh;
}

.col-mb-20 {
padding-bottom: 20vh;
}

.col-mb-40 {
padding-bottom: 40vh;
}

.col-mb-60 {
padding-bottom: 60vh;
}

.col-mb-80 {
padding-bottom: 80vh;
}

.col-mb-120 {
padding-bottom: 120vh;
}

.video-column {
background: white;
display: -webkit-flex;
display: flex;
min-width: 100%;
width: 70vw;
margin: 0 auto;
margin-top: auto;
margin-bottom: auto;
}

.contact-column {
max-width: 100%;
margin-top: auto;
margin-left: auto;
margin-bottom: auto;
margin-right: auto;
}



@media (max-width: 768px) {
.column {
  padding-top: 20px;
  padding-bottom: 20px;
}

.video-column {
  width: 70vw;
}

.col-mt-5, .col-mt-10, .col-mt-15, .col-mt-20, .col-mt-40, .col-mt-60, .col-mt-80, .col-mt-120 {
  padding-top: 5vh;
}

.col-mb-5, .col-mb-10, .col-mb-15, .col-mb-20, .col-mb-40, .col-mb-60, .col-mb-80, .col-mb-120 {
  padding-bottom: 5vh;
}

.contact-column {

}
}

@media (max-width: 576px) {
.contact-column {
  margin: auto;

}
}



/* === 06. Single Image Captions === */

.section {
display: -webkit-flex;
display: flex;
vertical-align: middle;
-webkit-justify-content: center;
justify-content: center;
}

.single-image span {
display: block;
padding-top: 10px;
color: grey;
font-size: 12px;
}

.single-image img:hover {
-webkit-filter: invert(1);
filter: invert(1);
transition: all .8s;
}

@media (max-width: 768px) {
.single-image span {
  font-size: 10px;
}
}
/*
.moving-block {
will-change: transform;
}
*/

/* === 07. Video-Player === */

.video-container {
height: calc(100vh - 56.56%);
box-shadow: 0 27px 55px 0 rgba(0, 0, 0, 0.3), 0 17px 17px 0 rgba(0, 0, 0, 0.15);
/*border: 2px solid rgb(44,44,44);*/
}

.video-container video {
/*  width: calc(100vh * (1000 / 562));      video width / height  */
/*height: calc(100vw * (562 / 1000));  video height / width  */
/* Setting width & height to auto prevents the browser from stretching or squishing the video */
min-width: 100%;
min-height: 100%;
/* Center the video */
position: absolute;
/*
top: 50%;
left: 50%;
transform: translate(-50%,-50%) scale(.5);*/
}

#info-marquee {
position: absolute;
top: 0;
width: 100%;
height: 100%;
z-index: 10;
background: black;
}

.info-box {
position: relative;
top: 50%;
width: 100%;
overflow: hidden;
transition: all .3s;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}


#info-marquee.show {
opacity: 0.8;
}

#info-marquee.hide {
opacity: 0;
}

#info-marquee.clicked.show {
display: none;
}

#info-marquee.clicked.hide {
display: none;
}

@media (max-width: 1024px) {
}


@media (max-width: 768px) {
.video-container {

}

.video-container video {

}
}

@media (max-width: 576px) {
.video-container {
  display: none;
}
}

/* === 08. Social-Buttons === */

#social-buttons {
position: fixed;
display: block;
bottom: 0;
mix-blend-mode: difference;
color: white;
z-index: 1;
margin-left: 20px;
margin-bottom: 25px;
}

#social-buttons ul {
padding: 0;
list-style: none;
}

#social-buttons ul li {
float: left;
font-size: 12px;
line-height: 1.45;
letter-spacing: 0.0125em;
color: inherit;
padding: 1px 10px 1px 10px;
text-transform: uppercase;
border: 1px solid;
border-radius: 10px;
margin: 0 5px 0 5px;
}

#social-buttons ul li:hover {
color: var(--color-black);
background: var(--color-white);
transition: all .25s;
}

#social-buttons ul li:active {
color: var(--color-black);
background: var(--color-white)!important;
transition: none!important;
}

#social-buttons ul li a {
color: inherit;
}

#social-buttons ul li a:hover {
border: none;
}

#social-buttons.hidden {
visibility: hidden;
}

@media (max-width: 768px) {
#social-buttons {
  margin-left: 10px;
  margin-bottom: 15px;
}

#social-buttons ul li {
  font-size: 14px;
  letter-spacing: 0.0125em;
  color: inherit;
  border-radius: 20px;
  margin: 10px 5px 10px 5px;
  padding: 2px 10px 0px 10px;
  text-align: center;
}
}

@media (max-width: 576px) {
#social-buttons {
  display: none;
  position: absolute;
  width: 100vw;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#social-buttons ul {
  display: grid;
  gap: 1px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 0;
}

#social-buttons ul li {
  font-size: 12px;
  margin: 3px 3px 3px 3px;
}
}


/* === 09. Language-Buttons === */

#language-buttons {
position: fixed;
display: block;
float: right;
right: 0;
bottom: 0;
mix-blend-mode: difference;
color: white;
z-index: 1;
margin-right: 25px;
margin-bottom: 25px;
}

#language-buttons ul {
padding: 0;
list-style: none;
}

#language-buttons ul li {
float: left;
font-size: 12px;
letter-spacing: 0.0125em;
color: inherit;
padding-right: 15px;
padding: 1px 5px 1px 5px;
text-transform: uppercase;
color: inherit;
opacity: 0.5;
}

#language-buttons ul li a {
color: inherit;
}

#language-buttons ul li.active {
opacity: 1!important;
}

@media (max-width: 576px) {
#language-buttons {
  display: none;
}

}


/* === 10. Flickity Options and Styles=== */

.slideshow  {
position: relative;
margin-left: auto;
margin-right: auto;
}

.gallery-cell {
width: 100%;
color: #fff;
height: auto;
text-align: center;
font-size: 2rem;
font-family: sans-serif;
}

.gallery {
width: 100%;
}

.gallery-cell  {
width: 100%;
height: auto;
}

.gallery-cell  img {
width: 100%;
height: auto;
}

.gallery-cell  {
left: 0 !important;
opacity: 0;
transition: opacity 1s ease-in-out;
background-size: contain;
background-repeat: no-repeat;
background-position: top center;
background-color: transparent;
}

.gallery-cell.is-selected {
opacity: 1;
z-index: 0;
}

.flickity-viewport {
height: 100%;
padding-top: 56.25%;
}
.flickity-slider{
margin-top: -56.25%;
-webkit-transform: none !important;
transform: none !important;
will-change: transform!important;
}

.flickity-button {
background: none!important;
}

.flickity-prev-next-button {
top: 0!important;
width: 50%!important;
height: 100%!important;
border-radius: 0!important;
-webkit-transform: none!important;
transform: none!important;
}

.flickity-prev-next-button .flickity-button-icon {
display: none!important;
}

.flickity-prev-next-button.next {
  right: 0!important;
}

.flickity-prev-next-button.next:hover {
  right: 0!important;
  cursor: e-resize;
}

.flickity-prev-next-button.previous {
  left: 0!important;
}

.flickity-prev-next-button.previous:hover {
  right: 0!important;
  cursor: w-resize;
}

/* === 11. Embed iFrame Options=== */

/* Video - yt / vimeo */
.video-player {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px; height: 0; overflow: hidden;
}

.video-player iframe,
.video-player object,
.video-player embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* spotify */
.sound-player {
position: relative;
padding-bottom: 56.25%;
padding-top: 100%;
height: 0;
overflow: hidden;
}

.sound-player iframe,
.sound-player object,
.sound-player embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/* === 12. Marquee === */

.marquee {
overflow: hidden;
padding-left: 0;
padding-right: 0;
}

.marquee ul {
list-style: none;
font-size: 2.75vw;
line-height: 1.25;
margin-bottom: 0;
padding: 0;
}

.marquee ul li {
border-bottom: 1px solid;
}

.marquee ul li a {
color: white;
}

.marquee ul li a:hover {
border: none;
;
}

.js-marquee-wrapper {
will-change: contents;
}

.table-01,
.table-02 {
color: var(--color-text-white);
}

.table-01 h2,
.table-02 h2 {
font-size: calc(.025vw + 1rem);
top: 0!important;
left: 0!important;
padding-left: 0;
padding-bottom: 10px!important;
}

/* Fading in Out */
.fade {
  background: black;
  color: white;
  max-width: 500px;
  padding: 2.0rem;
  opacity: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  transition: all 1.0s;
}
.fade-check {
  padding: 2.0rem;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 1rem;
}
.fade.visible {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}


@media (max-width: 768px) {
.marquee {
  padding-left: 0;
  padding-right: 0;
}

.marquee ul {
  font-size: 6.25vw;
}

.table-01 h2,
.table-02 h2 {
  padding-left: 0;
}
}

/* === 13. Accordion === */


.card-body {
padding-top: 0.75rem;
padding-left: 0.325rem;
padding-bottom: 3.75rem;
padding-right: 3.75rem;
font-size: 14px;
text-transform: uppercase;
line-height: 1.1;
}

.card-body a {
cursor: ne-resize!important;
}

.card-body ul a:after {
content: "\2197";
display: inline-block;
vertical-align: 0.15rem;
font-size: 0.6rem;
margin-left: 0.25rem;
}


.card-body p {
margin: 0;
padding-bottom: 10px;
text-transform: uppercase;
line-height: 1;
}

.card-body ul  {
display: -webkit-flex;
display: flex;
margin-bottom: 0;
padding-top: 10px;
}

.card-body ul li {
padding-bottom: 5px;
padding-top: 5px;
padding-right: 10px;
}

.text-holder {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: column nowrap;
flex-flow: column nowrap;
-webkit-justify-content: center;
justify-content: center;
position: absolute;
float: left;
left: 0;
top: 70px;
height: calc(100% - 140px);
width: 100%;
}


.text-holder .card {
border: none;
background-color: transparent;
margin-right: 50vw;
padding-right: 5vw;
}

.text-holder .card-header {
border: none;
background-color: transparent;
padding: 0 0 0.5rem 0;
}

.card-header p {
margin: 0;
}

.mobile-card-image {
display: none;
}

.text-holder .card-header button {
display: -webkit-flex;
display: flex;
color: inherit;
padding: 0;
border-radius: 0;
font-size: 2.75vw;
text-transform: uppercase;
line-height: 1;
}



#accordion .btn-link.collapsed {
text-decoration: none;
}

#accordion .btn-link.hover, #accordion .btn-link:hover {
text-decoration: underline;
cursor: n-resize!important;
}

#accordion .btn-link.collapse.hover, #accordion .btn-link.collapse:hover {
text-decoration: underline;
cursor: n-resize!important;
}

#accordion .btn-link.active, #accordion .btn-link:active {
text-decoration: underline;
}

#accordion button.btn-link.collapsed:hover {
cursor: s-resize!important;
}

#accordion .init-cursor-n-resize:hover {
cursor: n-resize !important;
}

#accordion .init-cursor-s-resize:hover {
cursor: s-resize !important;
}


.image-holder-frame {
min-width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: column nowrap;
flex-flow: column nowrap;
-webkit-justify-content: center;
justify-content: center;
}

.image-holder {
position: absolute;
display: inline-block;
vertical-align: middle;
text-align: center;
max-width: 33vw;
/*border: 5px solid blue;*/
}

#following {
position: absolute;
visibility: hidden;
width:250px;
height:250px;
border: none;
border-radius: 100%;
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%); 
pointer-events: none;
box-shadow: 0 27px 55px 0 rgba(0, 0, 0, 0.3), 0 17px 17px 0 rgba(0, 0, 0, 0.15);
background-repeat: no-repeat;
background-size: cover;
}

@media (max-width: 992px) {
.text-holder .card {
  margin-left: 15px;
}

.image-holder {
  max-width: 45vw;
}
}

@media (max-width: 768px) {

.card-body a:hover {
  border-bottom: none;
  text-decoration: none;
}

 .text-holder {
   left: 10px;
 }

 .text-holder .card {
  border: none;
  background-color: transparent;
  margin-left: 5px;
  margin-right: 0;
}


.image-holder-frame {
  display: none;
}

.mobile-card-image {
  display: block;
}

.card-body {
  margin-right: 40vw;
  padding-right: 0.125rem;
}

.card-body img {
  padding-top: 0.25rem;
  padding-bottom: 0.75rem;
  width: 30vw;
}

i.arrow-downwards {
  display: block;
  vertical-align: bottom;
  position: relative;
  line-height: 1;
}

}

@media (max-width: 576px) {
.card-body {
  padding-top: 0.25rem;
  padding-right: 0.25rem;
  padding-left: 0;
  padding-bottom: 1.75rem;
  margin-right: 0;
  font-size: 14px;
}

.card-body ul {
  display: grid;
  gap: 1px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 0;
} 

.card-body ul li {
  font-size: 12px;
  margin: 3px 3px 3px 3px;
  letter-spacing: 0.0125em;
  color: inherit;
  border-radius: 20px;
  margin: 10px 5px 10px 5px;
  padding: 2px 10px 0px 10px;
  text-align: center;
  float: left;
  ;
  font-size: 12px;
  line-height: 1.45;
  text-transform: uppercase;
  border: 1px solid;
}

.card-body ul a:after {
  display: none;
}


.text-holder {
  display: block;
  position: absolute;
  float: left;
  left: 0;
  bottom: 0;
  z-index: 1;
  height: 50vh;
  padding-left: 15px;
  padding-right: 15px;
}

.text-holder .card {
  margin-left: 0;
  margin-right: 0;
  padding-right: 0;
}

.text-holder .card-header button {
  font-size: 6.25vw;
  line-height: 1;
}

#following {
  display: none;
}
}


/* === 14. Contact Section === */

.contact-button {
margin-left: 15px;
margin-right: 15px;
margin-top: auto;
margin-bottom: auto;
width: -moz-max-content;
width: -webkit-max-content;
width: -o-max-content;
}

.download-button {
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
margin: 0;
width: 100%;
}

.download-button p {
margin-bottom: 0;
}

.download-button a {
vertical-align: middle;
padding: 15px 30px;
font-size: 2.75vw;
height: 100px;
border: 2px solid;
border-radius: 60px;
color: var(--color-black);
background-color: var(--color-white);
transition: all .25s;
}

.download-button a:hover {
color: var(--color-white);
background-color: var(--color-black);
}

.download-button a:active {
background-color: var(--color-black)!important;
transition: none!important;
}

@media (max-width: 768px) {
.download-button a {
  display: inline-block;
  font-size: 16px!important;
  height: 50px!important;
  width: 250px!important;
  text-align: center;
  padding-top: 11px;
  padding-bottom: 10px;
}
}

@media (max-width: 576px) {
.contact-button {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  }
}

/* === 13. Accordion === */



/* === 15. Custom Pages === */

.impress h1 {
text-transform: uppercase;
}

.impress p {
text-indent: 0!important;
font-size: 16px;
}

.impress a {
color: white;
}

.impress ul {
line-height: 1;
}

.impress .text-block {
float: none;
}

.impress .text-block hr {
display: none;
}


/* === 16. Cursor Effects === */

@-webkit-keyframes waitcursor {
from {
  height: 30px;
  width: 30px;
}
to {
  height: 60px;
  width: 60px;
  }
}

@keyframes waitcursor {
from {
  height: 30px;
  width: 30px;
}
to {
  height: 60px;
  width: 60px;
  }
}

@-webkit-keyframes expand {
0% {
  -webkit-transform: scale(1);
  transform: scale(1);
}
50% {
  -webkit-transform: scale(3);
  transform: scale(3);
}
100% {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 0;
  }
}

@keyframes expand {
0% {
  -webkit-transform: scale(1);
  transform: scale(1);
}
50% {
  -webkit-transform: scale(3);
  transform: scale(3);
}
100% {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 0;
  }
}

@-webkit-keyframes logocursor {
from {
  height: 30px;
  width: 30px;
  -webkit-filter: blur(0px);
  filter: blur(0px);
}
to {
  height: 100px;
  width: 100px;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  }
}

@keyframes logocursor {
from {
  height: 30px;
  width: 30px;
  -webkit-filter: blur(0px);
  filter: blur(0px);
}
to {
  height: 100px;
  width: 100px;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  }
}

.opposite, .cursor, .cursor::after {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
mix-blend-mode: difference;
}

.cursor {
display: none;
width: 3px;
height: 3px;
background: #fff;
border-radius: 50%;
position: fixed;
transition-timing-function: ease-out;
z-index: 999999999;
}

.cursor::after {
content: "";
width: 30px;
height: 30px;
position: absolute;
border: 1px solid #fff;
border-radius: 50%;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
transition: all .3s;
}

/* Waiting */
.waitcursor::after {
-webkit-animation: waitcursor .5s infinite alternate;
animation: waitcursor .5s infinite alternate;
}

/* Check */
.incursor {
border: none;
background: transparent;
}

.incursor::after {
height: 50px;
width: 50px;
background: #fff;
}

.incursor-small {
border: none;
background: transparent;
}

.incursor-small::after {
height: 3px;
width: 3px;
background: #fff;
}

/* Check */
.incursor-big {
border: none;
background: transparent;
}

.incursor-big::after {
height: 100px;
width: 100px;
background: #fff;
}

.hidecursor {
border: none;
background: transparent;
}

.hidecursor::after {
height: 0;
width: 0;
border: none;
background: none;
}

.preview-cursor {
border: none;
background: transparent;
}

.preview-cursor::after {
height: 150;
width: 150;
border: none;
background: none;
}

.logocursor::after {
-webkit-animation: logocursor .5s infinite alternate;
animation: logocursor .5s infinite alternate;
background: #fff;
}

/* Click to expand */
.expand {
-webkit-animation: expand .5s forwards;
animation: expand .5s forwards;
background: grey;
}


@media (max-width: 768px) {
.cursor {
  display: none!important;
  }
}




/* ========= 17. EXPO ============ */

#intro-expo {
  width: 100vw;
}

#intro-expo p {
  font-size: 2.125vw;
  color: white;
}

#intro-expo a {
  color: white;
}


#intro-expo.intro-layout {
  margin-top: 10vh;
  padding-left: 15px;
  padding-right: 15vw;
}


#main-expo {
  margin-top:10vh;
  margin-bottom: 10vh;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap : wrap;
  flex-wrap : wrap;
  grid-row-gap: 2rem; /* Will be used instead by browsers that do not support `row-gap` */
  row-gap: 2rem; /* Used by browsers that support `row-gap` */
}

li.expo-item {
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.01rem;
  margin: 0;
}

li.expo-item h1, li.expo-item h2 {
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.01rem;
  margin: 0;
  display: inline-block;
}

li.expo-item h1:after {
  content: '\25CF';
  vertical-align: 0.125rem;
  padding: 0 0.25rem 0 0.55rem;
}

.expo-showcase {
 float: left; 
}

.expo-showcase h1 {
  font-size: 2.125vw;
  color: white;
  margin-top: 10px;
  margin-bottom: 0;
  
}

.expo-showcase h2 {
  font-size: 2.125vw;
  color: rgb(122, 122, 122);
}


.expo-showcase a {
  display: block;
  transition: all 300ms;
}

.expo-showcase .single-image {
  display: block;
  position:relative;
  transition: all 300ms;
  opacity: 0.5;
}

.expo-showcase .single-image:hover {
  /*transform: scale(1.333);*/
  -webkit-filter: invert(0);
  filter: invert(0);
  border-bottom: none;
  z-index: 3;
  opacity: 1;
 /* box-shadow: 0px 0px 4vw 0px rgb(255 255 255 / 50%);*/
}



.expo-showcase .single-image img{
  display: block;
}

.expo-showcase .single-image img:hover{
  -webkit-filter: none;
  filter: none;
}

.expo-showcase .text-layer {
  -webkit-transform: scale(1)!important;
  transform: scale(1)!important;
}

@media (max-width: 768px) {

  #intro-expo p {
    font-size: 3.25vw;
  }

  .expo-showcase h1, .expo-showcase h2 {
    font-size: 3.25vw;
    
  }

}

@media (max-width: 576px) {
  #intro-expo p {
    font-size: 5.25vw;
  }

  #intro-expo.intro-layout {
    padding-right: 10px;
    margin-top: 15vh;
  }

  .expo-showcase h1, .expo-showcase h2 {
    font-size: 5.25vw;
  }

}



.expo-project {
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

.expo-project a {
  color: inherit;
}

.expo-project .text-block p {
 font-size: 1.725vw;
}

.expo-project ul li {
  padding-bottom: 5px;
  padding-top: 5px;
  float: left;
  padding-right: 15px;
}

.expo-project .text-block ul li {
  padding-bottom: 0;
  padding-top: 0;
  float: none;
  padding-right: 0;
  line-height: 1.2;
}

.expo-project .single-image {
  transition: all 0.3s ease-in-out;
  -webkit-filter: none;
  filter: none;
}

.expo-project .single-image:hover {
  -webkit-filter: none;
  filter: none;
  /*transform: scale(1.333)!important;
  box-shadow: 0px 0px 4vw 0px rgb(255 255 255 / 50%);*/
}

.expo-project .single-image img:hover {
  -webkit-filter: none;
  filter: none;
}


.prev-next-menu {
  bottom: 20px;
  font-size: 14px;
  text-transform: uppercase;
}
.prev-next-menu ul {
  margin: 0;
  list-style: none;
}

.expo-project .prev-next-menu ul li {
  padding: 1px 12px 1px 12px;
  margin-bottom: 5px;
  margin-right: 10px;
  margin-left: 0;
}

.prev-next-menu li {
  float: left;
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0.0125em;
  padding: 1px 10px 1px 10px;
  text-transform: uppercase;
  border: 1px solid white;
  color: white;
  border-radius: 10px;
  margin: 0 5px 0 5px;
}

.prev-next-menu li.prev:hover, .prev-next-menu li.next:hover{
  border: 1px solid transparent;
  color: black!important;
  background-color: white;
}

.prev-next-menu li a:hover {
  border-bottom: none;
  color: inherit;
}

.logo-section {
  color: white;
  padding-left: 15px;
  margin-top: 10px;
  margin-bottom: 30px;
}

.logo-section img {
  width: 145px;
  padding-right: 15px;
}

.logo-section img.logo-small  {
  width: 85px;
}

.logo-section img.logo-invert  {
  -webkit-filter: invert(1);
  filter: invert(1);
  width: 250px;
  margin-left: -20px;
}


.logo-section span{
  font-size: 12px;
  display: block;
}


.prev-next-menu li.prev::before{
  content: '\2190';
  font-size: 0.75rem;
  line-height: 1.35;
  margin-right: 0.275rem;
  vertical-align: -0.0125rem;
  padding: 0.125rem;
}

.prev-next-menu li.next::after {
  content: '\2192';
  font-size: 0.75rem;
  line-height: 1.35;
  margin-left: 0.275rem;
  vertical-align: -0.0125rem;
  padding: 0.125rem;
}



@media (max-width: 768px) {

  #main.expo-project {
    top: 10vh;
  }

  .expo-project .text-block {
    padding-right: 0;
  }

  .expo-project .text-block p {
    font-size: 2.25vw;
  }

  .expo-project .text-block h2, .expo-project .text-block a {
    font-size: 14px;
  }


  .prev-next-menu {
    padding-left: 110px;
  }

  .prev-next-menu li {
    font-size: 14px;
    border-radius: 12px;
    line-height: 1.35rem;
  }

  .prev-next-menu li a {
    display: none;
  }

  .prev-next-menu li.prev::before, .prev-next-menu li.next::after{
    font-size: 1rem;
    line-height: 1;
    vertical-align: -0.05rem;
  }
  
}

@media (max-width: 767px) {
    .prev-next-menu {
      padding-left: 15px;
      margin-bottom: 110px;
    }
    .prev-next-menu li a {
      display: inline-block;
    }
  
    
}

@media (max-width: 576px) {

  .expo-project .text-block p {
    font-size: 4.5vw;
  }


}

