html,
body {
  border: none;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
div,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
  border: none;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-align: inherit;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 200;
}

body {
  line-height: 1.618;
  position: relative;
  font-size: 14px;
  background: #ffffff;
  font-family: var(--primaryfont);
  color: var(--dark);
  width: 100%;
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

#root {
  overflow: hidden;
}

a.cta-button,
a {
  text-decoration: none !important;
  color: inherit;
  transition: 0.3s all ease;
}

p > a {
  text-decoration: underline;
  color: var(--dark);
}

a,
button,
input,
select,
textarea {
  cursor: pointer !important;
  border-radius: 4px;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: var(--primaryfont);
  font-weight: 600;
  line-height: 1.3;
}

p,
span,
a,
button,
select,
option {
  font-family: var(--primaryfont);
  line-height: 1.618;
}

p {
  font-size: 0.875rem;
  font-weight: 200;
}

p > strong {
  font-weight: 700;
}

a {
  font-weight: 400;
  font-size: 0.875rem;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}

h3 {
  font-size: 1.3rem;
  line-height: 2;
  color: var(--primary);
}

h4 {
  font-size: 1rem;
}

h5 {
  font-size: 1rem;
}

@media only screen and (max-width: 1024px) {
  h1,
  h2 {
    font-size: 16px;
  }

  h3,
  h4,
  h5,
  h6 {
    font-size: 14px;
  }
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

:root {
  --primaryfont: "Montserrat", sans-serif;
  --primary: hsl(0, 0%, 20%);
  --secondary: hsl(0, 0%, 60%);
  --grey: #d3d3d3;
  --lightgrey: #f5f5f5;
  --fadedark: hsl(0, 0%, 75%);
  --light: #f5f5f5;
  --white: #ffff;
  --dark: #1b1b1b;
  --bananayellow: #ffe135;
  --darkyellow: #ffc40c;
  --lightBoxshadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
    rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
  --midBoxshadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  --googleblue: #1163ff;
  --googlebluedark: #4285f4;
  --facebookblue: #4267b2;
}

.cta-button {
  display: inline-block;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  padding: 8px 40px;
  text-decoration: none;
  transition: 0.3s all ease;
}

.cta-button.center {
  margin: 0 auto;
  display: table;
}

@media only screen and (max-width: 1024px) {
  .cta-button {
    padding: 8px 32px;
    font-size: 11px;
  }
}

@media only screen and (max-width: 1024px) {
  .cta-button {
    padding: 8px 20px;
    font-size: 11px;
  }
}

.cta-button:hover {
  filter: saturate(4);
}

.cta-button.blue {
  background-color: var(--googleblue);
  color: var(--white);
}

.cta-button.white {
  background-color: var(--white);
  border: 1px solid var(--white);
  color: var(--dark);
}

.cta-button.dark {
  background-color: var(--dark);
  border: 1px solid var(--dark);
  color: var(--white);
}

.cta-button.extended.dark {
  width: 100%;
  background-color: var(--dark);
  border: 1px solid var(--dark);
  color: var(--white);
}

.cta-button.line {
  background-color: var(--white);
  border: 1px solid var(--dark);
  color: var(--dark);
  padding: 4px 12px;
}

.cta-addtocart {
  transition: 0.3s all ease;
  background-color: var(--bananayellow);
  width: 100%;
  text-align: center;
  padding: 6px;
  font-weight: 700;
  text-transform: uppercase;
}

.cta-addtocart:hover {
  background-color: var(--darkyellow);
}

.cta-zone {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;

  > a,
  > button {
    margin: 0 8px 0 0;
    font-size: 0.875rem;
    text-transform: unset;
    letter-spacing: unset;

    > p {
      display: inline-block;
      line-height: 1;
      margin: 0;
      vertical-align: middle;
    }

    > img {
      display: inline-block;
      vertical-align: middle;
      margin-right: 8px;
    }
  }
}

@media only screen and (max-width: 767px) {
  .cta-zone {
    > a,
    > button {
      margin: 0 8px 8px 0;
    }
  }
}

.thick-arrow-right {
  width: 8px;
  height: 8px;
  border: 1px solid var(--dark);
  border-left: 0;
  border-top: 0;
  transform: rotate(315deg);
  display: inline-block;
}

.arrow-right,
.arrow-down {
  position: relative;
}

.arrow-right::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 2px solid var(--white);
  border-left: 0;
  border-top: 0;
  transform: rotate(315deg);
  display: inline-block;
}

