/*
* Template Name    : Accessy
* Author           : Ofcode Themes
* Version          : 1.0.0
* File Description : Main Left to Right Accessy styles
*/
/* -------------------------------------------------------------------------- */
/* TABLE OF CONTENTS:
/* -------------------------------------------------------------------------- */
/*
* 1. Base
* 2. Content
* 3. Components
* 4. Sections
* 5. Site
* 6. Helpers
* 7. Pages
* 8. Media Queries
*/
/* -------------------------------------------------------------------------- */
/*	1. Base
/* -------------------------------------------------------------------------- */
* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  
  html {
    font-size: 16px;
  }
  
  body {
    font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
    letter-spacing: 0.015em;
    line-height: 1.5;
    direction: ltr;
    text-align: left;
    position: relative;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }

  /* Comienza la sección de los idiomas */

  .lang{
    background: none; 
    border: none;
    cursor: pointer;
  }
  #esTranslator{
    display: none;
  }
  #esTranslator_mobile,#enTranslator_mobile, .dark_mode_mobile{
    display: none !important;
  }
  .es{
    max-height: 27px;
  }
  .lang img{
    height: 30px;
    filter: drop-shadow(0px 0px 1px #FFF);
  }
  #portrait {
    opacity: 0.98;
    background-color: #0070AD;
  }

  @media (max-width:480px) {
    #esTranslator,#enTranslator, .dark-mode{
      display: none !important;
    }
    #enTranslator_mobile{
      margin-left: 55%;
    }
    #esTranslator_mobile{
      margin-left: 30%;
    }
    .lang img{
      height: 40px;
    }
    .es{
      max-height: 34px !important;
    }
    #esTranslator_mobile{
      display: none !important;
    }
    
    #enTranslator_mobile{
      display: inline !important;
    }
    .dark_mode_mobile{
      width: 13% !important;
      display: inline !important;
    }
    .switch__button[role=switch][aria-checked=true] .switch__button-theme{
      -webkit-transform: translateX(1.3rem) !important;
              transform: translateX(1.3rem) !important;
    }
    .switch__button-theme {
      width: 1.35rem !important;
    }
  }
  /* Termina la sección de los idiomas */
  img {
    vertical-align: middle;
  }
  
  svg {
    vertical-align: middle;
    overflow: hidden;
  }
  
  ::-moz-selection {
    /* Code for Firefox */
    color: white;
  }
  
  ::selection {
    color: white;
  }
  
  .fade-up-start {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
    -webkit-transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  }
  
  .animation-off .fade-up-start {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-transition: none !important;
    transition: none !important;
  }
  
  .fade-up {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  
  .js-focus-visible :focus:not(.focus-visible) {
    outline: 0;
  }
  
  .container-fluid,
  .container {
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    margin-right: auto;
    margin-left: auto;
  }
  
  @media only screen and (min-width: 62rem) {
    .container {
      max-width: 85%;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .container {
      max-width: 68.125rem;
    }
  }
  
  @media only screen and (min-width: 1260px) {
    .container {
      max-width: 71.25rem;
    }
  }
  
  /* -------------------------------------------------------------------------- */
  /*	2. Content
  /* -------------------------------------------------------------------------- */
  h1,
  .heading-1 {
    font-size: 2rem;
  }
  
  @media only screen and (min-width: 48rem) {
    h1,
    .heading-1 {
      font-size: 2.75rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    h1,
    .heading-1 {
      font-size: 3rem;
    }
  }
  
  h2,
  .heading-2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  
  @media only screen and (min-width: 36rem) {
    h2,
    .heading-2 {
      font-size: 1.75rem;
    }
  }
  
  @media only screen and (min-width: 48rem) {
    h2,
    .heading-2 {
      font-size: 2.125rem;
    }
  }
  
  h3,
  .heading-3 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  
  @media only screen and (min-width: 48rem) {
    h3,
    .heading-3 {
      font-size: 1.375rem;
    }
  }
  
  h4,
  .heading-4 {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
  
  h5,
  .heading-5 {
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }
  
  @media only screen and (min-width: 48rem) {
    h5,
    .heading-5 {
      font-size: 0.75rem;
    }
  }
  
  h1,
  .heading-1,
  h2,
  .heading-2,
  h3,
  .heading-3,
  h4,
  .heading-4,
  h5,
  .heading-5,
  h6,
  .heading-6 {
    font-weight: 600;
    line-height: 1.2;
    margin-top: 0;
  }
  
  p {
    margin-top: 0;
  }
  
  strong {
    font-weight: 600;
  }
  
  a {
    text-decoration: underline;
    color: inherit;
  }
  
  a:not(.button) {
    border-radius: 0.125rem;
  }
  
  a:hover, a:active {
    color: inherit;
  }
  
  blockquote {
    margin: 0 0 1rem;
  }
  
  label {
    display: inline-block;
    margin-bottom: .5rem;
  }
  
  .dash-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.875rem;
  }
  
  .dash-list__item {
    margin-bottom: 1rem;
    position: relative;
    padding-left: 1.875rem;
  }
  
  .dash-list__dash {
    position: absolute;
    height: 2px;
    width: 1.25rem;
    left: 0;
    top: 0.625rem;
  }
  
  .dash-list__item--inline {
    display: inline-block;
  }
  
  .singlekey {
    padding: 0px 0.125rem;
    border-radius: 0.1875rem;
    text-transform: uppercase;
    font-size: 0.8125rem;
    font-weight: 600;
    margin: 0 0.125rem;
    display: inline-block;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  /* -------------------------------------------------------------------------- */
  /*	3. Components
  /* -------------------------------------------------------------------------- */
  .button {
    display: inline-block;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border: 0;
    font-size: 1rem;
    line-height: 1.5;
    text-decoration: none;
    cursor: pointer;
  }
  
  .button .material-icons {
    vertical-align: middle;
  }
  
  .button--default,
  .button--secondary,
  .button--link {
    height: 2.75rem;
    border-radius: 0.125rem;
    position: relative;
  }
  
  a.button,
  .button--default,
  .button--secondary,
  .button--link,
  .button--icon {
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off a.button, .animation-off
  .button--default, .animation-off
  .button--secondary, .animation-off
  .button--link, .animation-off
  .button--icon {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .button--link {
    background-color: transparent;
  }
  
  a.button {
    line-height: 2.75rem;
  }
  
  a.button:hover, a.button:active {
    text-decoration: none;
  }
  
  .button--default,
  .button--secondary {
    padding: 0 1.25rem;
  }
  
  .button--default:hover .line--underline, .button--default:focus .line--underline, .button--default:active .line--underline, .button--default.active .line--underline {
    background-size: 100% 2px;
  }
  
  .button--default .button__spinner {
    display: none;
  }
  
  .button--spinner {
    pointer-events: none;
    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;
  }
  
  .button--spinner .button__text {
    display: none !important;
  }
  
  .button--spinner .button__spinner {
    display: inline-block !important;
  }
  
  .button__spinner {
    display: none;
  }
  
  .button__text {
    vertical-align: middle;
  }
  
  .button--icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1.375rem !important;
    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;
  }
  
  .button--icon svg {
    width: 24px;
    height: 24px;
  }
  
  .button--icon-hover-color svg {
    -webkit-transition: fill 0.2s ease-in-out;
    transition: fill 0.2s ease-in-out;
  }
  
  .animation-off .button--icon-hover-color svg {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .button--icon-default,
  .button--icon-color {
    background-color: transparent;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .button--icon-default, .animation-off
  .button--icon-color {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .button--icon-default svg,
  .button--icon-color svg {
    -webkit-transition: fill 0.2s ease-in-out;
    transition: fill 0.2s ease-in-out;
  }
  
  .animation-off .button--icon-default svg, .animation-off
  .button--icon-color svg {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .button--disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.4 !important;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  
  .animation-off .button--disabled {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .button--carousel {
    -webkit-box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.2);
            box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.2);
  }
  
  body.rtl .button--carousel .material-icons {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  
  .form-contact {
    position: relative;
    padding: 0.9375rem 1.25rem;
  }
  
  .form-contact__two-columns {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .form-contact__two-columns {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
    }
  }
  
  .form-contact__surface {
    position: absolute;
    top: 0;
    right: 3.125rem;
    bottom: 0;
    left: 0px;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .form-contact__surface {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 48rem) {
    .form-contact__surface {
      left: -0.9375rem;
    }
  }
  
  .form-group {
    margin-bottom: 1rem;
    position: relative;
  }
  
  .form-group .material-icons {
    display: none;
  }
  
  .form-group.form-group--error .material-icons,
  .form-group .form__message--error .material-icons,
  .form-group .form__message--success .material-icons {
    display: block;
  }
  
  .form__field {
    display: block;
    width: 100%;
    height: 3.4375rem;
    padding: .375rem .75rem;
    line-height: 1.5;
    background-clip: padding-box;
    border-radius: 0.125rem;
    border: 0;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    -webkit-transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .form__field {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .form__field:focus {
    outline: 0;
  }
  
  textarea.form__field {
    height: auto;
  }
  
  .form__field--error {
    -webkit-box-shadow: 0 0 0 2px #DC2E2E;
            box-shadow: 0 0 0 2px #DC2E2E;
  }
  
  .form__button-wrapper {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  
  .form__message {
    display: none;
    padding: 1rem;
    border-radius: 0.25rem;
    position: relative;
  }
  
  .form__message--error {
    background-color: #DC2E2E;
  }
  
  .form__message--success {
    background-color: #1C8753;
  }
  
  .form__message--visible {
    display: block;
  }
  
  .form__field-icon {
    position: absolute;
    top: 2.375rem;
    right: 0.375rem;
    color: #DC2E2E;
  }
  
  .form__live-region-icon {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
  }
  
  .navigation {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  
  .navigation--site {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3.75rem;
    margin-bottom: 0.625rem;
  }
  
  @media only screen and (min-width: 62rem) {
    .navigation--site {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-top: 0;
      margin-bottom: 0;
      margin-right: 0.625rem;
    }
  }
  
  .navigation--portfolio {
    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;
  }
  
  .navigation__link {
    position: relative;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding: 0.625rem 0.5rem;
    display: block;
    background-color: transparent;
    border: 0;
    border-radius: 0.125rem;
    text-decoration: none;
    font-weight: 500;
    background-repeat: no-repeat;
    background-size: 0px 2px;
    background-position: 0px 88%;
    -webkit-transition: background-size 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: background-size 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: background-size 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: background-size 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .navigation__link {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .navigation__link:hover, .navigation__link:focus, .navigation__link:active, .navigation__link.active, .navigation__link.navigation__link--active {
    text-decoration: none;
    background-size: 100% 2px;
  }
  
  .skill-bar__bg {
    width: 100%;
    height: 0.4375rem;
    border-radius: 0.4375rem;
    overflow: hidden;
    margin-bottom: 1rem;
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  
  .skill-bar__amount {
    height: 100%;
    border-radius: 0.4375rem;
  }
  
  .skill-bar__title {
    margin-bottom: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  
  .spinner-dual-ring {
    display: inline-block;
    width: 2.75rem;
    height: 2.75rem;
  }
  
  .animation-off .spinner-dual-ring {
    display: none;
  }
  
  .spinner-dual-ring > span {
    display: block;
    width: 1.875rem;
    height: 1.875rem;
    margin: 0.4375rem;
    border-radius: 50%;
    -webkit-animation: spinner-dual-ring 1.2s linear infinite;
            animation: spinner-dual-ring 1.2s linear infinite;
    border-width: 0.25rem;
    border-style: solid;
  }
  
  @-webkit-keyframes spinner-dual-ring {
    0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg);
    }
  }
  
  @keyframes spinner-dual-ring {
    0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg);
    }
  }
  
  .switch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  
  .switch__label {
    margin-right: 0.25rem;
    margin-bottom: 0;
  }
  
  .switch__button {
    padding: 0;
    border: 0;
    position: relative;
    cursor: pointer;
    margin: 0;
    display: inline-block;
    border-radius: 2.75rem;
    width: 4rem;
    height: 1.75rem;
    text-transform: uppercase;
    font-weight: bold;
    text-align: right;
    font-size: 0.875rem;
    -webkit-transition: background-color 0.2s ease-in-out 0.2s, -webkit-box-shadow 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out 0.2s, -webkit-box-shadow 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out 0.2s, box-shadow 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out 0.2s, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .switch__button {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .switch__button-key {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 2.5rem;
    background-color: #ffffff;
    position: absolute;
    top: 0.25rem;
    left: 0;
    -webkit-transform: translateX(0.25rem);
            transform: translateX(0.25rem);
    -webkit-transition: -webkit-transform .2s ease-in-out;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
  }
  
  .animation-off .switch__button-key {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .switch__button[role="switch"][aria-checked="false"] .switch__button-text--on {
    display: none;
  }
  
  .switch__button[role="switch"][aria-checked="true"] {
    background-color: #176eff;
    text-align: left;
  }
  
  .switch__button[role="switch"][aria-checked="true"] .switch__button-key {
    -webkit-transform: translateX(2.5rem);
            transform: translateX(2.5rem);
  }
  
  .switch__button[role="switch"][aria-checked="true"] .switch__button-text--off {
    display: none;
  }
  
  .switch__button-text--on {
    margin-left: 0.75rem;
    color: white;
  }
  
  .switch__button-text--off {
    margin-right: 0.5rem;
  }
  
  .line {
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .line {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .line--horizontal {
    height: 2px;
  }
  
  .line--vertical {
    width: 2px;
  }
  
  .line--banner {
    right: 0;
    left: 0.5rem;
    position: absolute;
    display: block;
    top: 0.125rem;
  }
  
  .line--heading {
    width: 6.25rem;
    margin: 1rem 0;
    position: relative;
    left: -1.875rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .line--heading {
      width: 9.375rem;
      left: -3.75rem;
    }
  }
  
  .line--social-links {
    height: 5rem;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    position: absolute;
  }
  
  .line--about-me {
    width: 12.5rem;
    bottom: -1.875rem;
    left: -0.9375rem;
    position: absolute;
  }
  
  @media only screen and (min-width: 48rem) {
    .line--about-me {
      left: -1.875rem;
    }
  }
  
  .line--service {
    width: 6.875rem;
    position: relative;
    left: -2.1875rem;
    margin: 1rem 0;
  }
  
  .line--portfolio {
    position: absolute;
    top: 1.25rem;
    width: 5rem;
    left: -0.9375rem;
  }
  
  .line--separator {
    width: 1.25rem;
    display: inline-block;
    margin: 0 0.625rem 0 0.625rem;
  }
  
  .line-text {
    position: relative;
    padding-right: 0.625rem;
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  
  .line--post {
    width: 5rem;
    margin-top: 1.5rem;
  }
  
  .line--underline {
    background-repeat: no-repeat;
    background-size: 0px 2px;
    background-position: 0px 100%;
    padding: 0.125rem 0.25rem;
    -webkit-transition: background-size 0.2s ease-in-out;
    transition: background-size 0.2s ease-in-out;
  }
  
  .animation-off .line--underline {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .line--underline:hover, .line--underline:focus, .line--underline:active, .line--underline.active {
    background-size: 100% 2px;
  }
  
  .timeline {
    position: relative;
    max-width: 25rem;
    padding-left: 1.5rem;
    margin-top: 2rem;
  }
  
  .timeline__vertical-line {
    position: absolute;
    top: 0;
    bottom: -1.875rem;
    left: 0;
    width: 2px;
  }
  
  .timeline__start-point {
    position: absolute;
    bottom: -1.875rem;
    left: -0.375rem;
    width: 0.875rem;
    height: 0.875rem;
    border-radius: 0.875rem;
    border-width: 2px;
    border-style: solid;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .timeline__start-point {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .timeline__title {
    margin-bottom: 2.5rem;
  }
  
  .timeline__item {
    margin-bottom: 2.5rem;
    position: relative;
  }
  
  .timeline__item-bullet {
    position: absolute;
    top: 0.375rem;
    left: -1.8125rem;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 0.75rem;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .timeline__item-bullet {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .timeline__item-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  
  .timeline__item-p {
    margin-top: 1.25rem;
  }
  
  /* -------------------------------------------------------------------------- */
  /*	4. Sections
  /* -------------------------------------------------------------------------- */
  .a11y-preferences {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 3;
  }
  
  .a11y-preferences.a11y-preferences--visible {
    display: block;
  }
  
  .a11y-preferences.a11y-preferences--visible .a11y-preferences__dialog {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-box-shadow: -5px 7px 10px rgba(0, 0, 0, 0.2);
            box-shadow: -5px 7px 10px rgba(0, 0, 0, 0.2);
    visibility: visible;
    -webkit-transition: visibility 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: visibility 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, visibility 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, visibility 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  }
  
  .animation-off .a11y-preferences.a11y-preferences--visible .a11y-preferences__dialog {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .a11y-preferences__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
  }
  
  .a11y-preferences__dialog {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem 1.5rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    border-bottom-left-radius: 0.125rem;
    visibility: hidden;
    -webkit-transition: visibility 0.2s ease-in-out 0.2s, -webkit-transform 0.2s ease-in-out;
    transition: visibility 0.2s ease-in-out 0.2s, -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, visibility 0.2s ease-in-out 0.2s;
    transition: transform 0.2s ease-in-out, visibility 0.2s ease-in-out 0.2s, -webkit-transform 0.2s ease-in-out;
  }
  
  .animation-off .a11y-preferences__dialog {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .a11y-preferences__control {
    padding: 0.625rem 0;
  }
  
  .a11y-preferences__footer {
    text-align: right;
    padding-top: 1rem;
  }
  
  .a11y-preferences__instruction-line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  
  .banner {
    min-height: 100vh;
    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;
    padding-top: 3.75rem;
    position: relative;
  }
  
  .banner__full-cover {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  
  .banner__full-cover img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    width: 100%;
    height: 100%;
  }
  
  .banner__full-cover-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .banner__content {
    position: relative;
    z-index: 1;
  }
  
  @media only screen and (min-width: 48rem) {
    .banner__content {
      left: 3.75rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .banner__content {
      margin-top: 3.75rem;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .banner__content {
      margin-top: 3.625rem;
    }
  }
  
  .banner__img {
    margin-left: -1.875rem;
    margin-right: 0.9375rem;
    margin-top: -0.9375rem;
  }
  
  @media only screen and (min-width: 62rem) {
    .banner__img {
      margin-top: 0;
      margin-right: -0.9375rem;
    }
  }
  
  .banner__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
  }
  
  @media only screen and (min-width: 62rem) {
    .banner__grid {
      -ms-grid-columns: 41.666667% 58.333333%;
          grid-template-columns: 41.666667% 58.333333%;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .banner__grid--fullscreen {
      -ms-grid-columns: 83.333333%;
          grid-template-columns: 83.333333%;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .banner__grid--fullscreen {
      -ms-grid-columns: 50%;
          grid-template-columns: 50%;
    }
  }
  
  .banner__introductory {
    margin-top: 1.875rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  
  .site--composition .banner__introductory {
    margin-left: 2.8125rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .site--composition .banner__introductory {
      margin-left: 3.75rem;
    }
  }
  
  .banner__introductory-text {
    max-width: 80%;
    font-size: 1.3125rem;
  }
  
  .banner__introductory-line {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    position: relative;
  }
  
  .banner__box {
    position: relative;
    margin-top: 1.875rem;
    border-radius: 0.125rem;
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  
  .site--composition .banner__box {
    padding: 1.875rem;
    margin-left: 0.9375rem;
    margin-right: -0.9375rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .site--composition .banner__box {
      margin-left: 1.875rem;
      margin-right: 0;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .banner__button {
      position: absolute !important;
      bottom: -1.375rem;
      left: 1.875rem;
    }
  }
  
  .site--full-cover .banner {
    display: block;
  }
  
  @media only screen and (min-width: 48rem) {
    .site--full-cover .banner .banner__button {
      position: relative !important;
      bottom: initial;
      left: initial;
    }
  }
  
  .site--full-cover .banner .banner__box {
    max-width: 35.625rem;
  }
  
  .about__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .about__grid {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
    }
  }
  
  .about__img {
    margin-left: auto;
    margin-right: 0;
    width: 90%;
    display: block;
    position: relative;
    -webkit-box-shadow: -7px 14px 32px rgba(0, 0, 0, 0.25), -10px 10px 20px rgba(0, 0, 0, 0.22);
            box-shadow: -7px 14px 32px rgba(0, 0, 0, 0.25), -10px 10px 20px rgba(0, 0, 0, 0.22);
  }
  
  @media only screen and (min-width: 48rem) {
    .about__img {
      margin-right: 0.9375rem;
      width: 80%;
    }
  }
  
  .about__img-bg {
    margin-left: 0;
    margin-right: auto;
    width: 80%;
    position: absolute;
    left: 0;
    top: 3.75rem;
    bottom: -3.75rem;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .about__img-bg {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .about__content {
    margin-top: 5.625rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .about__content {
      margin-top: 0;
    }
  }
  
  .about__content-list-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .about__content-list-grid {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
    }
  }
  
  .hire-me {
    padding: 1.875rem 0;
    margin-top: 3.75rem;
    position: relative;
    padding-left: 10%;
  }
  
  @media only screen and (min-width: 48rem) {
    .hire-me {
      padding-left: 20%;
      margin-top: 9.375rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .hire-me {
      padding-left: 30%;
      margin-bottom: 3.125rem;
    }
  }
  
  .hire-me__surface {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 14%;
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  
  @media only screen and (min-width: 48rem) {
    .hire-me__surface {
      width: 25%;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .hire-me__surface {
      width: 34%;
    }
  }
  
  .hire-me__line {
    position: absolute;
    bottom: 3.0625rem;
    right: 0;
    width: calc(90% - 6.875rem);
    height: 2px;
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  
  @media only screen and (min-width: 48rem) {
    .hire-me__line {
      width: calc(80% - 6.875rem);
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .hire-me__line {
      width: calc(70% - 6.875rem);
    }
  }
  
  .hire-me__content {
    position: relative;
  }
  
  .hire-me__button {
    margin-top: 1rem;
  }
  
  .experience__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .experience__grid {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
    }
  }
  
  .services__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
    row-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .services__grid {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .services__grid {
      -ms-grid-columns: 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr;
    }
  }
  
  .service__box {
    padding: 1.25rem;
    height: 100%;
    border-radius: 0.125rem;
  }
  
  .service__icon .material-icons {
    font-size: 2.5rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .service__icon .material-icons {
      font-size: 2.8125rem;
    }
  }
  
  .service__p {
    margin-bottom: 0;
  }
  
  .portfolio__filter-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .portfolio__grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
    row-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio__grid {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
      margin: 0 -0.9375rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio__grid {
      -ms-grid-columns: 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr;
    }
  }
  
  .portfolio__thumb {
    padding: 0.9375rem 0;
    width: 100%;
  }
  
  .animation-off .portfolio__thumb {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio__thumb {
      padding: 0.9375rem;
      width: 50%;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio__thumb {
      width: 33.333333%;
    }
  }
  
  .portfolio__thumb-title {
    margin-bottom: .5rem;
  }
  
  .portfolio__grid-link {
    display: block;
    cursor: pointer;
    overflow: hidden;
    position: relative;
    border-radius: 0.125rem;
    -webkit-transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .portfolio__grid-link {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio__grid-link:hover .portfolio__gallery-img, .portfolio__grid-link:focus .portfolio__gallery-img, .portfolio__grid-link:active .portfolio__gallery-img {
      -webkit-transform: scale(1.05);
              transform: scale(1.05);
    }
    .portfolio__grid-link:hover .portfolio__grid-link-infos, .portfolio__grid-link:focus .portfolio__grid-link-infos, .portfolio__grid-link:active .portfolio__grid-link-infos {
      top: 0.625rem;
      right: 0.625rem;
      bottom: 0.625rem;
      left: 0.625rem;
      opacity: 1;
    }
  }
  
  .portfolio__gallery-img {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  
  .animation-off .portfolio__gallery-img {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .portfolio__grid-link-infos {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
    opacity: 0;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.35);
            box-shadow: 0 0 15px rgba(0, 0, 0, 0.35);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  
  .animation-off .portfolio__grid-link-infos {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .portfolio__grid-link-infos-header {
    padding-top: 2.5rem;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 1.25rem;
    display: none;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio__grid-link-infos-header {
      display: block;
    }
  }
  
  .portfolio__grid-link-category {
    font-size: 0.875rem;
    text-transform: uppercase;
    font-weight: 600;
    list-style: none;
    margin: 0 0 1rem 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  
  .portfolio__grid-link-category-item {
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-right: 0.5rem;
  }
  
  .portfolio__grid-link-infos-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-top: 0;
    padding-right: 1.25rem;
    padding-bottom: 1.25rem;
    padding-left: 0;
  }
  
  .portfolio-modal {
    z-index: 3;
    position: fixed;
    top: 0;
    right: 99999px;
    bottom: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
  }
  
  .portfolio-modal--active {
    right: 0;
    visibility: visible;
  }
  
  .portfolio-modal__main {
    height: 100vh;
    max-height: 100vh;
    min-height: 100vh;
    padding-bottom: 3.75rem;
    overflow: hidden;
    position: relative;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-modal__main {
      padding-bottom: 0;
    }
  }
  
  .portfolio-modal__main-inner {
    height: 100%;
    overflow: auto;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-modal__main-inner {
      padding-top: 0.9375rem;
      padding-bottom: 1.875rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio-modal__main-inner {
      padding-top: 1.875rem;
      padding-bottom: 3.75rem;
    }
  }
  
  .portfolio-modal__carousel {
    max-width: 31.25rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-modal__carousel {
      width: 37.5rem;
      max-width: 50rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio-modal__carousel {
      width: 43.75rem;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .portfolio-modal__carousel {
      width: 50rem;
    }
  }
  
  .portfolio-item__content {
    opacity: 0;
  }
  
  .portfolio-item__imgs-carousel .owl-prev:hover,
  .portfolio-item__imgs-carousel .owl-next:hover {
    background-color: transparent !important;
  }
  
  .portfolio-item__imgs-carousel .owl-prev:not(.disabled):hover .portfolio-item__imgs-carousel-nav {
    -webkit-transform: translateX(-0.3125rem);
            transform: translateX(-0.3125rem);
  }
  
  .portfolio-item__imgs-carousel .owl-next:not(.disabled):hover .portfolio-item__imgs-carousel-nav {
    -webkit-transform: translateX(0.3125rem);
            transform: translateX(0.3125rem);
  }
  
  .portfolio-item__header {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: 1rem;
    margin-bottom: 1.5rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-item__header {
      padding-left: 0;
      padding-right: 0;
    }
  }
  
  .portfolio-item__imgs {
    opacity: 0;
  }
  
  .animation-off .portfolio-item__imgs {
    opacity: 1;
  }
  
  .portfolio-item__img-wrapper {
    margin-bottom: 1rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-item__title {
      font-size: 1.375rem;
    }
  }
  
  .portfolio-item__category {
    margin-right: 0.5rem;
  }
  
  .portfolio-item__subtitle {
    font-weight: 600;
    padding-top: 0.625rem;
  }
  
  .portfolio-item__description {
    position: relative;
    padding-top: 2.5rem;
    padding-right: 1.25rem;
    padding-bottom: 3.125rem;
    padding-left: 1.875rem;
    margin-right: -0.9375rem;
    margin-bottom: 0.9375rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-item__description {
      padding-left: 2.5rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio-item__description {
      padding-left: 3.125rem;
    }
  }
  
  .portfolio-item__description-p,
  .portfolio-item__description-list {
    max-width: 31.25rem;
  }
  
  .portfolio-nav {
    height: 3.75rem;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-shadow: 0 -5px 20px 0px rgba(0, 0, 0, 0.25);
            box-shadow: 0 -5px 20px 0px rgba(0, 0, 0, 0.25);
    padding: 0 0.9375rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav {
      -webkit-box-shadow: none;
              box-shadow: none;
      height: 0;
      overflow: hidden;
    }
  }
  
  .portfolio-nav__button--close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    opacity: 0;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav__button--close {
      position: fixed !important;
      top: 2.5rem;
      right: 2.5rem;
    }
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav__button--mobile {
      display: none;
    }
  }
  
  .portfolio-nav__button--desktop {
    display: none;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav__button--desktop {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  .portfolio-nav__button--prev,
  .portfolio-nav__button--next {
    opacity: 0;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav__button--prev,
    .portfolio-nav__button--next {
      position: fixed !important;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
    }
  }
  
  .portfolio-nav__button--prev .material-icons {
    position: relative;
    left: 0.25rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav__button--prev {
      left: 1.25rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio-nav__button--prev {
      left: 8%;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .portfolio-nav__button--prev {
      left: 12%;
    }
  }
  
  .portfolio-nav__button--next .material-icons {
    position: relative;
    left: 0.125rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .portfolio-nav__button--next {
      right: 1.25rem;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .portfolio-nav__button--next {
      right: 3.75rem;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .portfolio-nav__button--next {
      right: 12%;
    }
  }
  
  .portfolio-item__imgs-carousel-nav {
    padding: 0.625rem 0.3125rem;
    display: inline-block;
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  }
  
  .animation-off .portfolio-item__imgs-carousel-nav {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  body.rtl .portfolio-item__imgs-carousel-nav svg {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  
  .portfolio-item__imgs-carousel-counter {
    text-align: center;
    width: 3.75rem;
    display: inline-block;
    font-size: 0.875rem;
    letter-spacing: .2em;
  }
  
  .portfolio-item__link-icon {
    position: absolute !important;
    right: 0.375rem;
    bottom: 0.625rem;
  }
  
  .clients-subtitle {
    text-align: center;
    margin-bottom: 1.5rem;
  }
  
  .clients-testimonials {
    margin-bottom: 4.375rem;
    padding: 0.9375rem;
    border-radius: 0.125rem;
    list-style: none;
    -webkit-box-shadow: -7px 14px 32px rgba(0, 0, 0, 0.15), -10px 10px 20px rgba(0, 0, 0, 0.12);
            box-shadow: -7px 14px 32px rgba(0, 0, 0, 0.15), -10px 10px 20px rgba(0, 0, 0, 0.12);
  }
  
  .clients-testimonials .owl-dots {
    margin-top: 1.875rem !important;
  }
  
  .clients-testimonials.owl-theme .owl-dots .owl-dot.active span {
    width: 1.875rem;
  }
  
  .clients-testimonials.owl-theme .owl-dots .owl-dot span {
    -webkit-transition: opacity 0.2s ease-in-out, width 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out, width 0.2s ease-in-out;
  }
  
  .animation-off .clients-testimonials.owl-theme .owl-dots .owl-dot span {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 48rem) {
    .clients-testimonials {
      padding: 0.9375rem 0;
    }
  }
  
  .clients-testimonials__item {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  
  .clients-testimonials__item-inner {
    max-width: 39.375rem;
    position: relative;
    margin: 0 auto;
  }
  
  .clients-testimonials__avatar {
    width: 6.5625rem;
    height: 6.5625rem;
    border-radius: 3.28125rem;
    padding: 0.9375rem;
    position: absolute;
    top: -3.28125rem;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
  }
  
  .testimonials__img {
    border-radius: 6.5625rem;
    -webkit-box-shadow: 2px 2px 9px 1px rgba(0, 0, 0, 0.3);
            box-shadow: 2px 2px 9px 1px rgba(0, 0, 0, 0.3);
  }
  
  .clients-testimonials__content {
    position: relative;
    margin-top: 3.28125rem;
    padding-top: 4.0625rem;
    padding-bottom: 0.9375rem;
    padding-left: 0.5rem;
  }
  
  .clients-testimonials__surface {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 4.0625rem;
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  
  .clients-testimonials__p {
    font-style: italic;
    position: relative;
    max-width: 31.25rem;
    padding-right: 0.9375rem;
    font-size: 1.125rem;
  }
  
  .clients-testimonials__line {
    position: absolute;
    top: -1.25rem;
    left: 0;
    height: 0.125rem;
    width: 6.25rem;
  }
  
  .clients-testimonials__footer {
    padding-top: 0.625rem;
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  
  .clients-testimonials-nav {
    position: relative;
  }
  
  .testimonials__nav-button--prev,
  .testimonials__nav-button--next {
    position: absolute !important;
    top: 50%;
  }
  
  .testimonials__nav-button--prev {
    left: 1.25rem;
  }
  
  .testimonials__nav-button--next {
    right: 1.25rem;
  }
  
  .clients-logos {
    margin-top: 3.125rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    row-gap: 20px;
    list-style: none;
    padding-left: 0;
  }
  
  .clients-logos img {
    display: block;
    margin: 0 auto;
  }
  
  @media only screen and (min-width: 48rem) {
    .clients-testimonials__line {
      top: -1.8125rem;
      width: 12.5rem;
    }
    .clients-testimonials__avatar {
      width: 8.125rem;
      height: 8.125rem;
      border-radius: 4.0625rem;
      padding: 1.25rem;
      top: -4.0625rem;
      right: 0;
      -webkit-transform: none;
              transform: none;
    }
    .clients-testimonials__content,
    .clients-testimonials__footer {
      margin-right: 4.0625rem;
    }
    .clients-logos {
      -ms-grid-columns: 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .clients-logos {
      -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    }
  }
  
  .blog__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
    row-gap: 30px;
  }
  
  @media only screen and (min-width: 48rem) {
    .blog__grid {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .blog__grid {
      -ms-grid-columns: 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr;
    }
  }
  
  .blog-post {
    position: relative;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 3rem;
  }
  
  .blog-post__surface {
    position: absolute;
    top: 1.25rem;
    right: 0;
    bottom: 3rem;
    left: 3.125rem;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .blog-post__surface {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .blog-post__header {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  
  .blog-post__title a {
    text-decoration: none;
    -webkit-transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .blog-post__title a {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .blog-post__title a:hover {
    text-decoration: underline;
  }
  
  .blog-post__img-link {
    display: block;
    -webkit-transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .blog-post__img-link {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .blog-post__img {
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transition: opacity 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .blog-post__img {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .blog-post__img,
  .blog-post__content,
  .blog-post__header {
    width: calc(100% - 3.125rem);
  }
  
  .blog-post__footer {
    position: relative;
    padding-right: 1.25rem;
    text-align: right;
    padding-bottom: 1.25rem;
  }
  
  .blog-post__read-more {
    text-decoration: underline;
    font-weight: 500;
    -webkit-transition: color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .blog-post__read-more {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .blog-post__date {
    text-align: right;
    margin-bottom: 0;
  }
  
  .blog-post__author-name {
    display: inline-block;
  }
  
  .contact__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -webkit-column-gap: 30px;
            column-gap: 30px;
    row-gap: 30px;
  }
  
  @media only screen and (min-width: 62rem) {
    .contact__grid {
      -ms-grid-columns: 33.333333% 66.666666%;
          grid-template-columns: 33.333333% 66.666666%;
    }
  }
  
  .contact-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 2rem;
    margin-top: 0.125rem;
  }
  
  .contact-info__icon {
    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;
    width: 1.375rem;
    height: 1.375rem;
    font-size: 1.25rem;
    margin-right: 1rem;
    position: relative;
    top: 0.125rem;
  }
  
  .section {
    padding-top: 3.75rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .section {
      padding-top: 5.625rem;
    }
  }
  
  .section__header {
    margin-bottom: 1.875rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .section__header {
      margin-bottom: 3.75rem;
    }
  }
  
  .section__header-p {
    max-width: 17.5rem;
    font-size: 1rem;
  }
  
  /* -------------------------------------------------------------------------- */
  /*	5. Site
  /* -------------------------------------------------------------------------- */
  .site-preloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9;
    opacity: 1;
    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;
  }
  
  .site-is-loading {
    overflow: hidden;
  }
  
  .site-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    z-index: 2;
  }
  
  .site-skip-link {
    position: absolute;
    left: -9999rem;
    top: 0.4375rem;
    text-decoration: underline;
    font-size: 1rem;
    font-weight: 600;
    clip: rect(1px 1px 1px 1px);
    border-radius: 0.25rem;
    padding: 0.625rem 0.9375rem;
    z-index: 9999999;
    border: 0;
    font-size: 1.125rem;
  }
  
  .site-skip-link:focus {
    clip: auto;
    left: 0.4375rem;
    outline: 0;
  }
  
  .headroom {
    will-change: transform;
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  }
  
  .animation-off .headroom {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .headroom--pinned {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  
  .headroom--unpinned {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  
  .site-brand {
    font-weight: 600;
    font-size: 1.5rem;
    text-decoration: none;
    border-radius: 0.125rem;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .site-brand {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .site-brand:hover, .site-brand:active, .site-brand:focus {
    text-decoration: none;
  }
  
  .site-brand-img {
    height: 2.5rem;
    max-height: 2.5rem;
    width: auto;
  }
  
  .site-navigation {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: none;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .site-navigation {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-navigation {
      position: static;
      top: initial;
      right: initial;
      bottom: initial;
      left: initial;
      width: auto;
      height: auto;
      background-color: transparent;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  .site-menu-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-menu-wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
    }
  }
  
  .site-navigation--mobile-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    z-index: 1;
    overflow: auto;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-navigation--mobile-active {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
    }
  }
  
  .site-header--mobile-navigation-active {
    z-index: 3;
  }
  
  .site-navigation__theme-buttons {
    padding-top: 0.625rem;
    padding-right: 0;
    padding-bottom: 0.625rem;
    padding-left: 0;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .site-navigation__theme-buttons {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-navigation__theme-buttons {
      padding-top: 0;
      padding-right: 0;
      padding-bottom: 0;
      padding-left: 0.625rem;
      border-left-width: 1px;
      border-left-style: solid;
    }
  }
  
  .site-navigation-toggler {
    height: 2.5rem;
    width: 2.5rem;
    position: relative;
    background-color: transparent;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-navigation-toggler {
      display: none;
    }
  }
  
  .site-navigation-toggler__lines {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    height: 1.5rem;
  }
  
  .site-navigation-toggler__first-line,
  .site-navigation-toggler__middle-line,
  .site-navigation-toggler__last-line {
    width: 1.375rem;
    height: 0.125rem;
    position: absolute;
    left: 50%;
  }
  
  .site-navigation-toggler__first-line {
    top: 0.3125rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: top 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: top 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: top 0.2s ease-in-out, transform 0.2s ease-in-out;
    transition: top 0.2s ease-in-out, transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  }
  
  .animation-off .site-navigation-toggler__first-line {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .site-navigation-toggler__middle-line {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  
  .site-navigation-toggler__last-line {
    bottom: 0.3125rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: bottom 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: bottom 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: bottom 0.2s ease-in-out, transform 0.2s ease-in-out;
    transition: bottom 0.2s ease-in-out, transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  }
  
  .animation-off .site-navigation-toggler__last-line {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  .site-navigation-toggler--close {
    position: absolute;
    top: 10px;
    right: 15px;
  }
  
  .site-navigation-toggler--active .site-navigation-toggler__lines .site-navigation-toggler__first-line,
  .site-navigation-toggler--active .site-navigation-toggler__lines .site-navigation-toggler__middle-line,
  .site-navigation-toggler--active .site-navigation-toggler__lines .site-navigation-toggler__last-line {
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .site-navigation-toggler--active .site-navigation-toggler__lines .site-navigation-toggler__first-line {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  
  .site-navigation-toggler--active .site-navigation-toggler__lines .site-navigation-toggler__middle-line {
    display: none;
  }
  
  .site-navigation-toggler--active .site-navigation-toggler__lines .site-navigation-toggler__last-line {
    top: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  
  .site-social-links {
    margin-bottom: 1.25rem;
    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;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-social-links--header {
      display: none;
    }
  }
  
  .site-social-links--footer {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0.9375rem;
    padding-bottom: 5.625rem;
    margin-bottom: 0;
    z-index: 1;
  }
  
  @media only screen and (min-width: 62rem) {
    .site-social-links--footer {
      display: block;
    }
  }
  
  .site-title {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .site-title {
      font-size: 3rem;
    }
  }
  
  .site-subtitle {
    font-size: 1.3125rem;
    margin-bottom: 1.875rem;
    max-width: 31.25rem;
  }
  
  .site-footer {
    padding: 5.625rem 0 1.875rem 0;
    text-align: center;
  }
  
  .site-footer__button {
    margin-top: 1rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .site-footer__button {
      margin-top: 1.5rem;
    }
  }
  
  .site-colophon {
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    font-size: 0.75rem;
  }
  
  .site-colophon a {
    -webkit-transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: -webkit-box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out, -webkit-box-shadow 0.2s ease-in-out;
  }
  
  .animation-off .site-colophon a {
    -webkit-transition-duration: 0.01s !important;
            transition-duration: 0.01s !important;
  }
  
  @media only screen and (min-width: 48rem) {
    .site-social-links__button {
      margin-bottom: .25rem;
    }
  }
  
  /* -------------------------------------------------------------------------- */
  /*	6. Helpers
  /* -------------------------------------------------------------------------- */
  .list-reset {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .img-fluid {
    max-width: 100%;
    height: auto;
  }
  
  .bold {
    font-weight: 600;
  }
  
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  
  .d-none {
    display: none;
  }
  
  .d-block {
    display: block;
  }
  
  .d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  
  @media only screen and (min-width: 36rem) {
    .d-sm-none {
      display: none;
    }
    .d-sm-block {
      display: block;
    }
    .d-sm-flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  @media only screen and (min-width: 48rem) {
    .d-md-none {
      display: none;
    }
    .d-md-block {
      display: block;
    }
    .d-md-flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  @media only screen and (min-width: 62rem) {
    .d-lg-none {
      display: none;
    }
    .d-lg-block {
      display: block;
    }
    .d-lg-flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  @media only screen and (min-width: 75rem) {
    .d-xl-none {
      display: none;
    }
    .d-xl-block {
      display: block;
    }
    .d-xl-flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  .text-left {
    text-align: left;
  }
  
  .text-center {
    text-align: center;
  }
  
  .text-right {
    text-align: right;
  }
  
  .position-relative {
    position: relative;
  }
  
  .position-absolute {
    position: absolute;
  }
  
  .position-fixed {
    position: fixed;
  }
  
  .overflow-hidden {
    overflow: hidden;
  }
  
  .overflow-auto {
    overflow: auto;
  }
  
  /* -------------------------------------------------------------------------- */
  /*	7. Pages
  /* -------------------------------------------------------------------------- */
  .page-404__section {
    padding-top: 3.75rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .page-404__section {
      padding-top: 7.5rem;
    }
  }
  
  .page-404__text {
    font-size: 1.125rem;
  }
  
  @media only screen and (min-width: 48rem) {
    .page-404__text {
      font-size: 1.25rem;
    }
  }
  
  .page-404__text--bold {
    font-weight: 600;
  }
  
  .page-404__button {
    margin-top: 1.25rem;
  }
  
  /* -------------------------------------------------------------------------- */
  /*	8. Media Queries
  /* -------------------------------------------------------------------------- */
  