/* Common */
body {
 font-family: 'Archivo', sans-serif;
 font-weight: 200;
 color: #000;
 min-height: 100%;
 background-color: #FFF;
 overflow-x: hidden;
}
html {
 scroll-behavior: smooth;
 scroll-padding-top: 5vh;
 max-height: 100%;
 min-height: 100%;
}
@media (min-width:0em) and (max-width:46em) {
 html {
  scroll-padding-top: 5vh;
 }
}
h1, h2, h3, h4 {
 position: relative;
 font-family: 'Poppins', sans-serif;
 font-weight: 600;
 text-transform: lowercase;
 line-height: 1.2;
}
p:last-child {
 margin-bottom: 0;
}
a {
 color: rgba(0, 0, 0, 0.75);
}
a:hover {
 color: rgba(150, 93, 233, 1);
}
a:focus {
 outline: none;
}
img {
 display: block;
 width: 100%;
 height: auto;
}
ul {
 list-style: none;
}
ul li {
 position: relative;
}
blockquote {
 font-size: 0.9rem;
 margin-top: 2rem;
 margin-bottom: 0;
 padding: 5vh 1vw 0;
 background-color: rgba(255, 255, 255, 0.85);
 border-left: 1px solid rgba(150, 93, 233, 1);
}
blockquote span {
 display: inline-block;
 text-transform: uppercase;
 width: 150px;
}
ion-icon {
 position: relative;
 top: -5px;
}
.col-33 {
 float: left;
 width: 33.3333%;
}
::selection {
 color: #FFF;
 background-color: rgba(150, 93, 233, 1);
}
@media (min-width:0em) and (max-width:46em) {
 .col-33 {
  float: none;
  width: 100%;
 }
}
.no-pointer {
 pointer-events: none;
}
/*Page Loading Fade Effect */
.fade-in {
 opacity: 0;
 -webkit-animation: fadeIn ease-in 1;
 -moz-animation: fadeIn ease-in 1;
 animation: fadeIn ease-in 1;
 -webkit-animation-fill-mode: forwards;
 -moz-animation-fill-mode: forwards;
 animation-fill-mode: forwards;
 -webkit-animation-duration: 1s;
 -moz-animation-duration: 1s;
 animation-duration: 1s;
 -webkit-animation-delay: 2s;
 -moz-animation-delay: 2s;
 animation-delay: 2s;
}
@-webkit-keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
@-moz-keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
@keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
/* Loading logo with animation */
.loader-logo {
 position: fixed;
 top: 50%;
 left: 50%;
 content: "";
 width: 200px;
 height: 200px;
 transform: translateX(-50%) translateY(-50%);
 z-index: 0;
}
.loader-logo object {
 display: block;
 width: auto;
 height: 100%;
 margin-left: auto;
 margin-right: auto;
}
/* Links underline hover effect: https://codepen.io/MishaHahaha/pen/rLpoeG */
.link-hover {
 position: relative;
 text-decoration: none;
 display: inline-block;
 color: rgba(150, 93, 233, 1);
 padding: 0 1px;
 transition: color ease 0.3s;
}
.link-hover::after {
 content: '';
 position: absolute;
 z-index: -1;
 width: 100%;
 height: 5%;
 left: 0;
 bottom: 0;
 background-color: rgba(150, 93, 233, 1);
 transition: all ease 0.3s;
}
.link-hover:hover {
 color: #FFF;
}
.link-hover:hover::after {
 height: 100%;
}
/* Navigation */
.navbar {
 padding-top: 0;
 padding-bottom: 0;
 -webkit-transition: all 0.5s ease;
 -moz-transition: all 0.5s ease;
 transition: all 0.5s ease;
 transform: translate3d(0, 0, 0);
 will-change: transform;
}
.navbar:before {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 content: "";
 background-color: rgba(255, 255, 255, 0.85);
 -webkit-backdrop-filter: blur(20px);
 backdrop-filter: blur(20px);
 transition: backdrop-filter 0.5s;
 transform: translate3d(0, 0, 0);
 opacity: 0;
}
.navbar-brand {
 position: relative;
 width: 25vw;
 max-width: 325px;
 margin: 0;
 padding: 2rem;
 background-color: #FFF;
 -webkit-transition: all 0.5s ease;
 -moz-transition: all 0.5s ease;
 transition: all 0.5s ease;
 will-change: transform;
}
@media (min-width:0em) and (max-width:46em) {
 .navbar-brand {
  width: auto;
  max-width: 180px;
  padding: 1rem;
 }
}
/*.navbar.scrolled {
 border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
*/ .navbar.scrolled:before {
 opacity: 1;
}
.navbar.scrolled:after {
 position: absolute;
 left: 0;
 bottom: 0;
 content: "";
 width: 100%;
 height: 1px;
 background-color: rgba(0, 0, 0, 0.1);
}
.navbar.scrolled .navbar-brand {
 max-width: 215px;
 padding: 1rem 0 1rem 2.5rem;
 background-color: transparent;
}
@media (min-width:0em) and (max-width:46em) {
 .navbar.scrolled .navbar-brand {
  max-width: 120px;
  padding: 1rem 0 1rem 1rem;
 }
}
/* Overlay menu: https://codepen.io/thrgsmypny/pen/gOWQKdj */
.menu-button {
 width: 2rem;
 position: absolute;
 top: 50%;
 right: 4vw;
 cursor: pointer;
 height: calc(0.25rem * 5);
 z-index: 999;
 transform: translateY(-50%);
}
@media (min-width:0em) and (max-width:46em) {
 .menu-button {
  right: 8.5vw;
 }
}
.menu-button span {
 width: 2rem;
 height: 2px;
 background-color: #000;
 display: block;
 position: absolute;
 transition: all 0.25s ease;
}
.menu-button:hover span {
 background-color: rgba(150, 93, 233, 1);
}
.menu-button span:nth-of-type(2) {
 top: calc(0.25rem * 2);
}
.menu-button span:nth-of-type(3) {
 top: calc(0.25rem * 4);
}
.menu-button.active span {
 background-color: #FFF;
}
.menu-button.active span:nth-of-type(1) {
 transform: translateY(0.5rem) rotate(-45deg);
}
.menu-button.active span:nth-of-type(2) {
 transform: translateX(2rem);
 opacity: 0;
}
.menu-button.active span:nth-of-type(3) {
 transform: translateY(-0.5rem) rotate(45deg);
}
.menu-overlay {
 width: 100vw;
 height: 100vh;
 position: fixed;
 top: 0;
 left: 0;
 background-color: rgba(150, 93, 233, 1);
 background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 0.97) 10.8%, rgba(99, 88, 238, 0.97) 94.3%);
 display: grid;
 transform: translateX(100%);
 -webkit-transition: all 1s ease;
 -moz-transition: all 1s ease;
 transition: all 1s ease;
 overflow: hidden;
}
.menu-overlay.open {
 transform: translateX(50vw);
}
@media (min-width:0em) and (max-width:46em) {
 .menu-overlay.open {
  transform: translateX(0);
 }
}
/* Links hover effect: https://codepen.io/hafizfattah/pen/qBRQXe */
.links {
 text-align: center;
 padding: 0;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 *zoom: 1;
}
.links:before, .links:after {
 content: "";
 display: table;
}
.links:after {
 clear: both;
}
.link-effect-14 a {
 width: 100%;
 padding: 0 2.5vw;
 position: relative;
 overflow: hidden;
 display: inline-block;
 -moz-transition: ease-out 0.3s;
 -o-transition: ease-out 0.3s;
 -webkit-transition: ease-out 0.3s;
 transition: ease-out 0.3s;
}
.link-effect-14 a span::before {
 width: 1rem;
 height: 1rem;
 background: transparent;
 content: "";
 position: absolute;
 left: 0;
 top: 0;
 border-top: 2px solid white;
 border-left: 2px solid white;
 -moz-transition: 0.3s;
 -o-transition: 0.3s;
 -webkit-transition: 0.3s;
 transition: 0.3s;
 opacity: 0;
}
.link-effect-14 a span::after {
 width: 1rem;
 height: 1rem;
 background: transparent;
 content: "";
 position: absolute;
 right: 0;
 bottom: 0;
 border-right: 2px solid white;
 border-bottom: 2px solid white;
 -moz-transition: 0.3s;
 -o-transition: 0.3s;
 -webkit-transition: 0.3s;
 transition: 0.3s;
 opacity: 0;
}
.link-effect-14 a::before {
 width: 3rem;
 height: 2rem;
 background: transparent;
 content: "";
 position: absolute;
 right: 0;
 top: 0;
 border-right: 2px solid white;
 border-top: 2px solid white;
 -moz-transition: 0.3s;
 -o-transition: 0.3s;
 -webkit-transition: 0.3s;
 transition: 0.3s;
 opacity: 0;
}
.link-effect-14 a::after {
 width: 3rem;
 height: 2rem;
 background: transparent;
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 border-left: 2px solid white;
 border-bottom: 2px solid white;
 -moz-transition: 0.3s;
 -o-transition: 0.3s;
 -webkit-transition: 0.3s;
 transition: 0.3s;
 opacity: 0;
}
.link-effect-14 a:hover {
 color: #FFF;
}
.link-effect-14 a:hover::before {
 opacity: 1;
 right: 5px;
 top: 5px;
}
.link-effect-14 a:hover::after {
 opacity: 1;
 left: 5px;
 bottom: 5px;
}
.link-effect-14 a:hover span::before {
 opacity: 1;
 left: 5px;
 top: 5px;
}
.link-effect-14 a:hover span::after {
 opacity: 1;
 right: 5px;
 bottom: 5px;
}
.lock-scroll {
 overflow: hidden;
}
/* Parallax effect in overlay menu: https://codepen.io/Hyperplexed/pen/bGvejNY */
#menu {
 align-items: center;
 display: flex;
 height: 100vh;
 width: 100vw;
}
#menu .menu-brand {
 position: absolute;
 top: 0;
 left: 0;
 display: none;
 width: 25vw;
 max-width: 325px;
 margin: 0;
 padding: 2rem;
 -webkit-transition: all 0.5s ease;
 -moz-transition: all 0.5s ease;
 transition: all 0.5s ease;
 will-change: transform;
 opacity: 0.85;
}
@media (min-width:0em) and (max-width:46em) {
 #menu .menu-brand {
  display: block;
  width: auto;
  max-width: 180px;
  padding: 1rem;
  opacity: 1;
 }
}
#menu-items {
 margin-left: clamp(4rem, 10vw, 75rem);
 position: relative;
 z-index: 2;
}
@media (min-width:0em) and (max-width:46em) {
 #menu-items {
  left: 50%;
  width: 100%;
  max-width: 320px;
  margin-left: 0;
  transform: translateX(-50%);
 }
}
#menu[data-active-index="0"] > #menu-background-pattern {
 background-position: 0% -25%;
}
#menu[data-active-index="1"] > #menu-background-pattern {
 background-position: 0% -50%;
}
#menu[data-active-index="2"] > #menu-background-pattern {
 background-position: 0% -75%;
}
#menu[data-active-index="3"] > #menu-background-pattern {
 background-position: 0% -100%;
}
#menu[data-active-index="0"] > #menu-background-image {
 background-position: center 45%;
}
#menu[data-active-index="1"] > #menu-background-image {
 background-position: center 50%;
}
#menu[data-active-index="2"] > #menu-background-image {
 background-position: center 55%;
}
#menu[data-active-index="3"] > #menu-background-image {
 background-position: center 60%;
}
#menu-background-pattern {
 background-image: radial-gradient(rgba(255, 255, 255, 0.1) 9%, transparent 9%);
 background-position: 0% 0%;
 background-size: 12vmin 12vmin;
 height: 100vh;
 left: 0px;
 position: absolute;
 top: 0px;
 transition: opacity 800ms ease, background-size 800ms ease, background-position 800ms ease;
 width: 100vw;
 z-index: 1;
}
#menu-background-image {
 background-image: url("../img/logos/logo_stroke_white.svg");
 background-position: center 40%;
 background-size: 110vmax;
 height: 100%;
 left: 0px;
 opacity: 0.15;
 position: absolute;
 top: 0px;
 transition: opacity 800ms ease, background-size 800ms ease, background-position 800ms ease;
 width: 100%;
 z-index: 0;
}
#menu-items:hover ~ #menu-background-pattern {
 background-size: 11vmin 11vmin;
 opacity: 0.5;
}
#menu-items:hover ~ #menu-background-image {
 background-size: 100vmax;
 opacity: 0.1;
}
#menu-items:hover > .menu-item {
 opacity: 0.3;
}
#menu-items:hover > .menu-item:hover {
 opacity: 1;
}
.menu-item {
 font-family: 'Poppins', sans-serif;
 font-size: clamp(2rem, 3vw, 3rem);
 color: rgba(255, 255, 255, 0.75);
 cursor: pointer;
 display: block;
 padding: clamp(0.25rem, 0.5vw, 1rem) 0rem;
 text-decoration: none;
 line-height: 12vh;
 transition: opacity 400ms ease;
}
.menu-item:hover {
 color: rgba(255, 255, 255, 1);
}
.menu-item.active {
 color: rgba(255, 255, 255, 1);
}
/* Left panel */
.left-panel {
 position: fixed;
 left: 0;
 top: 50vh;
 bottom: 0;
 width: 140px;
 height: 50vh;
 overflow: hidden;
 pointer-events: none;
 z-index: 3;
}
@media (min-width:0em) and (max-width:46em) {
 .left-panel {
  display: none;
 }
}
.left-panel .social {
 position: absolute;
 left: 0;
 bottom: 0;
 text-align: center;
 width: 100%;
 margin-bottom: 0;
 padding: 5vh 0;
}
.left-panel .social:before {
 position: absolute;
 top: 0;
 left: 50%;
 content: "";
 width: 1px;
 height: 100%;
 background-color: rgba(0, 0, 0, 1);
 transform: translateX(-50%);
}
.left-panel .social:after {
 position: absolute;
 top: 0;
 left: 50%;
 content: "";
 width: 7px;
 height: 7px;
 background-color: #FFF;
 border: 1px solid rgba(0, 0, 0, 1);
 border-radius: 50%;
 transform: translateX(-50%);
}
.left-panel .social a {
 display: inline-block;
 font-size: 1rem;
 line-height: 48px;
 width: 50px;
 height: 50px;
 color: rgba(0, 0, 0, 1);
 margin: 0.5rem;
 padding: 0.5rem;
 background-color: #FFF;
 border: 1px solid rgba(0, 0, 0, 1);
 border-radius: 50%;
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
}
.left-panel .social a:hover {
 color: #FFF;
 background-color: rgba(150, 93, 233, 1);
 border-color: rgba(150, 93, 233, 1);
}
.left-panel {
 opacity: 0;
 transition: opacity 0.5s;
}
.left-panel.visible {
 pointer-events: all;
 opacity: 1;
}
/* Hero reveal slideshow */
.slideshow {
 position: relative;
 width: 100%;
 margin-top: 1rem;
}
@media (min-width:0em) and (max-width:46em) {
 .slideshow {
  margin-top: 15vh;
 }
}
.slide {
 width: 100%;
 top: 0;
 position: absolute;
 pointer-events: none;
}
.slide--current {
 position: relative;
}
.js .slide__img-wrap, .js .slide__title, .js .slide__subtitle, .js .slide__quote, .js .slide__side, .js .slide__number, .js .slide__explore {
 opacity: 0;
 pointer-events: none;
}
.slide--current.slide--visible .slide__img-wrap, .slide--current.slide--visible .slide__title, .slide--current.slide--visible .slide__subtitle, .slide--current.slide--visible .slide__quote, .slide--current.slide--visible .slide__number, .slide--current.slide--visible .slide__explore {
 opacity: 1;
}
.slide__subtitle-inner span {
 text-transform: uppercase;
}
@media (min-width:0em) and (max-width:46em) {
 .slide--current.slide--visible .slide__title {
  font-size: calc(1.5rem + 1vw);
 }
 .slide--current.slide--visible .slide__subtitle {
  margin-bottom: 2rem;
 }
}
.slide--current.slide--visible .slide__number {
 opacity: 0.75;
}
@media (min-width:0em) and (max-width:46em) {
 .slide--current.slide--visible .slide__number {
  opacity: 0;
 }
}
.slide--current.slide--visible .slide__explore {
 pointer-events: auto;
}
.slide__img-wrap {
 width: 100%;
 height: 50vh;
 overflow: hidden;
 position: relative;
}
.slide--current .slide__img-wrap {
 cursor: default;
}
.slide--left, .slide--right {
 z-index: 100;
}
.slide--left .slide__img-wrap, .slide--right .slide__img-wrap {
 opacity: 1;
 width: 25vw;
 pointer-events: auto;
 cursor: pointer;
}
@media (min-width:0em) and (max-width:46em) {
 .slide--left .slide__img-wrap, .slide--right .slide__img-wrap {
  position: relative;
  width: 15vw;
 }
 .slide--left .slide__img-wrap:before, .slide--right .slide__img-wrap:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(150, 93, 233, 1);
  background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
  opacity: 0.75;
  z-index: 1;
 }
 .slide--left .slide__img-wrap:after, .slide--right .slide__img-wrap:after {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #FFF;
  font-size: 1.5rem;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
 }
 .slide--left .slide__img-wrap:after {
  content: "ᐊ";
 }
 .slide--right .slide__img-wrap:after {
  content: "ᐅ";
 }
}
.slide--right .slide__img-wrap {
 margin-left: auto;
}
.slide__img {
 width: 100%;
 height: 100%;
 left: 0;
 top: 0;
 background-size: cover;
 background-position: 50% 50%;
 position: absolute;
 backface-visibility: hidden;
 pointer-events: none;
}
.slide__img-reveal {
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 background: #FFF;
 transform: translate3d(0, 100%, 0);
 pointer-events: none;
}
.slide__title-wrap, .slide__number {
 display: block;
 text-align: center;
 pointer-events: none;
}
@media (min-width:0em) and (max-width:46em) {
 .slide__title-wrap {
  margin-top: 3vh;
 }
}
.slide__number {
 padding: 1rem 0;
}
.slide__explore {
 margin: 2rem 0 0 0;
 cursor: pointer;
 background-color: #000;
 color: #FFF;
 text-decoration: none;
 text-transform: uppercase;
 font-weight: 600;
 padding: 0.5rem 1rem;
}
@media (min-width:0em) and (max-width:46em) {
 .slide__explore {
  padding: 1rem 1.5rem;
 }
}
.slide__explore:hover {
 color: #FFF;
}
@media screen and (min-width: 53em) {
 .slideshow {
  overflow: hidden;
  margin: 0;
  height: 100vh;
  display: grid;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  grid-template-columns: 10% 50% 10%;
  grid-column-gap: 15%;
  grid-template-rows: 100%;
  grid-template-areas: 'preview-left current-slide preview-right';
 }
 .slide {
  color: #FFF;
 }
 .slide::after, .slide--left:after {
  position: absolute;
  top: calc(50% - 33px);
  left: 50%;
  color: rgba(255, 255, 255, 1);
  font-size: 2.75rem;
  font-weight: normal;
  pointer-events: none;
  transform: translateX(-50%) translateY(-50%);
 }
 .slide--left:after {
  content: "ᐊ";
  top: calc(60% - 33px);
  transform: translateX(-50%) translateY(-50%);
 }
 .slide--right::after {
  content: "ᐅ";
 }
 .slide--current::after {
  display: none;
 }
 .slide--right {
  border-left: 1px solid rgba(0, 0, 0, 0.15);
  grid-area: preview-right;
 }
 .slide__img-wrap {
  height: 100%;
  position: absolute;
 }
 .slide__img {
  background-position: 50% 0%;
 }
 .slide--visible .slide__img-wrap, .slide--visible .slide__title, .slide--current.slide--visible .slide__side, .slide--current.slide--visible .slide__quote {
  opacity: 1;
 }
 .slide--visible .slide__img-wrap {
  pointer-events: auto;
 }
 .slide--current, .slide--left, .slide--right {
  position: relative;
  pointer-events: auto;
 }
 .slide--current {
  grid-area: current-slide;
 }
 .slide--left .slide__img-wrap, .slide--right .slide__img-wrap {
  height: 50%;
  width: 100%;
  top: 20%;
  position: relative;
 }
 .slide--left .slide__img-wrap {
  top: 30%;
 }
 .slide--left .slide__img-wrap::after, .slide--right .slide__img-wrap::after {
  content: "";
  background-color: rgba(150, 93, 233, 1);
  background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
 }
 .slide--left .slide__img-wrap:hover::after, .slide--right .slide__img-wrap:hover::after {
  content: "";
  background-color: rgba(150, 93, 233, 1);
  background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.25;
 }
 .slide--left {
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  grid-area: preview-left;
 }
 .slide__side {
  position: absolute;
  right: 0.25rem;
  font-weight: 500;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
 }
 .slide__category {
  font-size: 1.5rem;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  margin: 0;
  padding: 1.5rem 0;
  display: inline-block;
 }
 .slide__category::before {
  content: "\2022";
  font-size: 2.5rem;
  padding: 0 0 1.8rem;
 }
 .slide__number {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0.5rem 1rem;
  font-weight: 600;
  font-size: 2.5rem;
 }
 .slide__number::before {
  content: ".";
 }
 .slide--current .slide__title-wrap {
  position: absolute;
  bottom: 10%;
  right: 35%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  max-width: 400px;
  z-index: 999;
 }
 .slide--current .slide__title, .slide__subtitle {
  font-size: 2.5vw;
  margin: 0.15rem 0;
  padding: 0.15rem 1rem;
  font-weight: normal;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
 }
 .slide--current .slide__title {
  padding: 0.5rem 1rem 0.65rem;
 }
 .slide--current .slide__title .slide__box, .slide__subtitle .slide__box {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(150, 93, 233, 1);
  background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
 }
 .slide__title-inner, .slide__subtitle-inner {
  position: relative;
  display: inline-block;
 }
 .slide--left .slide__title, .slide--right .slide__title {
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  position: absolute;
  font-size: 1rem;
  right: 1rem;
  top: 80vh;
  text-align: right;
  color: #000;
  margin: 1rem 0 0;
  font-weight: normal;
  opacity: 0;
 }
 .slide--right .slide__title {
  left: 1rem;
  right: auto;
  top: 70vh;
 }
 .slide__subtitle {
  font-size: 1.8vw;
  line-height: 1.5;
 }
 .slide__quote {
  max-width: 25vw;
  text-align: right;
 }
}
/* Content */
.wrapper {
 position: relative;
 width: 100vw;
 background-color: #FFF;
 overflow: hidden;
 z-index: 1;
}
.wrapper:before, .wrapper:after {
 position: absolute;
 top: 0;
 bottom: 0;
 content: "";
 display: block;
 width: 1px;
 background-color: rgba(0, 0, 0, 0.15);
}
.wrapper:before {
 left: 25%;
}
.wrapper:after {
 left: 75%;
}
main {
 position: relative;
 z-index: 2;
}
.content {
 position: relative;
 max-width: 1440px;
 margin-left: auto;
 margin-right: auto;
 padding: 5vh 140px;
}
.content:first-of-type {
 padding-top: 10vh;
}
.content:last-of-type {
 padding-bottom: 10vh;
}
@media (min-width:0em) and (max-width:46em) {
 .content:first-of-type {
  padding-top: 0;
 }
}
.content-wide {
 position: relative;
 max-width: none;
 width: 100%;
 padding: 5vh 0;
}
.content.page {
 padding-top: 16vh;
}
@media (min-width:0em) and (max-width:46em) {
 .content {
  padding: 5vh 5vw;
 }
 .content.page {
  padding-top: 20vh;
 }
 .content-wide {
  width: auto;
 }
}
.content-text, .content-img {
 position: relative;
 padding: 5vh 5vw;
 background-color: rgba(255, 255, 255, 0.85);
 -webkit-backdrop-filter: blur(20px);
 backdrop-filter: blur(20px);
 z-index: 1;
}
@media (min-width:0em) and (max-width:46em) {
 .content-text {
  padding: 5vh 0;
 }
}
.content-text h3 span {
 text-transform: none;
}
.underline-left:before, .underline-right:before {
 position: absolute;
 bottom: -1rem;
 content: "";
 width: 50%;
 border-bottom: 1px solid #000;
}
.underline-left:before {
 left: -25%;
}
.underline-right:before {
 right: -25%;
}
/* Portefolio */
.portefolio-grid {
 position: relative;
 flex-wrap: wrap;
 justify-content: space-between;
 max-width: 1440px;
 margin: 2rem auto 5rem;
 z-index: 1;
}
.portefolio-breadcrumb {
 position: relative;
 display: grid;
 grid-template-columns: auto auto auto;
 text-align: center;
 width: 100%;
 padding: 0 5vw;
 background-color: rgba(255, 255, 255, 0.85);
 border-top: 1px solid rgba(158, 158, 158, 0.25);
 border-bottom: 1px solid rgba(158, 158, 158, 0.25);
 z-index: 1;
}
.portefolio-breadcrumb.sticky {
 position: fixed;
 top: 110px;
 left: 0;
 right: 0;
 background-color: #FFF;
 z-index: 2;
}
@media (min-width:0em) and (max-width:46em) {
 .portefolio-breadcrumb {
  display: flex;
 }
 .portefolio-breadcrumb li {
  display: grid;
  width: 100%;
 }
 .portefolio-breadcrumb.sticky {
  top: 80px;
 }
}
.portefolio-breadcrumb a, .portefolio-breadcrumb.nav-tabs .nav-link {
 position: relative;
 font-family: 'Poppins', sans-serif;
 font-size: clamp(1.2rem, 5vw, 1.2rem);
 font-weight: 600;
 text-transform: lowercase;
 text-decoration: none;
 color: rgba(0, 0, 0, 0.35);
 padding: 1.5rem 5vw;
}
@media (min-width:0em) and (max-width:46em) {
 .portefolio-breadcrumb a, .portefolio-breadcrumb.nav-tabs .nav-link {
  padding: 0.75rem 5vw;
 }
 .portefolio-breadcrumb li:first-child a, .portefolio-breadcrumb.nav-tabs li:first-child .nav-link {
  padding: 0.75rem 5vw 0.375rem;
 }
 .portefolio-breadcrumb li:last-child a, .portefolio-breadcrumb.nav-tabs li:last-child .nav-link {
  padding: 0.375rem 5vw 0.75rem;
 }
}
.portefolio-breadcrumb.nav-tabs .nav-link:focus, .portefolio-breadcrumb.nav-tabs .nav-link:hover {
 color: rgba(0, 0, 0, 0.75);
 border-color: transparent;
}
.portefolio-breadcrumb .active, .portefolio-breadcrumb.nav-tabs .nav-link.active {
 color: rgba(150, 93, 233, 1);
 background-color: transparent;
 border-color: transparent;
}
.portefolio-breadcrumb .active:before, .portefolio-breadcrumb.nav-tabs .nav-link.active:before {
 position: absolute;
 left: 0;
 bottom: -1.5px;
 content: "";
 width: 100%;
 height: 3px;
 background-color: rgba(150, 93, 233, 1);
}
@media (min-width:0em) and (max-width:46em) {
 .portefolio-breadcrumb .active:before, .portefolio-breadcrumb.nav-tabs .nav-link.active:before {
  display: none;
 }
}
.portefolio-intro {
 position: relative;
 padding: 5vh 1rem 0;
}
.portefolio-card-30, .portefolio-card-40, .portefolio-card-60 {
 min-height: 450px;
 padding: 1rem;
 transition: width 0.5s ease-in-out;
}
.portefolio-card-30 {
 width: 33.3333%;
}
.portefolio-card-40 {
 width: 40%;
}
.portefolio-card-60 {
 width: 60%;
}
.portefolio-card-100 {
 width: 100%;
 min-height: 450px;
 padding: 1rem;
}
@media (min-width:0em) and (max-width:46em) {
 .portefolio-card-30, .portefolio-card-40, .portefolio-card-60, .portefolio-card-100 {
  width: 100%;
  max-height: 450px;
  padding: 0;
 }
 .portefolio-card-100 {
  width: 100%;
  min-height: 242px;
  max-height: 242px;
 }
}
.portefolio-item {
 position: relative;
 display: block;
 height: 420px;
 margin: 1rem;
 background-color: #000;
 background-image: url(../img/logos/logo_stroke_white.svg);
 background-position: center;
 background-repeat: no-repeat;
 background-size: auto 50%;
 overflow: hidden;
}
.portefolio-item figure {
 position: relative;
 display: block;
 width: 100%;
 height: 100%;
 margin-bottom: 0;
}
.portefolio-item figure figcaption {
 position: absolute;
 bottom: 1.5rem;
 right: calc(3rem - -70px);
 text-align: right;
 height: 70px;
 padding: 0.25rem 1rem;
 background-color: rgba(150, 93, 233, 1);
 z-index: 1;
}
.portefolio-item figure figcaption span {
 position: relative;
 font-family: 'Poppins', sans-serif;
 color: #FFF;
 z-index: 1;
}
.portefolio-item figure figcaption span > span {
 display: block;
 font-family: 'Archivo', sans-serif;
 font-size: 0.9rem;
}
.portefolio-item figure figcaption:before {
 position: absolute;
 top: 0;
 left: 0;
 content: "";
 width: 100%;
 height: 100%;
 background-color: rgba(150, 93, 233, 1);
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
 opacity: 0;
 z-index: 1;
}
.portefolio-item:hover figure figcaption:before {
 background-color: rgba(150, 93, 233, 1);
 background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
 opacity: 1;
}
.portefolio-item figure img {
 position: absolute;
 top: 0;
 left: 50%;
 width: 800px;
 height: auto;
 transform: translateX(-50%) translate3d(0, 0, 0);
 -webkit-filter: brightness(1) grayscale(1);
 -moz-filter: brightness(1) grayscale(1);
 filter: brightness(1) grayscale(1);
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
}
.portefolio-item:hover figure img {
 filter: brightness(1) grayscale(0);
 -webkit-filter: brightness(1) grayscale(0)
}
@media (min-width:0em) and (max-width:46em) {
 .portefolio-item figure img {
  filter: brightness(1) grayscale(0);
  -webkit-filter: brightness(1) grayscale(0)
 }
}
.portefolio-item .button-borders .button__line {
 background-color: #FFF;
}
.portefolio-item:hover .button-borders .button__line {
 background-color: rgba(255, 255, 255, 1);
 opacity: 1;
}
.portefolio-item:hover .button-borders .wide__line {
 width: 100%;
}
.portefolio-item:hover .button-borders .tall__line {
 height: 100%;
}
.portefolio-item:hover .button-borders .line__animation {
 transition: all 0.55s ease;
}
.portefolio-item:hover .button-borders .button__text {
 color: rgba(255, 255, 255, 1);
}
.portefolio-item .button-borders .button__text {
 color: #FFF;
}
/* Footer */
.footer {
 position: relative;
 border-top: 1px solid rgba(158, 158, 158, 0.25);
 z-index: 2;
}
.footer:before {
 position: absolute;
 top: -1px;
 left: 16.6666%;
 content: "";
 width: 66.664%;
 height: 3px;
 background-color: rgba(150, 93, 233, 1);
 background-image: linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
}
.footer .col-33 {
 padding: 10vh 2vw;
}
@media (min-width:0em) and (max-width:46em) {
 .footer .col-33 {
  padding: 2vh 10vw;
 }
}
.footer .col-33:first-of-type {
 text-align: left;
 padding-left: 140px;
}
@media (min-width:0em) and (max-width:46em) {
 .footer .col-33:first-of-type {
  padding-top: 10vh;
  padding-left: 10vw;
 }
}
.footer-contacts ul {
 padding-left: 0;
}
.footer-credits {
 text-align: center;
 width: 100%;
 padding-top: 2.5rem;
 margin-bottom: 2.5rem;
 border-top: 1px solid rgba(158, 158, 158, 0.25);
}
.footer-credits p {
 margin-bottom: 0;
}
.footer-credits p:last-of-type {
 margin-bottom: inherit;
}
@media (min-width:0em) and (max-width:46em) {
 .footer-credits span {
  display: block;
 }
}
/* Headings */
.heading-title {
 position: relative;
 font-size: 3rem;
 margin-bottom: 2rem;
}
@media (min-width:0em) and (max-width:46em) {
 .heading-title {
  font-size: 2.25rem;
 }
}
.heading-title span {
 text-transform: uppercase;
 color: rgba(150, 93, 233, 1);
 background-color: rgba(150, 93, 233, 1);
 background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}
