:root {
  --main-color-grey: #21201a;
  ;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  border: none;
  list-style: none;
  -webkit-font-smoothing: antialiased;
}

html {
  font-family: "Work Sans", sans-serif;
  /* border: black; */
}

body {
  color: #21201a;
  /* overflow-x: hidden; */
}

section {
  width: 100vw;
  max-width: 1450px;
  margin: auto;
  overflow-y: hidden;
}

#section-intro {
  /* height: 89vh; */
}

@media only screen and (min-width: 960px) {
  #section-intro {
    /* height: 100vh; */
  }
}

#section-info {
  /* width: calc(100vw - 20px); */
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 960px) {
  #section-info {
    /* padding-top: 3rem; */
  }
}

#section-outro {
  /* padding-bottom: 6rem; */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.info-block {
  display: flex;
  /* align-items: center; */
  flex-direction: column;
  /* justify-content: center; */
  margin: auto;
  height: 100%;
  /* justify-content: left !important; */
}

.contact {
  /* font-size: smaller; */
  font-size: 0.6em;
  /* font-weight: 300; */
  text-align: center;
  padding-top: 100px;
  padding-bottom: 20px;
  color: var(--main-color-grey);
  font-family: "Work Sans", sans-serif;
}

h1 {
  /* text-transform: uppercase; */
  /* font-size: 4vw; */
  /* font-size: calc(min(5.5rem,60px)); */
  /* font-size: 5.4rem; */
  /* font-size: 1rem; */
  font-weight: 700;
  transform: scale(1, 1.08);
  /* font-kerning: auto; */
  line-height: 120%;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  color: #b4b2a6;
  color: #21201a;

  font-size: 3.5rem;
  letter-spacing: 0.5rem;
}

@media only screen and (min-width: 960px) {
  h1 {
    font-size: 6rem;
    letter-spacing: 0.9rem;
  }
}

h2 {
  text-transform: uppercase;
  /* font-size: 4vw; */
  /* font-size: calc(min(5.5rem,60px)); */
  font-size: 4rem;

  font-weight: 600;
  letter-spacing: 0.2rem;
  transform: scale(1, 1.08);
  /* font-kerning: auto; */
  line-height: 100%;
  padding-top: 5rem;
  padding-bottom: 4rem;
  color: #b4b2a6;
  color: #21201a;
  text-align: center;
}

.name {
  font-size: 4rem;
  letter-spacing: 0.1rem;
}

/* @media only screen and (min-width: 960px) {
    h1 {
        font-size: 4rem;
        padding-top: 6rem;
        padding-bottom: 4rem;
        letter-spacing: 1rem;

    }
} */

h5 {
  /* font-size: 2.5rem;
  font-weight: 600;
  color: #9d9d9d;
  text-transform: uppercase;
  padding-bottom: 3rem; */
  position: absolute;
  color: #f5ebd9;
  color: white;

  position: absolute;
  z-index: 100;

  /* left: 50%; */
  left: 15px;
  bottom: 50%;
  transform: translateY(50%);
  /* opacity: 0%; */
  text-transform: uppercase;
  font-size: 0.6em;
  font-weight: 500;
  /* padding: 0.2vw; */
  /* padding-left: 0.6vw;
    padding-right: 0.6vw; */
  display: inline;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* color: #fedd54; */

  color: #f5ebd9;
  color: white;
}


.role {
  display: flex;
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg) translateY(-50%);
  font-size: 0.5em !important;
  font-weight: 400 !important;
  position: absolute;
  bottom: 50% !important;
  left: -11px !important;
  height: 40%;
  padding: 10px; /* Consolidated padding */
  padding-left: 6px;
  border-radius: 10px;
  background-color: white;
  color: rgb(109, 108, 108);
  white-space: nowrap;
}


@media only screen and (min-width: 960px) {
  .role {display: none !important;}
}

h5 span {
  color: white;
  font-weight: 600;

}

.theme-dark {
  background-color: #040404;
}

@media only screen and (min-width: 960px) {
  .name {
    font-size: 6rem;
    letter-spacing: 0.15rem;
  }
}

h2 span {
  margin-left: 1.3rem;
}

