* { box-sizing: border-box; outline: 0 !important;}

a.custombuttonwhite{
    font-family: "proxima-nova",sans-serif;
    text-transform: uppercase;
    border-bottom: 2px solid #c4d600;
    color: white !important;
    font-size: 15px;
    letter-spacing: 3px;
    padding-bottom: 15px;
    font-weight: 400;
    padding-top: 7em;
}

a.custombutton{
    font-family: "proxima-nova",sans-serif;
    text-transform: uppercase;
    border-bottom: 2px solid #c4d600;
    color: black !important;
    font-size: 15px;
    letter-spacing: 3px;
    padding-bottom: 15px;
    font-weight: 400;
    padding-top: 7em;
}
h1 {
    font-weight: 600;
    font-size: 5em;
    line-height: 1.4em;
    font-family: 'Flecha L Light';
}

h2 {
    font-size: 3em;
    font-weight: 600;
    line-height: 1.4em;
    font-family: 'Flecha L Light';
}

h3 {
    font-size: 2em;
    font-weight: 600;
}

.pb-row {
	background-position: 50% 50%;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.video-row p {
    margin: 0 auto;
}

.video-row video, .content_rows video {
	height: 56vw !important;
}

.pb-row-bg {
	width: 100%;
    /*min-height: 47em;*/
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    background: white;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.pb-content {
	padding: 6vw 12vw;
}

.pb-col-1-3 .pb-content, .pb-col-2-3 .pb-content {
	padding: 6vw;
}

.pb-col-1-4 .pb-content, .pb-col-3-4 .pb-content {
	padding: 6vw;
}

.pb-col {
    position: relative;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    vertical-align: top;
    float: left;
}

.pb-col-bg {
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-content: flex-start;
    -moz-align-content: flex-start;
    -ms-align-content: flex-start;
    align-content: flex-start;
    height: 100%;
}

. {
	width: 100%;
	height: 100%;
}

.pb-text-dark,
.pb-text-dark h1,
.pb-text-dark h2,
.pb-text-dark h3,
.pb-text-dark h4,
.pb-text-dark h5,
.pb-text-dark h6,
.pb-text-dark p,
.pb-text-dark li
{
	color: #000000 !important;
}

.pb-text-dark a {
	color: #000000 !important;
	font-family: 'Flecha L Light';
    letter-spacing: .1em;
}

.pb-text-light,
.pb-text-light h1,
.pb-text-light h2,
.pb-text-light h3,
.pb-text-light h4,
.pb-text-light h5,
.pb-text-light h6,
.pb-text-light p,
.pb-text-light li
{
	color: #ffffff !important;
}

.pb-text-light a {
	color: #000000;
}

/* GRID SYSTEM */

.pb-col-1-2 {
	width: 50%;
}

.pb-col-1-3 {
	width: 33.33333333%;
}

.pb-col-2-3 {
	width: 66.66666666%;
}

.pb-col-1-4 {
	width: 25%;
}

.pb-col-3-4 {
	width: 75%;
}

.pb-col-full {
    width:100%
}

/*.pb-col-bg {
	position: absolute;
	height: 100%;
}*/

.pb-no-padding {
    padding: 0 !important;
}
.pb-no-top-bottom-padding,
.pb-no-bottom-top-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.content_rows_wrapper {
    clear: both;
    margin-bottom: 2.5%;
    display: inline-block;
    width: 100%;
}

.content_rows_wrapper > div {
    padding: 0 4%;
}

.caldera-grid h1 {
    font-size: 2em;
    margin: .67em 0;
    font-family: 'Flecha L Light';
}

/* Contact 7 Styling */
.grecaptcha-badge {
	display:none !important;
}

input:-webkit-autofill,
  input:-webkit-autofill:focus {
    transition: background-color 600000s 0s, color 600000s 0s;
  }

.wpcf7-form p {
    margin-bottom: 10px;
  }

p.hear-about {
    color: #6d6e70 !important;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea
{
    background-color: #000;
    border:0px;
	border-bottom: 1px solid;
    padding:0px;
    color:#fff;
}

.wpcf7-form textarea {
    height: 45px;
    min-height: auto;
}

.wpcf7 input[type="submit"] {
    color: #ffffff;
    font-family: 'Flecha L Light';
    font-size: 18px;
    background: #000;
    padding: 15px 50px 15px 50px;
    border: 2px solid;
    border-radius: 55px;
    width: auto;
    text-transform: none;
}
.wpcf7 input:hover[type="submit"] {
    background: #ffffff;
    transition: all 0.4s ease 0s;
    color:#000
}
.wpcf7 input:active[type="submit"] {
    background: #000000;
}

.wpcf7 input[type="checkbox"] {
    display: inline-block;
    width: auto;
	position: absolute;
    visibility: hidden;
}
.wpcf7-list-item  {
    margin-left: 0 !important;
    margin-right:10px !important;
  }
.wpcf7-checkbox label {
    position: relative;
    cursor: pointer;
}
.wpcf7-checkbox input[type=checkbox] + span:before {
    display: block;
    position: absolute;
    content: '';
    border-radius: 0;
    height: 25px;
    width: 25px;
    top: 0px;
    left: 0px;
    border: 1px solid #6d6e70;
}
.wpcf7-checkbox input[type=checkbox] + span:after {
    display: block;
    position: absolute;
    content: "\2713";
    height: 25px;
    width: 25px;
    top: 0;
    left: 0;
    visibility: hidden;
    font-size: 18px;
    text-align: center;
    line-height: 30px;
}
.wpcf7-checkbox input[type=checkbox]:checked + span:before {
    background: transparent;
}
.wpcf7-checkbox input[type=checkbox]:checked + span:after {
    visibility: visible;
    color:#fff;
}
.wpcf7-list-item-label {
    margin-left: 40px;
    display: inline-block;
    color:#6d6e70;
}

.wpcf7 input::placeholder {
    font-size: 18px;
    letter-spacing: 0;
    font-weight: 300;
	opacity:inherit;
}
.wpcf7 textarea::placeholder {
	font-size: 18px;
    letter-spacing: 0;
    font-weight: 300;
	opacity:inherit;
}

/* AWARDS */

.awards-level-1 {
    border-top: 1px solid #ffffff;
    padding: 5em 0;
}

.awards-year {
    display: inline-block;
    vertical-align: top;
    width: 24.7%;
}

.awards-year h1 {
	color: #ffffff;
}

.awards-level-2 {
	display: inline-block;
    width: 75%;
}

.awards-contest-name {
    display: inline-block;
    vertical-align: top;
    width: 32.7%;
}

.awards-level-3 {
    display: inline-block;
    vertical-align: top;
    width: 66%;
}

.awards-contest-row p {
	margin: 0;
	padding-right: 2em;
	color: #ffffff;
}

.award-row {
    margin-bottom: 1em;
}

.award-name {
    display: inline-block;
    vertical-align: top;
    width: 49%;
}

.awards-client-name {
    display: inline-block;
    vertical-align: top;
    width: 50%;
}

.awards-contest-row {
    border-bottom: 1px solid #000000;
    padding: 2em 0;
}

.awards-contest-row:last-child {
	border-bottom: 0px;
}

/* END AWARDS */


@media (max-width: 1000px) {
    .pb-col-1-2, .pb-col-1-3, .pb-col-2-3 {
        width: 100%;
    }
    
    .page-builder h1 {
        font-weight: 700;
        font-size: 2.8em;
    }

    .page-builder h2 {
        font-size: 1.7em;
        font-weight: 700;
    }

    .page-builder h3 {
        font-size: 1.5em;
        font-weight: 700;
    }
    
    
}

/********* PROJECT PAGE **********/

.projects-section {
	background-color: #000000;
	padding-top: 150px;
}

/* ---- button ---- */

.button-group.filter-button-group {
    text-align: center;
    padding: 8em 0 6em;
}

.projects-section .button-group.filter-button-group button {
	position: relative;
    color: #fff;
    background: #000000;
    border-bottom: 0px solid #000000;
    text-align: center;
    font-size: 18px;
    line-height: 1em;
    text-transform: initial;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    font-weight: 300;
    margin: 0 1em;
    padding: 0;
    letter-spacing: 0.08em;
    opacity: .5;
}

.button-group.filter-button-group .button.is-checked {
	color: #ffffff;
	opacity: 1;
}

/* ---- grid ---- */

.grid {
}

/* clear fix */
.grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ---- .element-item ---- */

.element-item {
  position: relative;
  float: left;
  width: 25%;
  background: #000;
  color: #fff;
  height: 25vw;
}

@media only screen and (max-width: 1000px) {
	.element-item {
	  width: 33.333333333333333%;
	}
}

@media only screen and (max-width: 768px) {
	.element-item {
	  width: 50%;
	}
}

@media only screen and (max-width: 400px) {
	.element-item {
	  width: 100%;
	}
}

.element-item > * {
  margin: 0;
  padding: 0;
}

.element-item img {
	width: 100%;
}

.element-item:hover .project-hover-detail {
    position: absolute;
    bottom: 0;
    z-index: 99999;
    left: 0;
    background: rgba(0, 0, 0, 0.60);
    width: 100%;
    height: 100%;
    padding: 10%;
    opacity: 1 !important;
    -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.project-hover-detail-inner {
    position: absolute;
    bottom: 10%;
}

.project-hover-detail-inner h1{
	font-size: 24px;
    font-family: 'garamond-premier-pro-display';
    letter-spacing: 2px;
    font-weight: 100;
    line-height: 1.2em;
    color: white;
    margin-bottom: .4em;
}

.project-hover-detail {
    position: absolute;
    bottom: 0;
    z-index: 99999;
    left: 0;
    background: rgba(0, 0, 0, 0.60);
    width: 100%;
    height: 100%;
    padding: 10%;
    opacity: 0;
    -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.project-hover-detail-inner span {
	font-family: "proxima-nova",sans-serif;
    text-transform: uppercase;
    color: white;
    font-size: 10px;
    letter-spacing: .2em;
    font-weight: 400;
    display: block;
}

.header-project-title {
	font-size: 34px;
    font-family: 'Flecha L Light';
    letter-spacing: 2px;
    font-weight: 100;
    line-height: 42px;
    color: white;
}

.single-project-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 0;
}

.project-title-info {
	z-index: 1;
	position: absolute;
}

@media (max-width: 1000px) {

	.pb-row-bg {
		display: block !important;
	}
	
	.pb-content {
		min-height: 26em !important;
	}
	
	.pb-row {
		min-height: 26em !important;
	}
	
	.pb-col {
		float: none;
	}

}
/* ----------------------------------------------------------------- Custom Slider (Nov 2023) */
.custom-slider {
    width: 100%;
    height: 100%;
    z-index: 2;
    margin-top: 0;
}
.custom-slider .slider-outer {
    width: 100%;
    height: 100vh;
	background-repeat:no-repeat;
	background-size:cover;
	position: relative;
}
.custom-slider .slider-outer:before {
	content: "";
    background: rgba(0,0,0, .35);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 10;
}
.custom-slider .slider-outer .content-inside {
    position: absolute;
    top: 59%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    padding: 0 36px 0 50px;
    text-align: left;
    z-index:99;
}
.custom-slider .main-headline {
    font-family: 'Flecha L Light', sans-serif;
    font-size: 36px;
    line-height: 1em;
    color: white;
}
.custom-slider .glide__arrow {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: transparent;
    border: 0;
    display: block;
    position: absolute;
    font-size: 0;
    opacity: 1;
    cursor: pointer;
    transition: opacity 0.5s ease-in-out;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
}
.custom-slider .glide__arrow--next {
	right:15px;
	left:auto;
}
.custom-slider .glide__arrow--next:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url("https://limb.co/wp-content/uploads/2018/04/arrowright.png") center center no-repeat transparent;
}
.custom-slider .glide__arrow--prev:after {
    background: url("https://limb.co/wp-content/uploads/2018/04/arrowleft.png") center center no-repeat transparent;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.custom-slider .glide__arrow:hover, .glide__arrow:active {
    opacity: 0.75;
}
@media (min-width: 1200px) {
	.custom-slider {
		height: 100%;
	}
    .custom-slider .slider-outer .content-inside {
	    top: 65%;
	    padding: 0 90px 0 8em;
	}
	.custom-slider .main-headline {
	    font-size: 63px;
	}
    .custom-slider .glide__arrow {
      width: 53px;
      height: 53px;
    }
	.custom-slider .glide__arrow--prev {
        left: 30px;
		right: auto;
    }
    .custom-slider .glide__arrow--next {
        right: 30px;
		left: auto;
    }
}
@media (min-width: 1600px) {
	.custom-slider .slider-outer {
	   /* height: 1200px; */
	}
}
#section-1-hometest {
    margin-left: 2em;
    margin-bottom: -5em;
}
#section-2-hometest {
    margin-left: 2em;
    margin-top: 4em;
}
#section-2-hometest .pb-content {
    padding-right: 12vw !important;
}
@media (min-width: 1200px) {
    #section-1-hometest {
        margin-left: 7.5em;
        margin-bottom: 9em;
    }
    #section-2-hometest {
        margin-left: 7.5em;
        margin-top: 9em;
    }
}
.button-special {
    text-decoration:none;
      pointer-events: auto;
      cursor: pointer;
      background: #fff;
      border: none;
      padding: 1.5rem 3rem;
      margin: 0;
      font-family: inherit;
      font-size: inherit;
      position: relative;
      display: inline-block;
  }
  
  .button-special::before,
  .button-special::after {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
  }
  .button-special--hyperion {
      font-weight: 500;
      padding: 1rem 1.5rem;
      border: 1px solid #fff;
      overflow: hidden;
      color: #fff;
  }
  .button-special--hyperion span {
      display: block;
      position: relative;
  }
  .button-special--hyperion > span {
      overflow: hidden;
  }
  .button-special--hyperion > span > span {
      overflow: hidden;
      mix-blend-mode: difference;
  }
  .button-special--hyperion:hover > span > span {
      animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s;
  }
  @keyframes MoveUpInitial {
      to {
          transform: translate3d(0,-105%,0);
      }
  }
  
  @keyframes MoveUpEnd {
      from {
          transform: translate3d(0,100%,0);
      }
      to {
          transform: translate3d(0,0,0);
      }
  }
  
  .button-special--hyperion::before {
      content: '';
      background: #000;
      transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
      transform-origin: 100% 50%;
  }
  
  .button-special--hyperion:hover::before {
      transform: scale3d(0,1,1);
      transform-origin: 0% 50%;
  }