/*
Theme Name: HEJ HEY
Theme URI: http://www.handytweak.com
Author URI: http://www.handytweak.com
Version: 1.0
License: GNU General Public License v2 or later
*/

/*Defualt*/

#fb-box-e4b0dcadf2b0c343abd64477 {
  display: none;
}

* {
    -moz-box-sizing: inherit;
    box-sizing: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    font-smoothing: antialiased;
    outline: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

@font-face {
    font-family: 'Cotta';
    src: url('./fonts/Cotta-Regular.woff2') format('woff2'),
        url('./fonts/Cotta-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'reckless_neuebook_italic';
    src: url('./fonts/recklessneue-bookitalic-webfont.woff2') format('woff2'),
         url('./fonts/recklessneue-bookitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'reckless_neuemedium';
    src: url('./fonts/recklessneue-medium-webfont.woff2') format('woff2'),
         url('./fonts/recklessneue-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'playfair_displayregular';
    src: url('./fonts/playfairdisplay-variablefont_wght-webfont.woff2') format('woff2'),
         url('./fonts/playfairdisplay-variablefont_wght-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

.story {margin-left:150px;}

.grecaptcha-badge {
    pointer-events: none;
    opacity: 0;
}

.wrapper {margin: 0 auto;max-width: 100%;position: relative;}

.clear:after, .clear:before {content: ""; display: block; height: 0; clear: both; visibility: hidden;}
.clear {zoom: 1;}
.show {display: block !important;}
.hide {display: block !important;}
.left {float: left !important;}
.right {float: right !important;}
input[type=text] {
    /* Remove First */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.content {
    padding: 0px 50px;
}

.content p {
  font-size: 16pt;
  line-height: 17pt;
}

.content p a {
  color: #000;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

li {
    margin: 0;
    padding: 0;
}

html, body {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    height: 100%;
    position: relative;
}

.box {
  width:75%;background-color:#c4b9a7;position:absolute; top:0%; right:0px;
  padding: 0px 0px 300px 0px;margin-top: 220px;
}

.box1 {
  width:75%;background-color:#c4b9a7;position:absolute; top:150%; left:0px;
  padding: 0px 0px 300px 0px;
  margin-top: 500px;
}

.box2 {
  width:75%;background-color:#c4b9a7;position:absolute; top:0%; left:0px;
  padding: 0px 0px 300px 0px;margin-top: 220px;
}


body {
    background-color: #e3ded8;
    color: #0d1f2d;
    font-family: 'playfair_displayregular';
    font-size: 13px;
    font-weight: 300;
}

.content .columns {
  position: relative;
  width: 100%;
  display: flex;
}

.content .columns .left {
  float: none !important;
  width: 50%;
  position: relative;
  padding-right: 25px;
}

.content .columns .right {
  float: none !important;
  width: 50%;
  position: relative;
  padding-left: 25px;
}

h1 {
  font-weight: normal;
  font-size: 70px;
  margin: 0px;
  line-height: 70px;
  width: 75%;
  float: right;
  margin: 0px 0px -5px 0px;
  font-family: 'reckless_neuebook_italic';
  position: relative;
  top: 1px;
  z-index: 1;
}

h2 {
  font-weight: normal;
  font-size: 50px;
  margin: 0px;
  line-height: 50px;
  font-family: 'playfair_displayregular';
  position: relative;
  top: 1px;
}

h3 {
  font-weight: normal;
  font-size: 30px;
  margin: 0px;
  line-height: 30px;
  font-family: 'playfair_displayregular';
  position: relative;
}

h2.title_22 {text-align:right;position: absolute;top: 50%;transform: translate(0%,-50%);right: 0px;}

/*Header*/

header {padding: 50px 50px 50px 50px;z-index:5;position: relative;}

header a {float: left;}

header a img {
  width: 140px;
  height: auto;
}

header p.text {
position: absolute;
width: 504px;
top: 54px;
left: 265px;
font-family: 'playfair_displayregular';
font-style: italic;
font-size: 13px;
line-height: 16px;
}

header svg {
    width: 100px;
}

header p.text a {
  text-decoration: none;
  color: #600108;
  float: none;
}

/*Static Menu*/

.menu_wrap {
    float: right;
    margin-top: 14px;
}

#menu-main-menu li a {
    text-decoration: none;
    color: #0d1f2d;
    text-transform: uppercase;
    opacity: 1;
    transition: all 0.2s ease-out;
    font-family: 'playfair_displayregular';
    font-weight: 300;
    font-size: 16px;
}

#menu-main-menu li.current_page_item {
    border-bottom: 2px solid #ac7831;
    padding-bottom: 3px;
}

#overlay_menu .menu-main-menu-container ul li.current_page_item a {

    border-bottom: 2px solid #ac7831;
}

#menu-main-menu {
    overflow: auto;
}

#menu-main-menu li {
    float: left;
    margin-left: 18px;
}

header .menu_button {
  position: relative;
  height: 35px;
  width: 35px;
  float:right;
  cursor: pointer;
  z-index: 4;
  -webkit-transition: opacity .25s ease;
          transition: opacity .25s ease;
    margin-top: 7px;
    display: none;
}

header .menu_button:hover {
    cursor:pointer;
}

header .menu_button:hover {
  opacity: .7;
}

header .menu_button.active .top {
  -webkit-transform: translateY(6px) translateX(0) rotate(45deg);
      -ms-transform: translateY(6px) translateX(0) rotate(45deg);
          transform: translateY(6px) translateX(0) rotate(45deg);
  background: #000;
}
header .menu_button.active .middle {
  opacity: 0;
  background: #000;
}
header .menu_button.active .bottom {
  -webkit-transform: translateY(-8px) translateX(0) rotate(-45deg);
      -ms-transform: translateY(-8px) translateX(0) rotate(-45deg);
          transform: translateY(-8px) translateX(0) rotate(-45deg);
  background: #000;
}

header .menu_button span {
  background: #000;
  border: none;
  height: 3px;
  width: 75%;
  position: absolute;
  top: 8px;
  left: 4px;
  -webkit-transition: all .35s ease;
          transition: all .35s ease;
  cursor: pointer;
}

header .menu_button span:nth-of-type(2) {
  top: 15px;
}

header .menu_button span:nth-of-type(3) {
  top: 22px;
}

#overlay_menu {
    width: 100%;
    height: 100%;
    position: fixed;
    background: #fff;
    z-index:3;
    display: none;
    top:0px;
    left:0px;
}

#overlay_menu .menu-main-menu-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 200px;
}

#overlay_menu .menu-main-menu-container ul li {
    padding: 5px 0px;
    font-size: 24px;
    text-transform: uppercase;
    text-align: center;
}