.image-cropper {
  max-width: 100px;
  height: auto;
  position: relative;
  overflow: hidden;
  padding-top: 2em;
  padding-bottom: 2em;
}

.image-cropper img {
  display: block;
  margin: 0 auto;
  height: auto;
  width: 100%;

  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
}

p {
  /*font-family: 'PT Sans Narrow', sans-serif;*/
  /*font-family: "IBM Plex Serif", serif;*/
  font-family: "Playfair Display", system-ui;
  font-size: 1.2em;

  font-kerning: initial;
  /* font-family: "Libre Franklin", sans-serif; */
  font-weight: 400;
  color: #21201a;
  padding-bottom: 1em;
  line-height: 200%;
}

@media only screen and (min-width: 960px) {
  p {
    font-size: 1.8em;
    padding-bottom: 0.7em;
  }



  p span {
    color: #21201a;
    color: #0a0908;
    font-weight: 600;
  }

  p strong {
    /* font-weight: 600; */
    font-weight: 700;
    /* text-decoration: underline; */
    /* text-transform: uppercase; */
    /* text-decoration: underline; */
  }
}

a:link {
  text-decoration: none;
  color: rgb(12, 91, 209);
}

a:visited {
  color: rgb(192, 196, 202);
}

a:hover {
  color: rgb(241, 139, 23);
  text-decoration: underline;
}

a:active {
  color: red;
}

.center {
  text-align: center;
}


.uppercase {
  text-transform: uppercase;
}

.video_loop {
  width: 100%;
  height: 100%;
  z-index: -10;
  margin-left: auto;
  margin-right: auto;
  display: block;
  object-fit: cover;
  overflow: hidden;

  filter: brightness(100%);
}

@media (max-width: 960px) {
  .video_loop {
    transform: scale(1.005);
  }
}

.intro-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.reel-wrapper {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: auto;
  margin: 0;
  background-color: #e9ebf1;
  box-sizing: border-box;
  transition: 500ms;
  margin-left: 5px;
  margin-right: 5px;

  /* border-radius: 30px; */
}

.reel-wrapper:hover .vignette {
  filter: opacity(0);
  transition: 500ms;
}

.reel-wrapper:hover .reel-overlay {
  filter: opacity(0);
  /* transform: scale(1.1); */
  transition: 500ms;
}

.reel-wrapper::before .reel-overlay {
  transition: 500ms;
}

@media only screen and (min-width: 960px) {
  .reel-wrapper {
    margin: 0;
    /* padding-bottom: 20px; */
    /* margin-top: 10px; */
    /* margin-top: 46px;
        margin-left: 46px;
        margin-right: 46px;         */
    /* margin-bottom: 6em; */

  }
}

.reel-wrapper video {
  object-fit: cover;
  min-height: calc(min(816px, 60vh));
  transition: 500ms;
}

.reel-wrapper:hover video {
  transition: 500ms;
  transform: scale(1.02);
}

.reel-wrapper:hover video {}

.reel-overlay-wrapper {
  opacity: 100%;
}

.reel-overlay {
  width: calc(100% - max(100vh, 100vw)/15);
  height: calc(100% - max(100vh, 100vw)/15);

  z-index: 100;
  position: absolute;
  /* top: 5%;
  left: 5%; */
  right: 50%;
  bottom: 50%;
  -webkit-transform: translate(50%, 50%);
  margin: auto;

  border-style: solid;
  border-color:white;

  transition: 500ms;


  --s: 40px; /* the size on the corner */
  --t: 0.08em;  /* the thickness of the border */
    
  border-width: var(--t);
  border-radius: 0;

  /* border-width: var(--t); */

  /* mask:
  conic-gradient(at var(--s) var(--s),#0000 75%,#000 0)
  0 0/calc(100% - var(--s)) calc(100% - var(--s)),
  linear-gradient(#000 0 0) content-box; */
  
  

}

.hline {
  position: inherit;
  width: 12px;
  height: 2px;
  background-color:white;
}

.vline {
  position: inherit;
  width: 2px;
  height: 7px;
  background-color:white;
}

