/*
Website design and integration by Gabriel St-Amant.
*/
/* ANIMATIONS @STAMGA
=========================== 
*/
.bubble-in-right {
  opacity: 0;
  animation-name: bubbleInRight;
  animation-duration: 1500ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform-origin: bottom center; }

.bubble-in-left {
  opacity: 0;
  animation-name: bubbleInLeft;
  animation-duration: 1500ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform-origin: bottom center; }

.pop-in {
  opacity: 0;
  animation-name: popIn;
  animation-duration: 800ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

@keyframes bubbleInRight {
  0% {
    transform: translateX(-200px) scale(0.8) rotate(10deg);
    opacity: 0; }
  100% {
    transform: translateY(0) scale(1) rotate(0);
    opacity: 1; } }
@keyframes bubbleInLeft {
  0% {
    transform: translateX(200px) scale(0.8) rotate(-10deg);
    opacity: 0; }
  100% {
    transform: translateY(0) scale(1) rotate(0);
    opacity: 1; } }
@keyframes popIn {
  0% {
    transform: scale(0.5);
    opacity: 0; }
  80% {
    transform: scale(1.1);
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 1; } }
/* RESPONSIVE @STAMGA
=========================== 
*/
/* VARIABLES @ STAMGA
===========================
*/
html, body {
  font-family: "futura-pt", sans-serif;
  font-size: 30px;
  color: #fff;
  height: 100%; }
  @media (max-width: 1850px) {
    html, body {
      font-size: 28px; } }
  @media (max-width: 1440px) {
    html, body {
      font-size: 26px; } }
  @media (max-width: 991px) {
    html, body {
      font-size: 24px; } }
  @media (max-width: 767px) {
    html, body {
      font-size: 22px; } }

button, a {
  outline: none !important; }

h1 {
  font-family: "lust-script-display", serif;
  margin: 0; }

.text-strong {
  font-weight: 900; }

.color-main {
  color: #00ff90; }

.bg-grey {
  background-color: #f1f2f5; }

/* WIDGETS @ STAMGA
===========================
*/
.skill-group {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.skill-bubble {
  background-color: #1d1d26;
  padding-bottom: 100%;
  border-radius: 1000px;
  color: #fff;
  position: relative;
  text-align: center;
  float: left;
  margin: 1%; }
  .skill-bubble span {
    position: absolute;
    height: 40px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }
  .skill-bubble.sm {
    width: 23%;
    padding-bottom: 23%; }
  .skill-bubble.lg {
    width: 48%;
    padding-bottom: 48%; }
  @media (max-width: 1440px) {
    .skill-bubble {
      font-size: 0.76923rem; }
      .skill-bubble span {
        height: 28px; } }

.modal {
  -webkit-perspective: 600px;
  /* Chrome, Safari, Opera */
  perspective: 600px;
  top: 80px;
  overflow: hidden;
  background-color: #282834; }
  .modal .modal-dialog, .modal .modal-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    margin: 0; }
  .modal .modal-content {
    top: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
    background-color: #282834; }
  @media (max-width: 1850px) {
    .modal {
      top: 77px; } }
  @media (max-width: 1440px) {
    .modal {
      top: 75px; } }
  @media (max-width: 991px) {
    .modal {
      top: 73px; } }
  @media (max-width: 767px) {
    .modal {
      top: 63px; } }

.modal-backdrop {
  display: none; }

.modal.fade .modal-dialog {
  transform: scale(0.8) rotateX(-90deg);
  transform-origin: center top;
  transition: all 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 1; }

.modal.fade.in .modal-dialog {
  transform: scale(1) rotateX(0);
  opacity: 1; }

.project-modal {
  overflow-x: hidden !important;
  overflow-y: hidden !important; }
  .project-modal img {
    max-width: 100%; }
  .project-modal .modal-media {
    width: calc(100% - 1200px);
    height: 100%;
    float: left;
    position: relative;
    overflow: hidden; }
    .project-modal .modal-media .modal-media-lg, .project-modal .modal-media .modal-media-sm {
      background-size: cover;
      background-position: center center; }
    .project-modal .modal-media .modal-media-lg {
      height: 40%; }
    .project-modal .modal-media .modal-media-sm {
      height: 20%;
      width: 50%;
      float: left; }
  .project-modal .modal-info {
    width: 1200px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto; }
    .project-modal .modal-info .modal-info-header {
      padding: 45px 25px 35px 40px;
      background-color: #333343; }
      .project-modal .modal-info .modal-info-header .modal-info-title {
        margin: 0;
        font-size: 1.13333rem;
        font-weight: 900;
        margin-top: -10px;
        letter-spacing: 0.07em !important; }
      .project-modal .modal-info .modal-info-header .modal-info-close {
        background-color: transparent;
        border: none;
        transition: all 400ms ease; }
        .project-modal .modal-info .modal-info-header .modal-info-close:hover, .project-modal .modal-info .modal-info-header .modal-info-close:focus {
          color: #00ff90;
          transform: scale(1.1); }
        .project-modal .modal-info .modal-info-header .modal-info-close:active {
          color: #777798;
          transform: scale(0.9); }
      .project-modal .modal-info .modal-info-header i {
        font-size: 1.83333rem;
        line-height: 0.53333rem;
        width: 37px; }
    .project-modal .modal-info .modal-info-extra {
      overflow: hidden; }
      .project-modal .modal-info .modal-info-extra .modal-info-extra-single {
        float: left;
        width: 50%;
        position: relative;
        padding: 45px 40px 15px;
        border-bottom: 5px solid #333343;
        border-left: 5px solid #333343; }
        .project-modal .modal-info .modal-info-extra .modal-info-extra-single:nth-child(odd) {
          border-left: none; }
      .project-modal .modal-info .modal-info-extra .modal-info-extra-label {
        position: absolute;
        top: 20px;
        font-size: 0.6rem;
        text-transform: uppercase;
        font-weight: 600;
        letter-spacing: 0.07em !important;
        color: #777798; }
    .project-modal .modal-info .modal-info-descriptions {
      padding: 40px 40px 110px;
      font-size: 0.8rem; }
      .project-modal .modal-info .modal-info-descriptions > div > div:first-child .modal-info-description-title {
        margin: 0 0 20px; }
      .project-modal .modal-info .modal-info-descriptions .modal-info-description-title {
        font-size: 0.6rem;
        text-transform: uppercase;
        font-weight: 600;
        letter-spacing: 0.07em !important;
        color: #777798;
        margin: 0 0 20px; }
      .project-modal .modal-info .modal-info-descriptions p {
        margin-bottom: 30px; }
      .project-modal .modal-info .modal-info-descriptions ul {
        padding-left: 25px;
        margin-bottom: 0; }
  .project-modal .modal-actions {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1200px; }
    .project-modal .modal-actions .project-close, .project-modal .modal-actions .project-external {
      background-color: #333343;
      border: none;
      padding: 24px 40px;
      width: 50%;
      float: left;
      display: block;
      text-align: center;
      color: #fff;
      transition: 400ms all ease; }
      .project-modal .modal-actions .project-close:hover, .project-modal .modal-actions .project-close:focus, .project-modal .modal-actions .project-external:hover, .project-modal .modal-actions .project-external:focus {
        background-color: #54546e;
        text-decoration: none; }
        .project-modal .modal-actions .project-close:hover i, .project-modal .modal-actions .project-close:focus i, .project-modal .modal-actions .project-external:hover i, .project-modal .modal-actions .project-external:focus i {
          transform: rotate(360deg); }
      .project-modal .modal-actions .project-close:active, .project-modal .modal-actions .project-external:active {
        background-color: #494960; }
      .project-modal .modal-actions .project-close i, .project-modal .modal-actions .project-external i {
        transition: 400ms all ease; }
    .project-modal .modal-actions .project-close i {
      font-size: 1.33333rem;
      line-height: 0.26667rem;
      position: relative;
      top: 11px;
      margin-left: 5px; }
    .project-modal .modal-actions .project-external {
      background-color: #3e3e51; }
      .project-modal .modal-actions .project-external i {
        margin-left: 11px;
        position: relative;
        top: 1px; }
  @media (max-height: 800px) and (min-width: 1080px) {
    .project-modal .modal-info-extra .modal-info-extra-single {
      width: 25% !important;
      border-left: 5px solid #333343 !important; }
      .project-modal .modal-info-extra .modal-info-extra-single:first-child {
        border-left: none !important; }
    .project-modal .modal-info-extra .modal-info-extra-value {
      font-size: 0.8rem !important; } }
  @media (max-width: 1550px) {
    .project-modal {
      overflow-y: auto !important; }
      .project-modal .modal-info {
        width: 100%;
        position: static; }
        .project-modal .modal-info .modal-info-descriptions {
          padding: 40px; }
      .project-modal .modal-media {
        width: 100%;
        height: 40%; }
        .project-modal .modal-media .modal-media-lg {
          height: 100%;
          width: 40%;
          float: left; }
        .project-modal .modal-media .modal-media-sm {
          height: 50%;
          width: 20%;
          float: left; }
      .project-modal .modal-actions {
        width: 100%;
        position: static; } }
  @media (max-width: 767px) {
    .project-modal .modal-media {
      height: 80%; }
      .project-modal .modal-media .modal-media-lg {
        width: 75%;
        height: 50%; }
      .project-modal .modal-media .modal-media-lg:first-child {
        width: 100%;
        float: left; }
      .project-modal .modal-media .modal-media-sm {
        height: 25%;
        width: 25%; }
    .project-modal .modal-info .modal-info-header {
      padding: 30px 15px 25px 15px; }
      .project-modal .modal-info .modal-info-header .modal-info-title {
        font-size: 0.90909rem;
        line-height: 1.81818rem; }
      .project-modal .modal-info .modal-info-header i {
        font-size: 1.5rem;
        line-height: 0.90909rem; }
    .project-modal .modal-info .modal-info-descriptions {
      padding: 30px 15px; }
    .project-modal .modal-info .modal-info-extra .modal-info-extra-single {
      width: 100%;
      padding: 30px 15px 10px;
      border-left: none !important; }
    .project-modal .modal-info .modal-info-extra .modal-info-extra-label {
      top: 15px; }
    .project-modal .modal-actions .project-close, .project-modal .modal-actions .project-external {
      width: 100%; } }

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden;
  margin-top: 40px; }

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

/* HEADER @STAMGA
=========================== 
*/
header {
  background-color: #f1f2f5; }

.hero {
  min-height: 200px;
  position: relative;
  border: 15px solid #1d1d26;
  border-bottom: 0;
  z-index: 1;
  overflow: hidden; }
  .hero:before {
    content: "";
    position: absolute;
    top: 55px;
    right: 55px;
    bottom: 55px;
    left: 55px;
    border: 3px solid #fff; }
  .hero .hero-right {
    color: #1d1d26;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    display: table;
    height: 100%; }
  .hero .hero-intro {
    display: table-cell;
    vertical-align: middle;
    text-align: right; }
    .hero .hero-intro .hero-line-left, .hero .hero-intro .hero-line-right {
      width: 3px;
      height: 70%;
      background-color: #fff;
      display: block;
      position: absolute;
      transform: rotate(25deg);
      z-index: -1;
      left: 130px;
      top: 0;
      bottom: 0;
      margin: auto; }
    .hero .hero-intro .hero-line-right {
      height: 45%;
      left: initial;
      right: 330px; }
  .hero .hero-title {
    font-size: 6.33333rem;
    line-height: 150px;
    letter-spacing: -0.035em !important; }
  .hero .hero-sub {
    font-size: 1.83333rem;
    text-transform: uppercase;
    display: block;
    margin-right: -17px;
    letter-spacing: 0.27em !important; }
  .hero .hero-fields {
    color: #fff;
    padding: 5px 10px 5px 74px;
    font-size: 0.86667rem;
    text-transform: uppercase;
    font-weight: 600;
    display: inline-block;
    letter-spacing: 0.1em !important;
    position: relative;
    overflow: hidden;
    z-index: 2; }
    .hero .hero-fields:before {
      content: "";
      background-color: #1d1d26;
      width: 27px;
      height: 70px;
      display: block;
      position: absolute;
      left: 12px;
      top: -2px;
      z-index: -1;
      transform: rotate(25deg); }
    .hero .hero-fields:after {
      position: absolute;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 33px;
      background-color: #1d1d26;
      z-index: -1; }
  @media (max-height: 700px) {
    .hero:before {
      top: 40px;
      right: 40px;
      bottom: 40px;
      left: 40px; }
    .hero .hero-title {
      font-size: 4.14286rem;
      line-height: 99px; }
    .hero .hero-sub {
      font-size: 1.21429rem;
      margin-right: -10px; }
    .hero .hero-fields {
      font-size: 0.53571rem; }
    .hero .hero-intro .hero-line-right {
      right: 220px;
      height: 40%; }
    .hero .hero-intro .hero-line-left {
      left: 75px;
      height: 60%; } }
  @media (max-width: 1440px) {
    .hero:before {
      top: 40px;
      right: 40px;
      bottom: 40px;
      left: 40px; }
    .hero .hero-right {
      left: 50%; }
    .hero .hero-title {
      font-size: 4.46154rem;
      line-height: 99px; }
    .hero .hero-sub {
      font-size: 1.30769rem;
      margin-right: -10px; }
    .hero .hero-fields {
      font-size: 0.57692rem; }
    .hero .hero-intro .hero-line-right {
      right: 220px;
      height: 40%; }
    .hero .hero-intro .hero-line-left {
      left: 75px;
      height: 60%; } }
  @media (max-width: 991px) {
    .hero .hero-right {
      left: 43%; } }
  @media (max-width: 767px) {
    .hero {
      border-width: 8px; }
      .hero > div:first-child {
        opacity: 0.8; }
      .hero:before {
        border-width: 2px;
        top: 15px;
        right: 15px;
        bottom: 15px;
        left: 15px; }
      .hero .hero-title {
        font-size: 2.81818rem;
        line-height: 40px; }
      .hero .hero-sub {
        font-size: 0.77273rem;
        line-height: 35px;
        font-weight: 600;
        margin-right: -5px; }
      .hero .hero-right {
        left: 0;
        width: 100%; }
      .hero .hero-intro {
        padding-right: 40px; }
        .hero .hero-intro .hero-line-right, .hero .hero-intro .hero-line-left {
          display: none; }
      .hero .hero-fields {
        font-size: 0.54545rem;
        padding: 5px 10px 5px 34px; } }

.nav-container {
  min-height: 85px; }

.nav-main {
  text-align: center;
  overflow: hidden;
  background-color: #1d1d26;
  font-family: "futura-pt-condensed", sans-serif;
  font-size: 0.8rem;
  text-transform: uppercase;
  transform: translate3d(0, 0, 0); }
  .nav-main.nav-fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10; }
  .nav-main .nav-left {
    float: left; }
    .nav-main .nav-left .nav-logo {
      padding: 10px 40px;
      font-size: 1.4rem;
      font-family: "lust-script-display", serif;
      display: block;
      color: #fff; }
      .nav-main .nav-left .nav-logo span:last-child {
        font-size: 1.13333rem; }
      .nav-main .nav-left .nav-logo:hover, .nav-main .nav-left .nav-logo:focus, .nav-main .nav-left .nav-logo:active {
        text-decoration: none; }
  .nav-main .nav-center, .nav-main .nav-right {
    display: inline-block;
    letter-spacing: 0.2em !important; }
    .nav-main .nav-center ul, .nav-main .nav-center li, .nav-main .nav-right ul, .nav-main .nav-right li {
      list-style-type: none;
      padding: 0;
      margin: 0;
      display: inline-block; }
    .nav-main .nav-center a, .nav-main .nav-right a {
      color: #fff;
      padding: 23px 20px 23px;
      display: block;
      position: relative; }
      .nav-main .nav-center a:before, .nav-main .nav-right a:before {
        content: "";
        position: absolute;
        left: 18px;
        right: 25px;
        bottom: 15px;
        height: 3px;
        background-color: #00ff90;
        transition: all 600ms ease;
        transform: scaleX(0); }
      .nav-main .nav-center a:hover, .nav-main .nav-center a:focus, .nav-main .nav-center a.active, .nav-main .nav-right a:hover, .nav-main .nav-right a:focus, .nav-main .nav-right a.active {
        text-decoration: none; }
        .nav-main .nav-center a:hover:before, .nav-main .nav-center a:focus:before, .nav-main .nav-center a.active:before, .nav-main .nav-right a:hover:before, .nav-main .nav-right a:focus:before, .nav-main .nav-right a.active:before {
          transform: scaleX(1); }
      .nav-main .nav-center a:active, .nav-main .nav-right a:active {
        text-decoration: none; }
        .nav-main .nav-center a:active:before, .nav-main .nav-right a:active:before {
          background-color: #fff; }
  .nav-main .nav-right {
    float: right;
    letter-spacing: 0.2em !important; }
    .nav-main .nav-right .nav-lang {
      display: block;
      padding: 23px 20px 23px;
      color: #fff; }
      .nav-main .nav-right .nav-lang.active:before {
        transform: scaleX(0); }
      .nav-main .nav-right .nav-lang:hover:before, .nav-main .nav-right .nav-lang:focus:before {
        transform: scaleX(1) !important; }
  @media (max-width: 767px) {
    .nav-main .nav-center {
      display: none; }
    .nav-main .nav-left .nav-logo {
      padding: 10px 15px; }
    .nav-main .nav-right .nav-lang {
      padding: 19px 15px; } }

/* FOOTER @STAMGA
=========================== 
*/
footer {
  background-color: #1d1d26;
  min-height: calc(100% - 70px); }
  footer .section-content {
    padding-top: 345px;
    padding-bottom: 0;
    position: relative; }
    footer .section-content:before {
      content: "";
      background-color: #fff;
      position: absolute;
      width: 4px;
      height: 170px;
      left: 0;
      top: 0;
      right: 0;
      margin: auto; }
  @media (max-width: 767px) {
    footer .section-content {
      padding-top: 175px; }
      footer .section-content:before {
        height: 95px;
        width: 3px; } }

.footer-head.section-head {
  padding-bottom: 120px; }
  .footer-head.section-head .section-title {
    color: #fff; }
  .footer-head.section-head .section-sub {
    color: rgba(255, 255, 255, 0.05); }
  @media (max-height: 700px) {
    .footer-head.section-head {
      padding-bottom: 90px; } }
  @media (max-width: 767px) {
    .footer-head.section-head {
      padding-bottom: 30px; } }

.footer-social .footer-social-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: center; }
  .footer-social .footer-social-list li {
    display: inline-block;
    width: 16%;
    margin: 20px 1.5%; }
.footer-social a {
  padding-bottom: 100%;
  font-size: 2.33333rem;
  color: #fff;
  border: 2px solid #fff;
  position: relative;
  display: block;
  text-align: center;
  transition: 600ms all ease; }
  .footer-social a i {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    max-height: 115px;
    font-size: 1.7em; }
  .footer-social a:hover, .footer-social a:focus {
    background-color: #fff;
    color: #1d1d26;
    transform: scale(1.1); }
  .footer-social a:active {
    color: #1d1d26;
    transform: scale(0.9); }
@media (max-width: 1440px) {
  .footer-social a {
    font-size: 1.53846rem; }
    .footer-social a i {
      max-height: 69px; } }
@media (max-height: 700px) {
  .footer-social a {
    font-size: 0.95455rem; }
    .footer-social a i {
      max-height: 35px; }
  .footer-social .footer-social-list {
    padding: 0px 10%; } }
@media (max-width: 767px) {
  .footer-social a {
    font-size: 0.95455rem; }
    .footer-social a i {
      max-height: 35px; }
  .footer-social .footer-social-list {
    padding: 0px 10%; }
    .footer-social .footer-social-list li {
      width: 30%;
      margin: 1.5%; } }
@media (max-width: 479px) {
  .footer-social .footer-social-list {
    padding: 0px; } }

.footer-credits {
  text-align: center;
  font-size: 0.8rem;
  padding: 50px 0; }
  .footer-credits .footer-credits-year {
    color: #4a4a6d;
    display: block; }
  .footer-credits .footer-credits-name {
    color: #fff;
    text-transform: uppercase; }
  @media (max-height: 700px) {
    .footer-credits {
      padding: 20px 0 40px; } }
  @media (max-width: 767px) {
    .footer-credits {
      padding: 10px 0 20px; } }

/* SECTIONS @ STAMGA
===========================
*/
.about {
  padding: 100px 0 280px;
  background-image: url(../img/pattern.png);
  background-color: #f1f2f5;
  position: relative; }
  @media (max-width: 1440px) {
    .about {
      padding: 65px 0 160px; }
      .about:after {
        height: 100px; } }
  @media (max-width: 767px) {
    .about {
      background-size: 70%;
      padding: 65px 0 100px; }
      .about:after {
        height: 60px; } }

.square-card {
  padding: 80px;
  margin: auto;
  width: 1420px;
  max-width: 100%; }
  .square-card .square-group {
    background-color: #1d1d26;
    max-width: 90%;
    margin: auto;
    padding: 230px 90px 90px;
    position: relative;
    z-index: 2;
    transform-style: preserve-3d; }
    .square-card .square-group:before {
      content: "";
      display: block;
      position: absolute;
      top: 55px;
      right: -55px;
      bottom: -55px;
      left: 55px;
      border: 3px solid #fff;
      z-index: -1;
      transform: translateZ(-1em); }
  .square-card .square-title {
    font-family: "lust-script-display", serif;
    text-transform: lowercase;
    font-size: 4.33333rem;
    margin-top: -250px;
    padding-top: 280px;
    position: absolute;
    left: -100px;
    top: 30px;
    text-shadow: 0px 10px 45px rgba(0, 0, 0, 0.4); }
  .square-card .square-content {
    z-index: 2;
    position: relative; }
    .square-card .square-content p + p {
      margin: 30px 0 0; }
  .square-card .square-sub {
    position: absolute;
    top: 0;
    right: 100px;
    font-size: 10.66667rem;
    font-family: "lust-script-display", serif;
    color: rgba(255, 255, 255, 0.03); }
  @media (max-width: 1850px) {
    .square-card {
      background-color: transparent; }
      .square-card .square-title {
        margin-top: -130px;
        padding-top: 160px; } }
  @media (max-width: 1440px) {
    .square-card {
      width: 1120px; }
      .square-card .square-title {
        font-size: 3.07692rem;
        left: -60px;
        padding-top: 145px; }
      .square-card .square-sub {
        font-size: 8.46154rem;
        top: 130px;
        right: 70px; }
      .square-card .square-group {
        font-size: 0.84615rem;
        line-height: 1.34615rem;
        padding: 155px 60px 60px; } }
  @media (max-width: 767px) {
    .square-card {
      padding: 20px; }
      .square-card .square-title {
        font-size: 2.36364rem;
        top: 0px;
        left: -11px;
        text-shadow: 0px 5px 25px rgba(0, 0, 0, 0.4); }
      .square-card .square-sub {
        font-size: 4.54545rem;
        top: 52px;
        right: 25px;
        font-size: 100px; }
      .square-card .square-group {
        padding: 95px 25px 25px;
        max-width: 100%;
        font-size: 0.72727rem;
        line-height: 1.18182rem; }
        .square-card .square-group:before {
          top: 12px;
          right: -12px;
          bottom: -12px;
          left: 12px; } }

.section-head {
  position: relative;
  text-align: center;
  margin-top: -90px; }
  .section-head .section-title {
    color: #1d1d26;
    font-family: "lust-script-display", serif;
    text-transform: lowercase;
    font-size: 4.33333rem;
    margin-top: -250px;
    padding-top: 180px; }
  .section-head .section-sub {
    position: absolute;
    top: 50px;
    right: 0;
    left: 0;
    font-size: 10.66667rem;
    font-family: "lust-script-display", serif;
    color: rgba(0, 0, 0, 0.08); }
  @media (max-width: 1440px) {
    .section-head .section-title {
      font-size: 3.07692rem;
      margin-top: -190px;
      padding-top: 145px; }
    .section-head .section-sub {
      font-size: 8.46154rem;
      top: 55px; } }
  @media (max-width: 767px) {
    .section-head .section-title {
      font-size: 2.36364rem;
      margin-top: -190px;
      padding-top: 160px; }
    .section-head .section-sub {
      font-size: 5.90909rem;
      top: 100px; } }

.section-content {
  color: #1d1d26;
  padding: 150px 0; }
  @media (max-width: 1440px) {
    .section-content {
      padding: 100px 0; } }
  @media (max-width: 767px) {
    .section-content {
      padding: 50px 0; } }

.project-single.project-left > div:first-child {
  padding-right: 15px;
  padding-left: 20px; }
.project-single.project-left > div:last-child {
  padding-left: 15px;
  padding-right: 20px; }
.project-single > div:first-child {
  padding-right: 20px; }
.project-single > div:last-child {
  padding-left: 20px; }
.project-single .project-image {
  padding-bottom: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
.project-single .project-title {
  font-size: 1.66667rem;
  font-weight: 900;
  margin-top: -10px;
  letter-spacing: 0.07em !important; }
.project-single .project-info {
  border: 2px solid #1d1d26;
  display: table;
  max-width: 100%;
  font-size: 0.66667rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-top: 30px;
  margin-bottom: 30px; }
.project-single .project-info-client, .project-single .project-info-type {
  display: table-cell;
  padding: 15px 20px; }
.project-single .project-info-type {
  border-left: 2px solid #1d1d26; }
.project-single .project-description {
  font-size: 0.8rem; }
.project-single .project-link {
  font-size: 0.66667rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #1d1d26;
  margin-top: 30px;
  display: inline-block;
  background-color: transparent;
  outline: none;
  border: none;
  padding: 20px 40px 20px 0;
  margin-top: 10px;
  position: relative;
  transition: 400ms all ease; }
  .project-single .project-link:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #1d1d26;
    transform: scaleX(0);
    transition: 400ms all ease;
    z-index: -1; }
  .project-single .project-link:hover, .project-single .project-link:focus {
    color: #fff;
    padding-left: 40px;
    text-decoration: none; }
    .project-single .project-link:hover:before, .project-single .project-link:focus:before {
      transform: scaleX(1); }
  .project-single .project-link:active {
    text-decoration: none; }
    .project-single .project-link:active:before {
      transform: scaleX(0.8); }
.project-single + .project-single {
  padding-top: 180px; }
@media (max-width: 479px), (min-width: 769px) and (max-width: 991px) {
  .project-single .project-info {
    width: 100%;
    display: block;
    font-size: 0.59091rem;
    margin-top: 20px;
    margin-bottom: 20px; }
  .project-single .project-info-client, .project-single .project-info-type {
    padding: 10px;
    text-align: center;
    display: block; }
  .project-single .project-info-type {
    border-left: none;
    border-top: 2px solid #1d1d26; } }
@media (max-width: 1440px) {
  .project-single + .project-single {
    padding-top: 110px; }
  .project-single .project-description {
    font-size: 0.65385rem; }
  .project-single .project-image {
    padding-bottom: 75%; } }
@media (max-width: 1199px) {
  .project-single .project-image {
    padding-bottom: 100%; } }
@media (max-width: 991px) {
  .project-single .project-image {
    padding-bottom: 150%; } }
@media (max-width: 767px) {
  .project-single > div:first-child, .project-single > div:last-child {
    padding-left: 15px !important;
    padding-right: 15px !important; }
  .project-single + .project-single {
    padding-top: 20px; }
  .project-single .project-image {
    margin-left: -15px;
    margin-right: -15px;
    box-shadow: inset 0px -220px 170px -90px white;
    padding-bottom: 115%; }
  .project-single .project-title {
    margin-top: -123px;
    max-width: 390px; }
  .project-single .project-description {
    font-size: 0.72727rem;
    line-height: 1.18182rem; }
  .project-single .project-link {
    margin-top: 20px; } }

.experience .section-content {
  padding: 230px 0; }
.experience .section-head {
  padding-bottom: 80px; }
@media (max-width: 1440px) {
  .experience .section-content {
    padding: 180px 0; }
  .experience .section-title {
    padding-top: 145px; }
  .experience .section-head {
    padding-bottom: 60px; }
    .experience .section-head .section-sub {
      top: 50px; } }
@media (max-width: 991px) {
  .experience .section-content {
    padding: 50px 0; }
  .experience .section-title {
    margin-top: -90px;
    padding-top: 215px; }
  .experience .section-head {
    padding-top: 50px; }
    .experience .section-head .section-sub {
      top: 90px; } }
@media (max-width: 767px) {
  .experience .section-title {
    margin-top: -120px; } }

.experience-card {
  background-color: #fff;
  margin: 20px;
  box-shadow: 0px 20px 80px -25px rgba(0, 0, 0, 0.3); }
  .experience-card .experience-head {
    display: table;
    white-space: nowrap;
    width: 100%; }
  .experience-card .experience-head-date {
    background-color: #1d1d26;
    color: #fff;
    display: table-cell;
    text-transform: uppercase;
    font-size: 0.86667rem;
    padding: 32px 37px;
    vertical-align: middle;
    width: 80px; }
  .experience-card .experience-head-title {
    display: table-cell;
    font-size: 1rem;
    font-weight: 500;
    padding-left: 32px;
    vertical-align: middle;
    font-weight: 900; }
  .experience-card .experience-position {
    text-align: center;
    padding: 20px;
    background-color: #f4f5f7;
    white-space: nowrap; }
  .experience-card .experience-description {
    font-size: 0.8rem;
    padding: 30px;
    margin-bottom: 70px; }
    .experience-card .experience-description p {
      margin-bottom: 0; }
    .experience-card .experience-description p + p {
      margin-top: 20px; }
  @media (max-width: 1850px) {
    .experience-card .experience-head-date {
      padding: 20px;
      font-size: 0.46154rem; }
    .experience-card .experience-head-title {
      padding: 20px;
      font-size: 0.76923rem; }
    .experience-card .experience-position {
      padding: 20px;
      font-size: 0.76923rem; }
    .experience-card .experience-description {
      padding: 20px;
      font-size: 0.76923rem;
      margin-bottom: 40px; } }
  @media (max-width: 1440px) {
    .experience-card .experience-position {
      padding: 15px;
      font-size: 0.65385rem; } }
  @media (max-width: 991px) {
    .experience-card {
      max-width: 510px;
      margin: auto; }
      .experience-card .experience-head-date {
        padding: 15px 20px;
        font-size: 0.54545rem; }
      .experience-card .experience-head-title {
        padding: 10px;
        font-size: 0.72727rem; }
      .experience-card .experience-description {
        padding: 15px;
        font-size: 0.72727rem;
        margin-bottom: 40px; } }