#overlay_menu .menu-main-menu-container ul li a {
    text-decoration: none;
    color: #0d1f2d;
    text-transform: uppercase;
    opacity: 1;
    transition: all 0.2s ease-out;
    font-family: 'playfair_displayregular';
    font-weight: 300;
}

#overlay_menu #socials {
    position: absolute;
    bottom: 25px;
    right: 50px;
}

#overlay_menu #socials ul li {
    padding: 10px 10px;
    font-size: 19px;
    text-transform: uppercase;
    text-align: center;
    float: left;
}

#overlay_menu #socials ul li a {
    text-decoration: none;
    color: #0d1f2d;
    text-transform: uppercase;
    opacity: 1;
    transition: all 0.2s ease-out;
}

#overlay_menu #socials ul li a:hover, #overlay_menu .menu-main-menu-container ul li a:hover {
  opacity: 0.7;
}

/*Home*/

@keyframes MOVE-BG1 {
 from {
   transform: rotate(0deg);
 }
 to {
   transform: rotate(-360deg);
 }
}

#foot_logo {
  animation-name: MOVE-BG1;
  animation-duration: 10s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes MOVE-BG {
 from {
   opacity: 0;
 }
 to {
   opacity: 1;
 }
}

.dot_title {
  background-color: #000;
width: 35px;
height: 35px;
display: inline-block;
border-radius: 50%;
position: relative;
top: -2px;
animation-name: MOVE-BG;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}

.dot_title_2 {
  background-color: #000;
  margin-right: 25px;
width: 25px;
height: 25px;
display: inline-block;
border-radius: 50%;
position: relative;
top: -2px;
animation-name: MOVE-BG;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}

#main-slider {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
}

#main-slider .logo-main {
    z-index: 1;
    position: absolute;
    width: 320px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