.arrow-down::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid var(--white);
  border-left: 0;
  border-top: 0;
  transform: rotate(45deg);
  display: inline-block;
}

.wings::after,
.wings::before {
  content: "";
  width: 50%;
  min-height: 100svh;
  background-color: hsla(0, 0%, 0%, 0.8);
  position: absolute;
}

.wings::after {
  right: -50%;
}

.wings::before {
  left: -50%;
}

.modal.show {
  opacity: 1;
  pointer-events: auto;

  .modal-container {
    top: 50%;
  }
}

.modal {
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100svh;
  background-color: hsla(0, 0%, 0%, 0.8);
  transition: 0.3s all ease;
  pointer-events: none;
  opacity: 0;

  .modal-close {
    background-color: unset;
    border: unset;
    font-size: 1.3rem;
    position: absolute;
    top: 16px;
    right: 32px;
    opacity: 0.6;

    > * {
      pointer-events: none;
    }
  }

  .modal-close:hover {
    opacity: 1;
  }

  > .modal-container {
    transition: 0.3s all ease;
    width: 66%;
    padding: 32px;
    background-color: var(--white);
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    border-radius: 4px;
  }

  .modal-container.sml {
    max-width: 480px;
  }

  .modal-container.mdm {
    max-width: 600px;
  }

  .modal-container.lrg {
    width: 80%;
    max-width: 768px;
  }
}

@media only screen and (max-width: 767px) {
  .modal {
    .modal-close {
      top: 16px;
      right: 16px;
    }
  }
}

.obscure {
  pointer-events: none;
  opacity: 0.5;
}

.flex-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
}

.flex-container.center {
  justify-content: center;
  gap: 0;
}

.inner-container {
  width: 90%;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.inner-container.quarter {
  width: calc(25% - 16px);
  margin: 0;
}

.inner-container.threeQuarter {
  width: calc(75% - 16px);
  margin: 0;
}

.inner-container.third {
  width: calc(33.33% - 16px);
  margin: 0;
}

.inner-container.sixth {
  width: calc(66.66% - 16px);
  margin: 0;
}

.clearance {
  position: relative;
  display: block;
  width: 100%;
  height: 1rem;
}

.clearancex2 {
  position: relative;
  display: block;
  width: 100%;
  height: 2rem;
}

.clearancex4 {
  position: relative;
  display: block;
  width: 100%;
  height: 4rem;
}

.wrapper {
  width: 100%;
  height: auto;
  position: relative;
}

.wrapper::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  border: 16px solid var(--white);
  width: 100%;
  height: 100svh;
  box-sizing: border-box;
  z-index: 2;
  pointer-events: none;
}

.port-splash-name {
  display: none;
}

@media only screen and (max-width: 767px) {
  .port-splash-name {
    display: none;
    position: absolute;
    z-index: 1;
    top: 32px;
    left: 24px;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;

    > span {
      display: block;
      font-weight: 200;
    }
  }
}

.port-splash {
  position: relative;
  width: 100%;
  height: 100svh;
  background-color: var(--lightgrey);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;

  > div:first-of-type {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 50%;

    > .port-buttons {
      margin-bottom: 32px;

      > div {
        position: relative;

        > button {
          position: relative;
          transition: 0.3s top ease;
          display: inline-block;
          top: 0;
          margin-right: 8px;
          box-shadow: var(--midBoxshadow);
          width: 96px;
          height: 96px;

          > img {
            border-radius: 0.45em;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            display: block;
          }
        }

        > button:last-of-type {
          margin-right: 0;
        }
        > button:hover {
          top: -8px;
        }

        > button::after {
          content: "";
          width: 100%;
          max-width: 0;
          height: 4px;
          background-color: var(--darkyellow);
          display: block;
          border-radius: unset;
          opacity: 0;
          position: absolute;
          bottom: -12px;
          transition: 0.15s all ease;
        }

        > button:hover::after {
          opacity: 1;
          max-width: 100%;
        }
      }
    }
  }
}

@media only screen and (max-width: 1024px) {
  .port-splash {
    > div:first-of-type {
      width: 80%;
    }
  }
}