.overlay-left {
  left: 0;
  top: 50%;
  transform: translateX(-1px);
}

.overlay-right {
  right: 0;
  top: 50%;
  transform: translateX(1px);
}

.overlay-top {
  right: 50%;
  top: 0;
  transform: translateX(1px);
}

.overlay-bottom {
  right: 50%;
  bottom: 0;
  transform: translateX(1px);
}



.cross-center {
  position: inherit;
  right: 50%;
  bottom: 50%;
  -webkit-transform: translate(50%, 50%);
  color:white;
  font-weight: 300;
  font-size: 1.5rem;
}

.vignette {
  position: absolute;
  width: 100%;
  height: 100%;

  top: 0;
  left: 0;
  margin: auto;
  background: radial-gradient(circle, transparent 50%, black 150%);
  z-index: 90;
  transition: 500ms;
}

@media only screen and (min-width: 960px) {
  .vignette {
    display: none;
  }
}

.video_wrapper {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer;
  margin: 0;
  height: 100%;
  box-sizing: border-box;
  border-radius: 20px;
  background-color: #e9ebf1;
}


.video_wrapper h3 {
  color: #f5ebd9;
  color: white;

  position: absolute;
  z-index: 100;

  /* left: 50%; */
  right: 20px;
  bottom: 5px;
  /* transform: translate(-50%, -50%); */
  /* opacity: 0%; */
  text-transform: uppercase;

  font-size: 0.6em;
  font-weight: 500;
  /* padding: 0.2vw; */
  /* padding-left: 0.6vw;
    padding-right: 0.6vw; */
  display: inline;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* color: #fedd54; */
}

.role {}

.video_wrapper .video_info {
  width: 90%;
  position: absolute;
  z-index: 90;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.video_wrapper h4 {
  text-transform: uppercase;
  color: #eee5d5;
  font-size: 0.8em;
  font-weight: 500;
  text-align: center;

  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  line-height: 90%;
}

.video_wrapper h4 span {
  text-transform: uppercase;
  color: #eee5d5;
  font-size: 0.7em;
  font-weight: 300;
  text-align: center;
}

.dark {
  background-color: #191b1e;
}

.video_wrapper .info-myrole {
  font-size: 0.6em;
  font-weight: 300;
  padding-top: 1em;
  color: #eee5d5;
}

.video_wrapper .info-title {
  font-size: 1.2em;
  font-weight: 700;
  padding-bottom: 1.2em;
}

.video_wrapper .info-title h4 span {
  font-weight: 700;
}

.video_wrapper h3 span {
  color: #928d81;
}

@media (hover: hover) {
  .video_wrapper:hover video {
    opacity: 100%;
    filter: brightness(70%) grayscale(100%) sepia(50%);
    transform: scale(120%);
    transition-duration: 0.2s;
  }

  .video_wrapper:hover h3 {
    opacity: 20%;
    transition-duration: 0.5s;
    bottom: -20px;
  }

  .video_wrapper:hover .video_info {
    display: block;
    opacity: 100%;
    transition-duration: 1s;
  }
}

.video_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  /* background-color: #fdfdfd; */
}
@media (max-width: 959px) {
  .video_wrapper {
    margin-left: 5px;
    margin-right: 5px;
  }
  .video_grid {
    gap: 5px;
  }
}
@media only screen and (min-width: 960px) {
  .video_grid {
    display: grid;
    grid-template-columns: repeat(18, 1fr);
    grid-auto-flow: row;
    grid-auto-rows: 94.5px;
    gap: 10px;
  }

  .video_grid .video_wrapper:nth-child(10n + 1) {
    grid-column-start: 1;
    grid-column-end: 13;
    grid-row: span 4;
  }

  .video_grid .video_wrapper:nth-child(10n + 2) {
    grid-column-start: 13;
    grid-column-end: 19;
    grid-row: span 2;
  }

  .video_grid .video_wrapper:nth-child(10n + 3) {
    grid-column-start: 13;
    grid-column-end: 19;
    grid-row: span 2;
  }

  .video_grid .video_wrapper:nth-child(10n + 4) {
    grid-column-start: 1;
    grid-column-end: 10;
    grid-row: span 3;
  }

  .video_grid .video_wrapper:nth-child(10n + 5) {
    grid-column-start: 10;
    grid-column-end: 19;
    grid-row: span 3;
  }

  .video_grid .video_wrapper:nth-child(10n + 6) {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row: span 2;
  }

  .video_grid .video_wrapper:nth-child(10n + 7) {
    grid-column-start: 7;
    grid-column-end: 19;
    grid-row: span 4;
  }

  .video_grid .video_wrapper:nth-child(10n + 8) {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row: span 2;
  }

  .video_grid .video_wrapper:nth-child(10n + 9) {
    grid-column-start: 1;
    grid-column-end: 10;
    grid-row: span 3;
  }

  .video_grid .video_wrapper:nth-child(10n + 10) {
    grid-column-start: 10;
    grid-column-end: 19;
    grid-row: span 3;
  }
}