#main-slider a {
    z-index: 1;
    width: 320px;
    line-height: 0;
    cursor: pointer;
}

#main-slider .title-main {
    color: #808080;
    font-size: 15px;
    font-weight: 700;
    margin: 25px 0px 15px 0px;
}

#main-slider .text-main {
    color: #0d1f2d;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    margin: 0px;
}

#main-slider a:hover,#main-slider a img:hover {
  cursor: pointer;
}

#main-slider a img {
  width: 274px;
}

.cb-slideshow,
.cb-slideshow:after {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
    height: 700px;
    overflow: hidden;
}

.showned {display: block;}
.hidden {display: none;}

.cb-slideshow:after {
    content: '';
    background: transparent url(../images/pattern.png) repeat top left;
}

.cb-slideshow li {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
	-webkit-backface-visibility: hidden;
    -webkit-animation: imageAnimation 36s linear infinite 0s;
    -moz-animation: imageAnimation 36s linear infinite 0s;
    -o-animation: imageAnimation 36s linear infinite 0s;
    -ms-animation: imageAnimation 36s linear infinite 0s;
    animation: imageAnimation 36s linear infinite 0s;
}
.cb-slideshow li:nth-child(1) {}
.cb-slideshow li:nth-child(2) {
    -webkit-animation-delay: 6s;
    -moz-animation-delay: 6s;
    -o-animation-delay: 6s;
    -ms-animation-delay: 6s;
    animation-delay: 6s;
}
.cb-slideshow li:nth-child(3) {
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}
.cb-slideshow li:nth-child(4) {
    -webkit-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -o-animation-delay: 18s;
    -ms-animation-delay: 18s;
    animation-delay: 18s;
}
.cb-slideshow li:nth-child(5) {
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s;
}
.cb-slideshow li:nth-child(6) {
    -webkit-animation-delay: 30s;
    -moz-animation-delay: 30s;
    -o-animation-delay: 30s;
    -ms-animation-delay: 30s;
    animation-delay: 30s;
}
/* Animation for the slideshow images */
@-webkit-keyframes imageAnimation {
	0% {
	    opacity: 0;
	    -webkit-animation-timing-function: ease-in;
	}
	8% {
	    opacity: 1;
	    -webkit-transform: scale(1.05);
	    -webkit-animation-timing-function: ease-out;
	}
	17% {
	    opacity: 1;
	    -webkit-transform: scale(1.1);
	}
	25% {
	    opacity: 0;
	    -webkit-transform: scale(1.1);
	}
	100% { opacity: 0 }
}
@-moz-keyframes imageAnimation {
	0% {
	    opacity: 0;
	    -moz-animation-timing-function: ease-in;
	}
	8% {
	    opacity: 1;
	    -moz-transform: scale(1.05);
	    -moz-animation-timing-function: ease-out;
	}
	17% {
	    opacity: 1;
	    -moz-transform: scale(1.1);
	}
	25% {
	    opacity: 0;
	    -moz-transform: scale(1.1);
	}
	100% { opacity: 0 }
}
@-o-keyframes imageAnimation {
	0% {
	    opacity: 0;
	    -o-animation-timing-function: ease-in;
	}
	8% {
	    opacity: 1;
	    -o-transform: scale(1.05);
	    -o-animation-timing-function: ease-out;
	}
	17% {
	    opacity: 1;
	    -o-transform: scale(1.1);
	}
	25% {
	    opacity: 0;
	    -o-transform: scale(1.1);
	}
	100% { opacity: 0 }
}
@-ms-keyframes imageAnimation {
	0% {
	    opacity: 0;
	    -ms-animation-timing-function: ease-in;
	}
	8% {
	    opacity: 1;
	    -ms-transform: scale(1.05);
	    -ms-animation-timing-function: ease-out;
	}
	17% {
	    opacity: 1;
	    -ms-transform: scale(1.1);
	}
	25% {
	    opacity: 0;
	    -ms-transform: scale(1.1);
	}
	100% { opacity: 0 }
}
@keyframes imageAnimation {
	0% {
	    opacity: 0;
	    animation-timing-function: ease-in;
		transform: scale(1.15);
	}
	8% {
	    opacity: 1;
	    transform: scale(1.1);
	    animation-timing-function: ease-out;
	}
	17% {
	    opacity: 1;
	    transform: scale(1.05);
	}
	25% {
	    opacity: 0;
	    transform: scale(1);
	}
	100% { opacity: 0 }
}
/* Show at least something when animations not supported */
.no-cssanimations .cb-slideshow li span{
	opacity: 1;
}
@media screen and (max-width: 1140px) {
	.cb-slideshow li div h3 { font-size: 100px }
}
@media screen and (max-width: 600px) {
	.cb-slideshow li div h3 { font-size: 50px }
}