@media only screen and (max-width: 767px) {
  .port-splash {
    > div:first-of-type {
      width: calc(90% - 16px);
      height: calc(100svh - 64px);
      text-align: left;
      top: 32px;
      transform: unset;
      left: 50%;
      transform: translateX(-50%);

      .port-buttons::-webkit-scrollbar {
        display: none;
      }
      > .port-buttons {
        width: 100%;
        overflow-x: scroll;
        scrollbar-width: none; /* For Firefox */

        > div.port-buttons-slide {
          > button {
            > img {
              display: block;
            }
          }

          > button::before {
            content: ;
          }
        }
      }
    }
  }
}

.socialmedia-zone {
  position: relative;
  margin-top: 32px;

  > a {
    font-size: 0.875rem;
    font-weight: 500;
    list-style: 1;
    padding: 2px 16px;
    margin: 0;

    p,
    img {
      display: inline-block;
      vertical-align: middle;
    }
  }

  > a::before {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
  }

  /* > a:first-of-type::before {
    content: url(/images/instagram.svg);
  }

  > a:last-of-type::before {
    content: url(/images/linkedin.svg);
  } */
}

@media only screen and (max-width: 767px) {
  .socialmedia-zone {
    margin-top: 8px;
    > a {
      padding: 0;
      margin-right: 8px;
      > p {
        display: none;
      }
    }
  }
}

.port-item-utility {
  position: fixed;
  z-index: 3;
  right: -100%;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.7);
  padding: 16px;
  transition: all 500ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  box-shadow: var(--midBoxshadow);
  width: fit-content;
  height: auto;
  top: 80px;
  border-radius: 0.45em;
  pointer-events: none;

  > button:hover,
  > a:hover {
    transform: translateX(6px);
    opacity: 1;
  }

  > button,
  > a {
    background-color: unset;
    border: unset;
    display: block;
    font-weight: 500;
    margin-bottom: 16px;
    position: relative;
    transition: 0.3s all ease;
    opacity: 0.7;

    > img,
    > p {
      display: inline-block;
      vertical-align: middle;
    }

    > img {
      width: 16px;
      height: 16px;
    }
  }

  > button:last-of-type {
    margin-bottom: 0;
  }

  /* > button::before,
  > a::before {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
  } */
}

.port-item-utility.show {
  opacity: 1;
  right: 160px;
  pointer-events: auto;
}

@media only screen and (max-width: 1024px) {
  .port-item-utility {
    top: 32px;
    right: -100%;

    > button,
    > a {
      > p {
        font-size: 0.75rem;
        display: none;
      }
    }
  }
  .port-item-utility.show {
    opacity: 1;
    right: 32px;
    padding: 8px;
  }
}

/* .port-item-close::before {
  content: url(/images/down.svg);
}

.port-item-bio::before {
  content: url(/images/user-file.svg);
}

.port-item-cv::before {
  content: url(/images/clip.svg);
} */

.port-item.show {
  top: 0%;
  max-height: 100%;
  pointer-events: auto;
  overflow-y: scroll;
  filter: unset;
}

.port-item {
  top: 100%;
  z-index: 2;
  pointer-events: none;
  overflow-y: hidden;
  opacity: 1;
  max-width: 100%;
  max-height: 100svh;
  position: fixed;
  width: 100%;
  background-color: var(--light);
  box-sizing: border-box;
  background-size: cover;
  background-position: center center;
  transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);

  > div:first-of-type::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50svh;
    display: block;
    z-index: 1;

    background: rgba(0, 0, 0, 0.02);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
  }

  > div:first-of-type {
    position: relative;

    > div:first-of-type {
      position: absolute;
      bottom: 48px;
      left: 48px;
      z-index: 21;

      > h2 {
        font-size: 2rem;
        color: var(--white);
        position: relative;
        line-height: 1;
      }

      > h2::after {
        content: "";
        width: 64px;
        height: 2px;
        background-color: var(--bananayellow);
        position: relative;
        margin: 16px 0;
        display: block;
      }

      p {
        font-weight: 1.3rem;
        color: var(--white);
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 1px;
      }

      > button {
        font-size: 0.75rem;
        padding: 8px 24px;
      }
    }

    > video,
    > img {
      position: relative;
      width: 100%;
      height: 100svh;
      object-fit: cover;
      object-position: center;
    }
  }

  > div:not(:first-of-type) {
    position: relative;

    > p {
      margin: 64px 10% 0;
      font-size: 0.875rem;
      text-align: center;
    }

    > div {
      margin: 64px 0 0;
      > img,
      > video {
        display: block;
        width: 100%;
        height: auto;
        border: 16px solid var(--white);
        object-fit: contain;
        box-shadow: var(--midBoxshadow);
        border-radius: 8px;
        margin-bottom: 32px;
      }

      > img:last-of-type {
        margin-bottom: 0;
      }
    }

    > div.short {
      position: relative;
      width: calc(33.33% - 16px);

      > h2 {
        margin-bottom: 16px;
      }

      > p {
        line-height: 2;
      }
    }

    > div.long {
      position: relative;
      width: calc(66.66% - 16px);

      > p {
        font-size: 0.875rem;
      }

      > p + ul {
        margin-top: 16p;
        > li {
          font-size: 0.875rem;
          margin: 0 32px;
        }
      }
    }
  }
}