.heading-title:before {
 position: absolute;
 top: -3vh;
 right: -3vw;
 content: "";
 width: 50px;
 height: 50px;
 background: transparent;
 border-top: 1px solid rgba(0, 0, 0, 1);
 border-right: 1px solid rgba(0, 0, 0, 1);
}
@media (min-width:0em) and (max-width:46em) {
 .heading-title:before {
  top: -3vh;
  right: 8vw;
 }
}
.heading-title-divider {
 position: relative;
 font-size: 3rem;
 text-align: center;
 margin-bottom: 5rem;
 width: 100%;
 text-transform: uppercase;
 color: rgba(150, 93, 233, 1);
 background-color: rgba(150, 93, 233, 1);
 background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}
@media (min-width:0em) and (max-width:46em) {
 .heading-title-divider {
  font-size: 2.25rem;
  margin-bottom: 2rem;
 }
}
.heading-title-divider:before {
 position: absolute;
 top: 50%;
 left: 0;
 content: "";
 width: 1000%;
 height: 1px;
 background-image: linear-gradient(90deg, #FFF 25%, rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0.25) 50%, #FFF 50%, #FFF 75%, rgba(0, 0, 0, 0.25) 75%, rgba(0, 0, 0, 0.25) 100%);
 background-size: 40px 40px;
 transform: translateX(-50%) translateY(-50%);
}
.heading-page {
 position: relative;
 margin-top: 15vh;
 margin-left: 140px;
 margin-bottom: 5rem;
 font-size: 7vw;
 text-align: left;
 background: #FFF;
 -webkit-text-stroke: 1px rgba(0, 0, 0, 0.15);
}
.heading-page small {
 position: absolute;
 top: 10vh;
 left: 50%;
 font-size: 2.5rem;
 background: none;
 color: rgba(160, 160, 160, 1);
 width: 75%;
 text-transform: none;
 transform: translateX(-50%);
 -webkit-text-fill-color: currentcolor;
 -webkit-text-stroke: 0;
}
/* Buttons: https://codepen.io/khlopchyna/pen/zzrEOw */
.button-borders {
 position: relative;
 display: flex;
 text-decoration: none;
 letter-spacing: 0.05em;
 align-items: center;
 justify-content: center;
 height: 70px;
 width: fit-content;
 min-width: 225px;
 background-color: rgba(255, 255, 255, 0.85);
 -webkit-backdrop-filter: blur(20px);
 backdrop-filter: blur(20px);
 border: 0;
 padding-left: 2vw;
 padding-right: 2vw;
 transition: all 0.55s ease;
}
.button-borders:hover {
 cursor: pointer;
 transition: all 0.55s ease;
}
.button-borders:hover .button__line {
 background-color: rgba(150, 93, 233, 1);
 opacity: 1;
}
.button-borders:hover .wide__line {
 width: 100%;
}
.button-borders:hover .tall__line {
 height: 100%;
}
.button-borders:hover .line__animation {
 transition: all 0.55s ease;
}
.button-borders:hover .button__text {
 color: rgba(150, 93, 233, 1);
}
.button-borders:focus {
 outline: none;
}
@media (min-width:0em) and (max-width:46em) {
 .button-borders.button-details {
  display: none;
 }
}
.button__text {
 font-family: 'Poppins', sans-serif;
 text-transform: uppercase;
 letter-spacing: 0.2rem;
 transition: all 0.55s ease;
 color: #000;
}
.button__line {
 position: absolute;
 background-color: #000;
 opacity: 1;
}
.wide__line {
 width: 60%;
 height: 1px;
}
.tall__line {
 width: 1px;
 height: 60%;
}
.top__line {
 top: 0;
 right: 0;
}
.bottom__line {
 bottom: 0;
 left: 0;
}
.left__line {
 bottom: 0;
 left: 0;
}
.right__line {
 top: 0;
 right: 0;
}
.line__animation {
 transition: all 0.55s ease;
}
.portefolio-item .button-borders {
 position: absolute;
 bottom: 1.5rem;
 right: 1.5rem;
 max-width: 70px;
 min-width: 70px;
 background-color: transparent;
 -webkit-backdrop-filter: blur(0);
 backdrop-filter: blur(0);
}
/* Custom cursor with blend mode: https://codepen.io/Hugo-T/pen/JjPmybp */
.cursor {
 pointer-events: none;
}
@media (min-width:0em) and (max-width:46em) {
 body {
  cursor: default;
 }
 .cursor {
  display: none;
 }
}
.cursor__ball {
 position: fixed;
 top: 0;
 left: 0;
 mix-blend-mode: difference;
 z-index: 9999;
}
.cursor-circle__inner {
 fill: #FFF;
}
.no-blend .cursor__ball {
 mix-blend-mode: normal;
 opacity: 0.25;
}
.no-blend .cursor-circle__inner {
 transition: fill 0.35s ease;
}
.no-blend .app--white .cursor-circle__inner {
 fill: #000;
}
.no-blend .app--black .cursor-circle__inner {
 fill: #FFF;
}
.js-cursor__big {
 width: 25px;
 height: 25px;
 background: #FFF;
 -webkit-border-radius: 50%;
 -moz-border-radius: 50%;
 border-radius: 50%;
}
.js-cursor__small {
 width: 17px;
 height: 17px;
 background: #FFF;
 -webkit-border-radius: 50%;
 -moz-border-radius: 50%;
 border-radius: 50%;
}
/* Background circle */
.circle-bg:before {
 position: absolute;
 top: 100vh;
 left: 50%;
 content: "";
 width: 100%;
 border: 1px solid rgba(0, 0, 0, 0.15);
 border-radius: 50%;
 padding-bottom: 100%;
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .circle-bg {
  top: 30%;
 }
 .circle-bg:before {
  border: 1px solid rgba(0, 0, 0, 0.1);
 }
}
/* Content circles */
.circle-align-left, .circle-align-right {
 position: relative;
 background-color: #000;
 width: 50%;
 border-radius: 50%;
 margin: 1rem auto;
 padding-bottom: 50%;
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
}
.circle-align-left:before {
 position: absolute;
 top: calc(-5% - 1px);
 left: calc(-5% - 1px);
 content: "";
 width: 110%;
 border: 1px solid rgba(0, 0, 0, 0);
 border-left-color: rgba(150, 93, 233, 0);
 border-top-color: rgba(150, 93, 233, 0);
 transform: rotateZ(-45deg);
 border-radius: 50%;
 margin: 0 auto;
 padding-bottom: 110%;
 overflow: hidden;
 z-index: 0;
}
.circle-align-right:before {
 position: absolute;
 top: calc(-5% - 1px);
 left: calc(-5% - 1px);
 content: "";
 width: 110%;
 border: 1px solid rgba(0, 0, 0, 0);
 border-right-color: rgba(150, 93, 233, 0);
 border-top-color: rgba(150, 93, 233, 0);
 transform: rotateZ(45deg);
 border-radius: 50%;
 margin: 0 auto;
 padding-bottom: 110%;
 overflow: hidden;
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .circle-align-left:after, .circle-align-right:after {
  position: absolute;
  left: 50%;
  bottom: -58px;
  content: "";
  width: 1px;
  height: 50px;
  transform: translateX(-50%);
  z-index: 0;
 }
}
/* Content squares */
.square-align-left, .square-align-right {
 position: relative;
 background-color: #FFF;
 width: 50%;
 margin: 1rem auto;
 padding-bottom: 50%;
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;
}
.square-align-left:before {
 position: absolute;
 top: calc(-5% - 1px);
 left: calc(-5% - 1px);
 content: "";
 width: 110%;
 border: 1px solid rgba(0, 0, 0, 0);
 border-left-color: rgba(150, 93, 233, 0);
 border-top-color: rgba(150, 93, 233, 0);
 transform: rotateZ(-45deg);
 margin: 0 auto;
 padding-bottom: 110%;
 overflow: hidden;
 z-index: 0;
}
.square-align-right:before {
 position: absolute;
 top: calc(-5% - 1px);
 left: calc(-5% - 1px);
 content: "";
 width: 110%;
 border: 1px solid rgba(0, 0, 0, 0);
 border-right-color: rgba(150, 93, 233, 0);
 border-top-color: rgba(150, 93, 233, 0);
 transform: rotateZ(45deg);
 margin: 0 auto;
 padding-bottom: 110%;
 overflow: hidden;
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .square-align-left:after, .square-align-right:after {
  position: absolute;
  left: 50%;
  bottom: -58px;
  content: "";
  width: 1px;
  height: 50px;
  transform: translateX(-50%);
  z-index: 0;
 }
}
/* Modals */
.modal-fullscreen .modal-body {
 overflow-x: hidden;
}
.modal-dialog:before {}
.modal-content:before, .modal-content:after {
 position: absolute;
 top: 0;
 bottom: 0;
 content: "";
 display: block;
 width: 1px;
 background-color: rgba(0, 0, 0, 0.15);
}
.modal-content:before {
 left: 25%;
}
.modal-content:after {
 left: 75%;
}
.modal.circle-bg {}
.modal-header .navbar-brand {
 max-width: 215px;
 margin-right: 1.5rem;
 padding: 1rem;
 background-color: transparent;
}
.modal-header {
 position: relative;
 padding: 0 1rem;
 background-color: rgba(255, 255, 255, 0.85);
 border-bottom: 1px solid rgba(158, 158, 158, 0.25);
}
.modal-header .button-borders.close, .modal-body .button-borders.close {
 top: 6vh;
 right: 1rem;
 min-width: 70px;
 max-width: 70px;
 margin-right: 1rem;
 padding-left: 1.5vw;
 padding-right: 1.5vw;
 z-index: 9;
}
.modal-header .button-borders.close {
 position: absolute;
}
.modal-body .button-borders.close {
 position: fixed;
}
.modal-header .button-borders.close .menu-button, .modal-body .button-borders.close .menu-button {
 top: 50%;
 left: 50%;
 transform: translateX(-50%) translateY(-50%);
}
.modal-header .button-borders .menu-button.active span, .modal-body .button-borders .menu-button.active span {
 background-color: #000;
}
.modal-header .button-borders:hover .menu-button.active span, .modal-body .button-borders:hover .menu-button.active span {
 background-color: rgba(150, 93, 233, 1);
}
@media (min-width:0em) and (max-width:46em) {
 .modal-header .button-borders.close, .modal-body .button-borders.close {
  top: 2vh;
  right: 0;
  background-color: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
 }
 .modal-header .button-borders.close .button__line, .modal-body .button-borders.close .button__line {
  background-color: #FFF;
 }
 .modal-header .button-borders.close .menu-button.active span, .modal-body .button-borders.close .menu-button.active span {
  background-color: #FFF;
 }
 .modal-header .button-borders.close:hover .menu-button.active span, .modal-body .button-borders.close:hover .menu-button.active span {
  background-color: #FFF;
 }
}
.modal-body > .row {
 height: 100%;
}
@media (min-width:0em) and (max-width:46em) {
 .modal-body > .row {
  height: auto;
 }
}
.modal-body-heading-image {
 position: relative;
 height: 100%;
 overflow: hidden;
}
.modal-body-heading-image img {
 position: absolute;
 top: 0;
 left: 50%;
 width: auto;
 height: 100%;
 transform: translateX(-50%) translate3d(0, 0, 0);
}
@media (min-width:0em) and (max-width:46em) {
 .modal-body-heading-image img {
  position: relative;
  width: 100%;
  height: 100%;
 }
}
.modal-body-heading-logo {
 position: absolute;
 top: 5vh;
 left: 5vw;
 width: 150px;
 height: 150px;
 z-index: 1;
}
@media (min-width:0em) and (max-width:46em) {
 .modal-body-heading-logo {
  top: 2vh;
  left: 1rem;
  right: auto;
 }
}
.modal-body-heading-logo img {
 width: 100%;
 height: auto;
}
.modal-body-heading-text {
 padding: 5vh 5vw;
}
.modal-body-heading-text p {
 max-width: 640px;
}
.modal-body-heading-title {
 font-size: 3vw;
 line-height: 1;
 margin: 0.15rem 0 1rem;
}
.modal-body-heading-subtitle {
 font-size: 2vw;
 line-height: 1.2;
 margin-top: 2vh;
 margin-bottom: 5vh;
}
@media (min-width:0em) and (max-width:46em) {
 .modal-body-heading-title {
  font-size: 8vw;
 }
 .modal-body-heading-subtitle {
  font-size: 3vw;
 }
}
.modal-title {
 position: relative;
 font-family: 'Poppins', sans-serif;
 font-size: 1.75rem;
 font-weight: 600;
 color: rgba(150, 93, 233, 1);
}
.modal-body {
 padding: 0;
}
.modal-body-img, .modal-body-text {
 margin-left: auto;
 padding: 5vw 5vh;
}
.modal-body-img img {
 max-width: 520px;
 margin-left: auto;
 margin-right: auto;
}
.modal-body-text {
 max-width: 720px;
 margin-left: auto;
 margin-right: auto;
}
.drop-cap::first-letter {
 position: relative;
 float: left;
 font-family: 'Helvetica', 'Arial', sans-serif;
 font-weight: 600;
 font-size: 5em;
 line-height: 0.91;
 margin-right: 0.1em;
 /*-webkit-initial-letter: 3;
 initial-letter: 3;
 margin-right: .5rem;
 padding-top: 5px;*/
 color: rgba(150, 93, 233, 1);
 background-color: rgba(150, 93, 233, 1);
 background: -webkit-linear-gradient(45deg, rgba(150, 93, 233, 1) 10.8%, rgba(99, 88, 238, 1) 94.3%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}
.modal-body .portefolio-item {
 min-height: 420px;
 height: auto;
}
.modal-body .portefolio-item figure {
 position: relative;
 display: block;
 width: 100%;
 height: 100%;
 margin-bottom: 0;
}
.modal-body .portefolio-item figure img {
 position: absolute;
 top: 0;
 left: 50%;
 width: 800px;
 height: auto;
 transform: translateX(-50%) translate3d(0, 0, 0);
 -webkit-filter: unset;
 -moz-filter: unset;
 filter: unset;
}
.modal-body .portefolio-card-100 .portefolio-item {
 min-height: 675px;
}
@media (min-width:0em) and (max-width:46em) {
 .modal-body .portefolio-card-100 .portefolio-item {
  min-height: 210px;
 }
}
.modal-body .portefolio-card-30, .modal-body .portefolio-card-40, .modal-body .portefolio-card-60, .modal-body .portefolio-card-100 {
 padding: 1.5rem;
}
.modal-body .portefolio-card-100 .portefolio-item figure img {
 width: 100%;
 height: auto;
}
.modal-footer {
 border-top: 1px solid rgba(158, 158, 158, 0.25);
 justify-content: center;
}
/* Custom carousel  */
.carousel.carousel-in-content.slide {
 position: relative;
 top: inherit;
 pointer-events: inherit;
}
.carousel.carousel-in-content .carousel-control-prev-icon {
 background-image: none;
 color: rgba(150, 93, 233, 1);
 font-size: 3rem;
 line-height: 1;
}
.carousel.carousel-in-content .carousel-control-next-icon {
 background-image: none;
 color: rgba(150, 93, 233, 1);
 font-size: 3rem;
 line-height: 1;
}
.carousel.carousel-in-content .carousel-caption {
 color: #000;
}