/*Main Content*/

.intro_content {
    width: 100%;
    padding: 75px 0px;
    overflow: auto;
}

.intro_content .content_wrap {
    width: 60%;
    margin: 0px auto;
    text-align: center;
}

.intro_content .title-main {
    font-family: 'playfair_displayregular';
    font-size: 18px;
    font-weight: 100;
    line-height: 26px;
    margin-bottom: 0px;
    font-weight: 300;
}

#weare {
    float: left;
    height: 130px;
    width: auto;
    margin-right: 26px;
}

.intro_content h1 {
    margin-top: -8px;
}

.intro_content h1 span {
    display: block;
font-size: 23px;
}

/*Portfolio*/

.portFolio {
  margin: 0px 0px 0px 0px;
}

.wrapper.portfolio_wrapper {
    max-width: relative; width: 100%;
}

div.controls {
    padding: 30px 0px;
    text-align: center;
    display: none;
}

div.controls button {
text-decoration: none;
font-size: 12px;
text-transform: uppercase;
border: none;
background: transparent;
}

#projects {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.column {
    -ms-flex: 33.3333%;
    flex: 33.3333%;
    max-width: 33.3333%;
}

a.portfolio_item {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    position: relative;
    background: #fff;
    border: 5px solid #fff;
    cursor: pointer;
    transition: all 0.2s ease-out;
    line-height: 0px;
    display: block;
}

a.portfolio_item img {
    width: 100%;
}

.gridzy a img:hover {
    opacity: 0.15;
    transform: scale(1.05);
}

.gridzy a img{
    transition: all 0.5s ease-out;
        transform: scale(1);
    opacity: 1;
}

.gridzy a:hover {
  cursor: pointer;
}

div.content .gridzy a:hover h2, div.content .gridzy a:hover h3  {
    opacity: 1;
}

.lightbox-item {overflow: hidden;}

.gridzy a .portfolio_desc {
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
    pointer-events: none
}

div.content .gridzy a h2 {
  opacity:0;
  color: black;
  text-align: center;
  width: 100%;
  font-size: 25px;
  font-weight: 300;
  transition: all 0.5s ease-out;
    line-height: 30px;
}

div.content .gridzy a h3 {
  transition: all 0.2s ease-out;
  opacity:0;
  color: black;
  text-align: center;
  width: 100%;
  font-size: 20px;
  font-weight: bold;
    margin: 0px;
}

/*Work*/
div.project {
  margin: 80px 0px 0px 0px;
}

div.about_project {
    float: left;
    width: 35%;
    padding: 0px 5% 0px 0px;
}

div.project_gallery {
    float: left;
    width: 65%;
}

a.gallery_item {
  float: left;
  width: 33.3333%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border:1px solid #fff;
  height: 200px;
  transition: all 0.2s ease-out;
}

a.gallery_item .img {
  opacity:1;
  width:100%;
  height:100%;
  position: relative;
  background-size:cover;
  background-position: 50% 50%;
  transition: all 0.2s ease-out;
}

a.gallery_item:hover .img {
  opacity: 0.5;
}

div.project .page_nav a {
    display: block;
    font-size: 29px;
    line-height: 0;
    float: left;
    width: 30px; height: 30px;
    color: #0d1f2d;
    border: 2px solid #000;
    margin: 0px 5px 0px 0px;
}

div.project .page_nav a.portfolio-back {
    font-size: 15px;
    width: 138px;
    line-height: 24px;
    text-decoration: none;
}

div.project .page_nav a {
    font-size: 27px;
    text-align: center;
}

div.project .page_nav a i.prev {
  margin: -1px 1px 0px 0px;
}