@media only screen and (max-width: 1024px) {
  .port-item {
    > div:first-of-type::before {
      height: 40svh;
    }
    > div:first-of-type {
      position: relative;

      > div:first-of-type {
        left: 32px;
        bottom: 16px;

        > h2 {
          font-size: 1.3rem;
        }

        > h2::after {
          margin: 8px 0;
        }
      }
      > img,
      > video {
        height: 40svh;
        object-fit: cover;
      }
    }
  }
}

@media only screen and (max-width: 767px) {
  .port-item {
    > div:first-of-type::before {
      height: 33svh;
    }
    > div:first-of-type {
      position: relative;

      > div:first-of-type {
        left: 32px;
        bottom: 16px;

        > h2 {
          font-size: 1.3rem;
        }

        > h2::after {
          margin: 8px 0;
        }
      }
      > img,
      > video {
        height: 33svh;
        object-fit: cover;
      }
    }

    .inner-container {
      padding: 0 16px;
    }

    > div:not(:first-of-type) {
      position: relative;

      > div {
        video {
          margin-bottom: 0;
        }
      }

      > div.long,
      > div.short {
        width: 100%;
        margin: 32px 0 0;
      }

      > div.long {
        > p {
          font-size: 0.875rem;
          line-height: 1.618rem;
        }
      }

      > p {
        font-size: 0.875rem;
        line-height: 1.618rem;
        margin: 32px 0 0;
        text-align: left;
      }

      > div {
        margin: 32px 0 0;
        > img {
          border: 8px solid var(--white);
        }
      }
    }
  }
}

.show-portcv {
  margin-top: 32px;
  transition: 0.3s all ease;
}

.show-portcv::after {
  content: "";
  position: relative;
  transition: 0.3s all ease;
  margin-left: 0;
  right: 0;
}

.show-portcv:hover::after {
  margin-left: 8px;
  right: -8px;
}

.port-cv.show {
  right: 0;
  pointer-events: auto;
  opacity: 1;
}