iframe {
  display: block;
  margin: -1px;
}

.vimeo_wrapper {
  background-color: black;
  position: relative;
  /* height: 100vh; */
  height: 100%;
  min-height: 100vh;
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto;
  overflow-x: hidden;
}

.close-btn {
  font-size: 60px;
  font-weight: 100;
  color: white;
  text-decoration: none;
  position: fixed;
  right: 1rem;
  top: 1rem;
  z-index: 1000;
  transition: 100ms;
}

.close-btn:hover {
  opacity: 80%;
  transition: 300ms;
  transform: scale(80%) rotate(-90deg);
}

.close-btn:active {
  opacity: 50%;
  transform: scale(60%) rotate(-90deg);
}

iframe {
  width: 100vw;
  height: 56vw;
  max-width: 1280px;
  max-height: 720px;
}

.text-block {
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (min-width: 960px) {
  .text-block {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.work {
  font-size: 5.5em;
  padding-bottom: 0.5em;
  padding-top: 1.2em;
}

@media only screen and (min-width: 960px) {
  .work {
    font-size: 8em;
    padding-bottom: 0.5em;
    padding-top: 1.2em;
  }
}

.under-work {
  font-size: 0.8em;
  font-weight: 200;
  padding-top: 0.6em;
  text-align: center;
  padding-bottom: 3em;
}

@media only screen and (min-width: 960px) {
  .under-work {
    font-size: 1em;
    font-weight: 200;
    padding-top: 0.6em;
    text-align: center;
    padding-bottom: 3em;
  }
}


/* common styles !!! YOU DON'T NEED THEM */

.effect {
  width: 100%;
}

.effect .buttons {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}

/* styles for a common effect !!!YOU NEED THEM */
.effect {
  /*display: flex; !!!uncomment this line !!!*/
}

.effect a {
  text-decoration: none !important;
  width: 49px;
  height: 49px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 20px;
  font-size: 25px;
  overflow: hidden;
  position: relative;
  color: var(--main-color-grey);
  border: 2px solid var(--main-color-grey);
}

.effect a i {
  position: relative;
  z-index: 3;
}

.effect a:last-child {
  margin-right: 0px;
}

.effect a:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.effect a i {
  display: inline-block;
  vertical-align: middle;
}

/* lavinia effect */
.effect.lavinia a {
  transition: border-top-color 0.2s linear 0s,
    border-right-color 0.2s linear 0.1s, border-bottom-color 0.2s linear 0.2s,
    border-left-color 0.2s linear 0.3s;
  overflow: visible;
}

.effect.lavinia a:hover {
  border-color: white;
}

.effect.lavinia a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: -2px;
  left: -2px;
  border: 2px dashed var(--main-color-grey);
  position: absolute;
  border-radius: 50%;
}

.container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6em;
  padding-top: 2em;
}

.arrow {
  box-sizing: border-box;
  height: 15px;
  width: 15px;
  border-style: solid;
  border-color: #21201a;
  border-width: 0px 1px 1px 0px;
  transform: rotate(45deg);
  transition: border-width 150ms ease-in-out;
  opacity: 50%;
  padding-bottom: 10px;
}

.arrow:hover {
  border-bottom-width: 4px;
  border-right-width: 4px;
}