div.project .page_nav a i.next {
  margin: -1px -1px 0px 0px;
}

/*About us*/
/*div.aboutUs {
  margin: 80px 0px 0px 0px;
}*/

div.aboutUs {
  margin: 0px 0px 0px 0px;
}

div.aboutUs .aboutus-area {
  width: 50%;
  float: left;
  padding: 0px 10% 0px 0px;
}

div.aboutUs .photo-area {
  width: 50%;
  float: right;
}

div.aboutUs .photo-area div {
  width: 100%;
  height: 600px;
  background-size: cover;
  background-position: center;
}

/*Contact us*/

.contactdeeds {position: absolute;top: 0px;left: 50px;}
.contactdeeds2 {display:none}

div.contactUs {
  margin: 50px 0px 0px 0px;
}

div.contactUs .contactus-area {
  width: 45%;
  float: left;
  padding: 0px 5% 0px 0px;
}

div.contactUs .map-area {
  width: 55%;
  height: 400px;
  float: left;
}

div.contactUs form.wpcf7-form input[type="email"], div.contactUs form.wpcf7-form input[type="text"], div.contactUs form.wpcf7-form textarea {
  display: block;
  padding: 5px;
  color: #0d1f2d;
  width: 100%;
  border-radius: 0;
  -webkit-appearance: none;
  background-color: transparent;
  font-size: 40px;
  margin: 0px;
  line-height: 40px;
  font-family: 'playfair_displayregular';
  border: none;
  border-bottom: 2px dashed #000;
  padding-bottom: 10px;
  margin-top: 50px;
}

input::placeholder,textarea::placeholder {
    color: #000;
    opacity: 1;
    text-align: right;
}

div.contactUs form.wpcf7-form textarea {
  height: 66px;
  resize: none;
  border-radius: 0;
  -webkit-appearance: none;
}

.wpcf7-submit {
  display: block;
  border: none;
  padding: 5px;
  font-family: 'playfair_displayregular';
  font-size: 40px;
  color: #fff;
  width: 100%;
  border-radius: 0;
  -webkit-appearance: none;
  background: #000;
  padding: 15px 0px 10px 0px;
}

div.thankYou div.content h2 {
    font-size: 35px;
    margin-bottom: 25px;
}

div.thankYou div.content a {
  text-decoration: none;
  font-size: 20px;
  text-transform: uppercase;
  color:#0d1f2d;
}

div.thankYou {
    position: absolute;
    top: 50%;
    text-align: center;
    width: 100%;
}

footer p {
    float: left;
    margin: 30px 0px 0px 0px;
    font-family: 'playfair_displayregular';
    font-weight: 500;
}

footer #socials {
  float: right;
}

footer .footer-content {

    border-top: 1px solid #000;
    margin-top: 30px;
    padding: 0px 0px 40px 0px;

}

footer #socials ul li {
    padding: 25px 10px 0px 10px;
    font-size: 19px;
    text-transform: uppercase;
    text-align: center;
    float: left;
}

footer #socials ul li a:hover {
    opacity: 0.7;
}

footer #socials ul li a {
    transition: all 0.2s ease-out;
    color: #ac7831;
}

.page_nav {
    margin: 10px 0px 0px 0px;
    width: 213px;
}

/* --- portfolio video --- */
.lg-video .hh-video {
	object-fit: contain;
	background: #000;
}

.gridzy .lightbox-item.has-video::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .45)
		url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")
		no-repeat 56% 50%;
	background-size: 24px;
	pointer-events: none;
	transition: opacity .25s ease;
	z-index: 3;
}

.gridzy .lightbox-item.has-video:hover::after {
	opacity: .75;
}

/* --- lightbox caption + view project --- */
.lg-sub-html .lg-cap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}