.port-cv {
  transition: all 500ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  position: fixed;
  width: 66%;
  max-width: 1024px;
  height: 100svh;
  background-color: var(--white);
  z-index: 4;
  right: -200%;
  box-shadow: var(--midBoxshadow);
  opacity: 0;
  pointer-events: none;

  .port-cv-close {
    position: absolute;
    border: unset;
    background-color: unset;
    font-size: 1.3rem;
    line-height: 1;
    background-color: var(--light);
    margin: 0;
    padding: 2px 8px;
    border-radius: 50%;
    font-family: Arial;
    top: 16px;
    right: 42px;
    font-weight: 200;
    color: var(--googleblue);
    z-index: 2;
  }

  .port-cv-close:hover {
    color: var(--googlebluedark);
  }

  > div.cv-carrier {
    width: 100%;
    /* height: calc(100% - 70px); */
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: space-between;
    justify-content: space-between;

    > div {
      width: 100%;
    }
  }

  .cv-header {
    position: relative;
    padding: 32px 40px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;

    > div:first-of-type,
    > div:nth-of-type(2) {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 33%;
    }

    > div:first-of-type {
      justify-content: space-between;
      width: 66%;

      > img {
        width: 80px;
        height: 80px;
        object-fit: cover;
        object-position: center;
        display: inline-block;
        border-radius: 50%;
        border: 4px solid var(--white);
        box-shadow: var(--lightBoxshadow);
      }

      > span {
        width: calc(100% - 96px);

        > p:first-of-type {
          font-weight: 600;
          font-size: 1.1rem;
        }

        > p:last-of-type {
          font-weight: 500;
          font-size: 0.6rem;
          padding: 2px 12px;
          border-radius: 0.45em;
          background-color: var(--light);
          display: inline-block;
          color: var(--googleblue);
        }
      }
    }

    > div:nth-of-type(2) {
      justify-content: flex-end;

      > a:last-of-type {
        padding: 0 0 0 12px;
      }
      > a {
        padding: 0 12px;
        > img {
          opacity: 0.8;
          padding: 6px;
          background: transparent;
          border-radius: 50%;
          border: 1px solid var(--grey);
          transition: 0.3s all ease;
        }
      }

      > a:hover {
        img {
          background: var(--light);
        }
      }
    }

    > div:nth-of-type(3) {
      position: relative;
      width: 100%;
      display: block;
      margin: 16px 0 0;

      > div:first-of-type {
        display: flex;
        flex-wrap: wrap;
        background-color: var(--light);
        align-items: flex-start;
        justify-content: space-between;
        padding: 16px;
        border-radius: 0.45em;
        > span {
          width: 33.33%;
          padding: 16px;
          border-right: 1px solid var(--secondary);
          text-align: center;
          > p:first-of-type {
            font-size: 1.3rem;
            font-weight: 600;
            > span {
              font-size: 0.6rem;
              font-weight: 400;
              color: var(--googleblue);
            }
          }

          > p:last-of-type {
            font-size: 0.75rem;
            color: var(--secondary);
            font-weight: 500;
          }
        }

        > span:last-of-type {
          border-right: unset;
        }
      }
    }
  }

  .cv-body {
    width: 100%;
    height: calc(100% - 246px);

    > div.cv-buttons {
      padding: 32px 0 8px;
      border-bottom: 1px solid var(--grey);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;

      > label:hover {
        > p {
          font-weight: 500;
        }
      }

      > label {
        width: 25%;
        text-align: center;

        > p {
          font-size: 0.75rem;
          color: var(--primary);
          display: inline-block;
        }

        > input {
          display: none;
        }

        > input:checked + p {
          font-weight: 500;
          color: var(--googleblue);
        }

        > input:checked + p::after {
          content: "";
          width: 100%;
          height: 3px;
          position: relative;
          bottom: -10px;
          background-color: var(--googleblue);
          display: inline-block;
          float: left;
        }
      }
    }

    > div.cv-tabscarrier {
      padding: 32px 40px;

      > div.show {
        display: block;
      }

      > div {
        display: none;
        border: 1px solid var(--grey);
        border-radius: 0.45em;
        padding: 16px 32px;
        overflow-y: scroll;
        height: 100%;

        > h3 {
          font-size: 1.1rem;
          margin-bottom: 8px;
        }

        p {
          color: var(--primary);
          font-size: 0.75rem;
        }

        > h4 {
          font-size: 0.875rem;
          margin: 16px 0;
          line-height: 1.3;
        }

        > ul {
          list-style-image: url(/images/circle-check.svg);
          li:last-of-type {
            margin: 0 0 24px 32px;
          }

          li {
            margin: 0 0 16px 32px;

            > h3 {
              font-size: 0.875rem;
              margin-bottom: 0;
              line-height: 1.3;
              margin: 16px 0;
            }

            > ul {
              list-style-image: url();

              li {
                position: relative;
                font-size: 0.75rem;
              }

              li::before {
                content: url("../images/chevron-right.svg");
                position: absolute;
                left: -16px;
                top: 2px;
              }
            }
          }
        }
        > span {
          position: relative;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          gap: 8px;
          padding: 16px 0;
          > h3 {
            font-size: 1rem;
            display: block;
            width: 100%;
          }
          > p {
            display: inline-block;
            padding: 2px 12px;
            font-size: 0.75rem;
            border-radius: 0.45em;
            color: var(--googleblue);
          }

          > p.media {
            background-color: #e0f0ff;
          }

          > p.platform {
            background-color: #ffffe0;
          }

          > p.api {
            background-color: #f0ffe0;
          }

          > p.code {
            background-color: #f0e0ff;
          }
        }
      }
    }
  }

  .cv-footer {
    padding: 16px 40px;
    position: relative;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.4);

    > a,
    > button {
      font-size: 0.75rem;
      padding: 8px 16px;
      margin-right: 8px;
    }

    > a:first-of-type {
      background-color: var(--googleblue);
      border: 1px solid var(--googleblue);
      box-sizing: content-box;
      color: var(--white);
    }

    > button:first-of-type:hover {
      > div {
        opacity: 1;
        pointer-events: auto;
      }
    }

    > button:first-of-type {
      border: 1px solid var(--googleblue);
      background: unset;
      font-weight: 500;
      color: var(--googleblue);
      position: relative;
      > p:first-of-type {
        display: inline-block;
        vertical-align: middle;
        font-size: 0.75rem;
      }

      > img {
        filter: invert(45%) sepia(97%) saturate(2404%) hue-rotate(201deg)
          brightness(100%) contrast(92%);
        display: inline-block;
        vertical-align: middle;
      }

      > div.show {
        opacity: 1;
        pointer-events: auto;
      }

      > div {
        opacity: 0;
        pointer-events: none;
        position: absolute;
        width: 128px;
        background-color: var(--white);
        box-shadow: var(--midBoxshadow);
        top: -320%;
        left: 0;
        padding: 12px;
        z-index: 3;
        transition: 0.3s all ease;

        > a {
          display: inline-block;
          width: 100%;
          margin-bottom: 16px;

          > p,
          > img {
            display: inline-block;
            vertical-align: middle;
            font-size: 0.875rem;
          }

          > img {
            filter: invert(45%) sepia(97%) saturate(2404%) hue-rotate(201deg)
              brightness(100%) contrast(92%);
            margin-left: 4px;
          }
        }

        > a:hover {
          background-color: var(--googleblue);
          color: var(--white);

          > img {
            filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(188deg)
              brightness(107%) contrast(101%);
          }
        }

        > a:hover::before {
          filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(257deg)
            brightness(100%) contrast(103%);
        }

        > a:last-of-type {
          margin-bottom: 0;
        }

        > a::before {
          filter: invert(45%) sepia(97%) saturate(2404%) hue-rotate(201deg)
            brightness(100%) contrast(92%);
          width: 16px;
          height: 16px;
          display: inline-block;
          position: relative;
          z-index: 2;
          vertical-align: middle;
          margin: 0 8px;
          padding: 4px 0;
        }

        > a:first-of-type {
          width: 100%;
        }
        /* > a:first-of-type::before {
          content: url(/images/phone.svg);
        }

        > a:last-of-type::before {
          content: url(/images/mail.svg);
        } */
      }
    }

    > button:first-of-type::after {
      /* content: url(/images/chevron-down.svg);
      filter: invert(45%) sepia(97%) saturate(2404%) hue-rotate(201deg)
        brightness(100%) contrast(92%);
      width: 16px;
      height: 16px;
      display: inline-block;
      position: relative;
      z-index: 2;
      vertical-align: middle;
    } */
    }
  }

  #flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    min-height: 400px;
    height: 110vh;
    max-width: 1000px;
    margin: auto;
    /* background-color: #fff;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12),
    0 1px 2px rgba(0, 0, 0, 0.24);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); */
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
  }

  #left-zone {
    height: inherit;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }

  #left-zone .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin: auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .item input {
    display: none;
  }

  .item:first-of-type label {
    margin-top: 0;
  }

  .item label {
    display: block;
    opacity: 0.5;
    height: auto;
    text-align: left;
    margin-top: 16px;
    position: relative;
    > p {
      line-height: 1.3rem;
      font-size: 0.875rem !important;
      color: var(--primary) !important;
    }
  }

  .item label:hover {
    opacity: 0.75;
    cursor: pointer;
  }

  .content-test {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    height: 50%;
    width: 100%;
    -webkit-transition: 0.5s ease-out;
    -o-transition: 0.5s ease-out;
    transition: 0.5s ease-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    pointer-events: none;

    > img {
      width: calc(100% - 16px);
      margin: 0 0 0 auto;
      height: auto;
      border: 4px solid var(--white);
    }
  }

  .content-test p {
    max-width: 50%;
    text-align: center;
  }

  #right-zone {
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    height: 50%;
  }

  input:checked ~ .content-test {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    -o-transition: transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    opacity: 1;
  }

  @media (min-width: 480px) {
    #flex-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      min-height: auto;
      height: inherit;
      /* position: absolute; */
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
    }

    #left-zone .list {
      border-right: 2px solid #cccccc;
    }

    .content-test {
      width: 65%;
      height: 100%;
      pointer-events: auto;
      -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      transform: translateY(-100%);
    }

    #left-zone {
      width: 35%;
      overflow-y: scroll;
      scrollbar-width: none; /* For Firefox */
    }

    #left-zone::-webkit-scrollbar {
      display: none;
    }

    #right-zone {
      height: 100%;
      width: 65%;
    }
  }
  /* If the screen size is 480px or less */
  @media (max-width: 480px) {
    .content_testimonial-1 .picto {
      padding-top: 100px;
    }
    .content_testimonial-2 .picto {
      padding-top: 100px;
    }
    .content_testimonial-3 .picto {
      padding-top: 100px;
    }
    .content_testimonial-4 .picto {
      padding-top: 100px;
    }
    .item > label {
      font-size: 1.3rem;
    }
  }

  input:checked ~ label {
    opacity: 1;
    -webkit-animation: all 1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    animation: all 1s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }

  input:checked ~ label > p {
    color: var(--dark);
    border-right: solid 4px var(--dark);
    margin-right: -3px;
    font-weight: 600;
  }

  p.testimonialState {
    margin-top: -5px;
    font-size: 0.8rem;
    font-style: italic;
    color: #808080d4;
  }

  p.testimonialFrom {
    margin-top: 5px;
    font-weight: bold;
    color: #33475c;
  }
}