.lg-sub-html .lg-view-project {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 16px;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.lg-sub-html .lg-view-project:hover {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #fff;
}

.lg-sub-html .lg-view-project span {
	transition: transform .2s ease;
}

.lg-sub-html .lg-view-project:hover span {
	transform: translateX(3px);
}

/* --- homepage hero (two images + intro text) --- */
.hh-hero {
	margin: 0 auto 70px;
	position: relative;
	z-index: 1;
}

.hh-hero__images {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 9.3%;
	width: 100%;
}

.hh-hero__fig {
	margin: 0;
}

.hh-hero__col {
	flex: 0 0 40.4%;
	margin-left: 12%;
	margin-top: 3.3%;
}

.hh-hero__fig--left {
	margin: 0;
}

.hh-hero__fig--right {
	flex: 0 0 28.4%;
	margin-top: -1.2%;
}

.hh-hero__img {
	display: block;
	width: 100%;
	height: auto;
}

.hh-hero__text {
	margin: 5.5% 0 0 38.7%;
	max-width: 56.1%;
}

.hh-hero .hh-hero__text p {
	margin: 0 0 6px;
	font-size: 1.35vw;
	line-height: 1.38;
}



/* --- nav dot separators --- */
.menu_wrap .menu > li {
	position: relative;
}

.menu_wrap .menu > li + li {
	margin-left: 56px !important;
}

.menu_wrap .menu > li + li::before {
	content: '';
	position: absolute;
	left: -28px;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1.05em;
	height: 1.05em;
	border-radius: 50%;
	background: currentColor;
	pointer-events: none;
}

/* keep the decorative parallax layers behind page content */
.box.parallax,
.box1.parallax {
	z-index: -1;
}

/* --- headline sits above the left hero image --- */
.portfolio_wrapper .headline {
	float: none;
	width: 78%;
	margin: 0 0 0 22%;
	font-size: 3.35vw;
	line-height: 1.08;
	text-align: right;
	position: relative;
	top: 0.2em;
}

.portfolio_wrapper .headline .dot_title {
	width: .45em;
	height: .45em;
	vertical-align: middle;
}

/* --- white frame around the page --- */
html {
	background: #e3ded8;
}

body {
	background: #e3ded8;
}

/* frame drawn over the viewport so it runs the full length of the page */
body::after {
	content: '';
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border: 22px solid #ffffff;
	pointer-events: none;
	z-index: 999;
}

/* --- Epicene Display (trial) --- */
@font-face {
	font-family: 'EpiceneDisplay';
	src: url(data:font/woff2;base64,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) format('woff2');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}

.portfolio_wrapper .headline,
.hh-hero__text {
	font-family: 'EpiceneDisplay', Georgia, serif !important;
	font-style: italic;
}

.portfolio_wrapper .headline .hh-em {
	font-weight: inherit;
}

/* --- hero image galleries --- */
.hh-gal {
	position: relative;
	overflow: hidden;
}

.hh-gal.is-gallery {
	cursor: none;
}

.hh-gal.is-gallery .hh-hero__img {
	opacity: 0;
	transform: scale(1.07);
	transition: opacity .85s cubic-bezier(.4, 0, .2, 1), transform 1.4s cubic-bezier(.16, .84, .44, 1);
	will-change: opacity, transform;
}

.hh-gal.is-gallery .hh-hero__img:first-child {
	position: relative;
}

.hh-gal.is-gallery .hh-hero__img:not(:first-child) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hh-gal.is-gallery .hh-hero__img.is-active {
	opacity: 1;
	transform: scale(1);
}

.hh-cursor {
	position: fixed;
	top: 0;
	left: 0;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .22);
	pointer-events: none;
	opacity: 0;
	transform: scale(.6);
	transition: opacity .2s ease, transform .2s ease;
	z-index: 9999;
}

.hh-cursor.is-on {
	opacity: 1;
	transform: scale(1);
}

@media (hover: none) {
	.hh-gal.is-gallery { cursor: pointer; }
	.hh-cursor { display: none; }
}

/* --- portfolio text band --- */
.container .hh-band {
	width: max-content;
	max-width: 100%;
	clear: both;
	margin: 6% auto 7%;
	font-family: 'EpiceneDisplay', Georgia, serif;
	font-style: italic;
	font-weight: 300;
	color: #1a1a1a;
}

.container .hh-band p {
	margin: 0;
	font-size: 2.6vw;
	line-height: 1.16;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	color: inherit;
	white-space: nowrap;
}

.container .hh-band__l1 {
	text-align: left;
}

.container .hh-band__l2 {
	text-align: right;
	transform: translateX(13%);
}

.container .hh-band__l2 a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color .25s ease;
}

.container .hh-band__l2 a:hover {
	border-bottom-color: currentColor;
}

.container .hh-band .dot_title {
	width: .46em;
	height: .46em;
	top: -.02em;
	margin-left: .1em;
}

/* --- client + press logos --- */
.container .hh-clients {
	clear: both;
	width: 100%;
	margin: 5% 0 6%;
	text-align: center;
}

.container .hh-clients img {
	display: inline-block;
	width: 80%;
	max-width: 1366px;
	height: auto;
}

/* --- closing / contact block --- */
.container .hh-outro {
	width: 100%;
	clear: both;
	margin: 3.4% 0 6%;
	font-family: 'EpiceneDisplay', Georgia, serif;
	font-style: italic;
	font-weight: 300;
	color: #1a1a1a;
}

.container .hh-outro p {
	margin: 0;
	font-size: 2vw;
	line-height: 1.34;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	color: inherit;
}

.container .hh-outro p.hh-outro__cta {
	margin-top: 1.9em;
	text-align: right;
}

.container .hh-outro a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color .25s ease;
}

.container .hh-outro a:hover {
	border-bottom-color: currentColor;
}

.container .hh-outro__arrow {
	font-style: normal;
	margin-left: .55em;
	display: inline-block;
	transition: transform .25s ease;
}

.container .hh-outro__cta a:hover .hh-outro__arrow {
	transform: translateX(7px);
}

/* --- scroll reveal (JS adds .hh-reveal, so no-JS still shows the logos) --- */
.container .hh-clients.hh-reveal img {
	opacity: 0;
}

.container .hh-clients.hh-reveal.is-in img {
	animation: hhFadeUp 1.15s cubic-bezier(.16, .84, .44, 1) forwards;
}

@keyframes hhFadeUp {
	from {
		opacity: 0;
		transform: translateY(34px) scale(.985);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.container .hh-clients.hh-reveal img {
		opacity: 1;
		animation: none;
	}
}

/* --- project page gallery (justified rows, true aspect ratios) --- */
.project_gallery.gridzy {
	float: right;
	width: 65%;
}

.project_gallery.gridzy .lightbox-item {
	display: block;
	float: none;
	width: auto;
	height: auto;
	border: 0;
	overflow: hidden;
}

.project_gallery.gridzy .gridzyImage {
	display: block;
	width: 100%;
	height: auto;
	transition: opacity .25s ease-out;
}

.project_gallery.gridzy .lightbox-item:hover .gridzyImage {
	opacity: .6;
}

/* --- project page: description column --- */
.about_project p {
	margin: 0 0 1em;
	max-width: 34em;
}

.about_project .page_nav {
	margin-top: 26px;
}

/* --- closing block: pull the two halves toward the centre --- */
.container .hh-outro p.hh-outro__l1,
.container .hh-outro p.hh-outro__l2,
.container .hh-outro p.hh-outro__phone {
	margin-left: 11%;
}

.container .hh-outro p.hh-outro__cta {
	margin-right: 12%;
}

.container .hh-outro p.hh-outro__phone {
	margin-top: .1em;
}

/* --- footer social icons --- */
.social-media .hh-linkedin {
	display: inline-block;
	width: 17px;
	height: 17px;
	vertical-align: -2px;
	fill: currentColor;
}

.social-media li + li {
	margin-left: 14px;
}

/* --- category filter bar --- */
div.controls {
	display: block;
	padding: 0 0 2.6%;
	text-align: center;
}

#myFilterControls {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 34px;
}

div.controls #myFilterControls button {
	background: none;
	border: 0;
	padding: 2px 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #1a1a1a;
	opacity: .5;
	border-bottom: 1px solid transparent;
	transition: opacity .25s ease, border-color .25s ease;
}

div.controls #myFilterControls button:hover {
	opacity: 1;
}

div.controls #myFilterControls button.is-active {
	opacity: 1;
	border-bottom-color: currentColor;
}

/* logos + band step aside while a category is selected */
body.hh-filtered .hh-clients,
body.hh-filtered .hh-band {
	display: none;
}

/* --- what we do / services --- */
.container .hh-sec-title {
	margin: 0 0 3.2%;
	font-family: 'EpiceneDisplay', Georgia, serif;
	font-style: italic;
	font-weight: 300;
	font-size: 3.15vw;
	line-height: 1.16;
	color: #1a1a1a;
	text-align: right;
}