@media only screen and (max-width: 1024px) {
  .port-cv {
    width: 80%;

    .cv-header {
      > div:first-of-type {
        width: 66%;
      }
      > div:nth-of-type(2) {
        width: 33%;
      }
    }
  }
}

@media only screen and (max-width: 767px) {
  .port-cv {
    width: 100%;

    .port-cv-close {
      font-size: 1.3rem;
      left: unset;
      background-color: unset;
      top: 16px;
      right: 16px;
      z-index: 4;
    }

    .cv-header {
      > div:first-of-type {
        justify-content: center;
        width: 100%;
        > span {
          width: auto;

          > p:first-of-type {
            font-size: 0.875rem;
          }
        }
        > img {
          width: 48px;
          height: 48px;
          margin-right: 8px;
        }
      }
      > div:nth-of-type(2) {
        width: 100%;
        justify-content: center;
        margin-top: 16px;

        > a {
          padding: 0 12px 0 0;
        }

        > a > img {
          padding: 0;
          border-radius: unset;
          border: unset;
        }

        > a:last-of-type {
          padding: 0;
        }
      }

      > div:nth-of-type(3) {
        padding: 0;
        margin: 12px 0 0;

        > div:nth-of-type(1) {
          padding: 0 32px;
          > span {
            width: 100%;
            border-right: unset;
            border-bottom: 1px solid var(--secondary);
            padding: 8px;
            > p:first-of-type {
              display: inline-block;
              font-size: 1rem;
              > span {
                font-size: 0.75rem;
                color: var(--secondary);
                font-weight: 500;
              }
            }

            > p:last-of-type {
              display: inline-block;
            }
          }

          > span:last-of-type {
            border-bottom: unset;
          }
        }
      }
    }

    .cv-body {
      > div.cv-buttons {
        padding: 16px 0 8px;
        > label {
          width: 33%;
        }
      }

      > div.cv-tabscarrier {
        padding: 24px;
      }
    }

    .cv-footer {
      padding: 16px 24px;
      text-align: right;
      > button:first-of-type {
        margin: 0 0 0 8px;
        > div {
          left: unset;
          right: 0;
          text-align: left;
        }
      }
      > a {
        margin: 0;
      }
    }

    #flex-container {
      height: inherit;
      min-height: unset;
    }

    #left-zone {
      display: block;
      overflow-y: scroll;
    }

    .content-test {
      position: relative;
      opacity: 1;
      transform: unset;

      > img {
        width: 100%;
        margin: 0;
        height: auto;
      }
    }

    input:checked ~ label > p {
      color: unset;
      border: unset;
      margin: unset;
      font-weight: unset;
    }

    .item input label {
      font-size: 0.75rem;

      > p {
        font-size: 0.875rem;
        color: var(--primary);
        opacity: 1;
      }
    }
  }
}