.container .hh-sec-title--works {
	margin: 5.5% 0 2.4%;
}

.hh-services-wrap {
	margin: 5.5% auto 0;
}

.hh-service {
	display: flex;
	align-items: center;
	gap: 9%;
	margin: 0 0 6.5%;
}

.hh-service__media {
	flex: 0 0 48%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.hh-service__img,
.hh-service__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hh-service__text {
	flex: 0 1 36%;
}

.hh-service__title {
	margin: 0 0 .7em;
	font-size: 1.5vw;
	line-height: 1.2;
	font-weight: 400;
	color: #1a1a1a;
}

.hh-services-wrap .hh-service__title a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color .25s ease;
}

.hh-services-wrap .hh-service__title a:hover {
	border-bottom-color: currentColor;
}

.hh-service .hh-service__copy {
	margin: 0;
	font-size: .95vw;
	line-height: 1.7;
	color: #3a3a3a;
}

.hh-services__cta {
	margin: 0 0 1%;
	text-align: left;
}

.hh-services-wrap .hh-services__cta a {
	display: inline-block;
	padding: 0;
	background: none;
	color: #1a1a1a;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	opacity: .55;
	border-bottom: 1px solid transparent;
	transition: opacity .25s ease, border-color .25s ease;
}

.hh-services-wrap .hh-services__cta a:hover {
	opacity: 1;
	border-bottom-color: currentColor;
}

/* --- mobile hero (must stay last so it wins over the desktop rules) --- */
@media (max-width: 900px) {
	.hh-hero__images {
		flex-direction: column;
		align-items: stretch;
		gap: 22px;
	}

	.hh-hero__col,
	.hh-hero__fig--left,
	.hh-hero__fig--right {
		flex: 1 1 auto;
		margin-top: 0;
		margin-left: 0;
	}

	.portfolio_wrapper .headline {
		width: 100%;
		margin: 0 0 0.14em;
		font-size: clamp(22px, 6.4vw, 40px);
		line-height: 1.08;
		text-align: right;
		top: 0.14em;
	}

	.hh-hero__text {
		margin: 34px auto 0;
		max-width: 88%;
		text-align: center;
	}

	.hh-hero .hh-hero__text p {
		font-size: clamp(15px, 4.1vw, 21px);
		line-height: 1.5;
		margin: 0 0 14px;
	}

	.container .hh-band {
		width: auto;
		max-width: 88%;
		margin: 42px auto 46px;
	}

	.container .hh-band p,
	.container .hh-band__l1,
	.container .hh-band__l2 {
		font-size: clamp(22px, 6.6vw, 40px);
		line-height: 1.12;
		text-align: center;
		white-space: normal;
		transform: none;
	}

	.container .hh-clients {
		margin: 34px 0 40px;
	}

	.container .hh-clients img {
		width: 94%;
	}

	.container .hh-outro {
		margin: 46px 0 56px;
	}

	.container .hh-outro p {
		font-size: clamp(18px, 5vw, 30px);
		line-height: 1.34;
	}

	.container .hh-outro__cta {
		margin-top: 1.4em;
		text-align: left;
	}

	.project_gallery.gridzy {
		float: none;
		width: 100%;
	}

	.container .hh-outro p.hh-outro__l1,
	.container .hh-outro p.hh-outro__l2,
	.container .hh-outro p.hh-outro__phone,
	.container .hh-outro p.hh-outro__cta {
		margin-left: 0;
		margin-right: 0;
	}

	body::after {
		border-width: 30px;
	}

	#myFilterControls {
		gap: 20px;
	}

	div.controls #myFilterControls button {
		font-size: 11px;
		letter-spacing: .1em;
	}

	.hh-service {
		display: block;
		margin: 0 0 44px;
	}

	.hh-service__text {
		margin-top: 20px;
	}

	.container .hh-sec-title {
		font-size: clamp(22px, 6.6vw, 40px);
		margin: 0 0 22px;
	}

	.container .hh-sec-title--works {
		margin: 44px 0 20px;
	}

	.hh-service__title {
		font-size: clamp(18px, 5vw, 26px);
	}

	.hh-service .hh-service__copy {
		font-size: clamp(14px, 3.9vw, 17px);
	}
}
