/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/*--------General---------*/

body{
	transition:.5s linear;
	overflow:hidden;
}

body.go_right{
	transform:translate(-100%);
}

/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #333;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
 background: #02a4ba;
}

 #page{
	display:none;
}


 .site-header{
	position:absolute;
	z-index:999;
	width:auto;
	background:transparent;
	/*top:50vh;
	transform:translate(0,-50%)*/
	bottom:5vh;
}

 .site-header .inside-header {
    margin-left: 0;
}

 .main-title{
	font-size:70px;
}

 .main-title a {
    color: #02a4ba;
    text-shadow: 3px 4px #fff;
}

.site-description {
    color: #02a4ba;
    text-shadow: 2px 1px #fff;
    font-weight: 400;
	font-size: 32px;
	text-align:right;
}

.main-navigation, 
.site-header nav ul,
.site-header nav ul li{
	background:transparent;
}

.site-header nav ul li a, .home .main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: #02a4ba;
    font-weight: 600;
    font-size: 20px;
    text-shadow: 2px 1px #fff;
	padding-left:0;
}

.inside-header{
	display:block;
}

.arrow{
	width:60px;
	height:60px;
	border:2px solid;
	border-radius:100%;
	transition:.1s linear;
}

.arrow:hover{
	scale:1.1;
}

.gallery_shell{
	position: relative;
    top: -34vh;
    left: 8vw;
}

ul.gallery {
list-style: none;
    transform: rotate(22deg) scale(1.2);
    margin: 0;
    display: grid;
    grid-auto-rows: 15vw;
    grid-gap: 1vw;
    grid-template-columns: repeat(auto-fill, minmax(15vw, 1fr));
    width: 100%;
}

ul.gallery li {
    overflow: hidden;
    border-radius: 20px;
}

section#opening ul.gallery li:nth-last-child(6) {
grid-row:span 2;
grid-column: span 2;
}

ul.gallery li img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/*
ul.gallery:before {
    content: '';
    background: black;
    height: 1px;
    width: 100%;
    position: absolute;
    top: calc(75% + -1px);
}

ul.gallery:after {
    content: '';
    background: black;
    height: 1px;
    width: 100%;
    position: absolute;
    top: calc(25% + 0px);
}
*/

.bottom_first_section {
    position: absolute;
    bottom: 5vh;
    left: 50%;
    transform: translate(-50%);
    filter: invert(54%) sepia(55%) saturate(4415%) hue-rotate(154deg) brightness(92%) contrast(98%);
    z-index: 9999;
}

section{
	height:100vh;
	position:relative;
}

section h2 {
    text-align: center;
    font-size: 45px;
    font-weight: 700;
    border-bottom: 2px dashed;
    line-height: 1.5;
}

section#opening{
	background:white;
	z-index:99;
	    overflow: hidden;
}

section#opening .gallery_shell{
position: relative;
    top: 0;
    left: 0;
    height: 100vh;
}

section#opening ul.gallery {
position: absolute;
    bottom: 40vh;
    left: 8vw;
}

section.welcome {
    background: #fff;
}

.welcome .inside-article.grid-container.container {
    max-width: 700px;
    text-align: center;
    font-size: 20px;
    top: 50%;
    position: relative;
    transform: translate(0, -50%);
}

section.welcome p {
    margin-bottom: 0;
}

.bottom_arrow_RL {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translate(-50%) rotate(-90deg);
	z-index:999;
}

.bottom_arrow_RL.to_left {
    transform: translate(-50%) rotate(90deg);
}

.bottom_arrow_Up {
    position: absolute;
    top: 20px;
    transform: rotate(180deg);
    z-index: 999;
    left: 5%;
    transform: rotate(180deg) translate(0, 0);
    filter: invert(54%) sepia(55%) saturate(4415%) hue-rotate(154deg) brightness(92%) contrast(98%);
}

.bottom_arrow_Down{
    position: absolute;
    bottom: 50px;
	z-index:999;
}

#welcome .bottom_arrow_RL{
    left: 90%;
}

/*
#welcome .bottom_arrow_Up,section#ourClients .bottom_arrow_Up{
	left:45%;
}*/

section#welcome .bottom_arrow_Up:hover, section#welcome .bottom_arrow_RL:hover {
    filter: invert(54%) sepia(55%) saturate(4415%) hue-rotate(154deg) brightness(92%) contrast(98%);
}

.sections_right {
    position: absolute;
    left: 100%;
    width: 100vw;
    top: 0;
}

section#about {
    top: 100vh;
    background: #02a4ba;
}

section#about:before {
    content: '';
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 0px 16vh 100vw;
    border-color: transparent transparent #f5f5f5 transparent;
    transform: rotate(0deg);
    z-index: 999;
    right: 0;
    bottom: 0;
}

#about .bottom_arrow_Down {
    left: 92%;
    filter: invert(0);
    bottom: 2%;
}


#about .bottom_arrow_RL{
    left: 5%;
    filter: invert(1);
    box-shadow: 0px 0px 3px 1px #888;
	    background: #ffffff47;
}

#about .bottom_arrow_RL:hover{
	filter:invert(0);
}

#about .bottom_arrow_Down:hover{
	filter:invert(54%) sepia(55%) saturate(4415%) hue-rotate(154deg) brightness(92%) contrast(98%);
}

section#about .gallery_shell{
    position: relative;
    top: 0%;
    left: -5%;
}

section#about ul.gallery {
    list-style: none;
    transform: translate(0vh, -10vh) rotate(-5deg);
    margin: 0;
    display: grid;
    grid-auto-rows: 15vw;
    grid-gap: 1vw;
    grid-template-columns: repeat(auto-fill, minmax(15vw, 1fr));
    background: #02a4ba;
    padding: 7vh 0;
    width: 110%;
}

section#about ul.gallery li {
    height: auto;
    overflow: hidden;
    border-radius: 20px;
    filter: grayscale(1);
    display: flex;
    align-items: center;
    justify-content: center;
    position: unset;
}

section#about ul.gallery li:nth-last-child(3) {
grid-column: span 2;
}

section#about ul.gallery li:nth-last-child(4) {
    grid-column: span 2;
    grid-row: span 2;
}

section#about ul.gallery li.the_text_part {
    background: white;
    padding: 20px;
    order: -13;
    grid-row: span 4;
    grid-column: span 2;
	display:block;
}

section#process {
    top: 100vh;
	 background: #f5f5f5;
}

.side_banner {
    position: absolute;
    right: 4vw;
    transform: rotate(-90deg);
    top: 2vh;
    font-size: 7vw;
    transform-origin: right;
    color: #04a3ba;
}

.headlines {
    position: relative;
    width: 75%;
    margin: 0px auto;
    display: flex;
    justify-content: space-around;
    top: 30px;
    padding: 0 20px;
    text-align: center;
    max-width: 700px;
}

/*
.headlines:before {
content: '';
    position: absolute;
    width: 60%;
    height: 2px;
    background: black;
    left: 15%;
    top: 50%;
    z-index: 0;
    transform: translate(0, -50%);
}
*/

.headlines div {
    position: relative;
    z-index: 9999;
    background: #f5f5f5;
    padding: 0 10px;
    border-right: 2px solid;
    border-left: 2px solid;
    line-height: 1;
}

.headlines div:nth-child(1) {
    border-left: hidden;
}

.headlines div:nth-child(3) {
    border-right: hidden;
}

#process .bottom_arrow_Down,#process .bottom_arrow_Up{
	left:95%
}

#process .bottom_arrow_RL{
	left:5%;
}

section#process .products {
    display: flex;
    flex-wrap: wrap;
    max-width: 80%;
    margin: 0 auto;
}


section#process:before {
    content: '';
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 0px 100vh 8vw;
    border-color: transparent transparent #ffffff transparent;
    transform: rotate(180deg);
}

.products > div {
    flex-basis: 30%;
}

section#process .inside-article.grid-container.container {
    max-width: 75%;
    display: flex;
    position: relative;
    top: 3vh;
    justify-content: space-evenly;
    padding: 0 20px;
    align-items: center;
}

section#process .inside-article.grid-container.container > div {
    margin: 1vh 1vw;
    border-radius: 20px;
    position: relative;
/*border: 10px solid white;*/
    scale: 1;
    transition: .2s linear;
    overflow: hidden;
    text-align:center;
}

section#process .inside-article.grid-container.container > div:hover {
    scale: 1.1;
}
/*
section#process .inside-article.grid-container.container:before {
content: '';
    width: 100%;
	    max-width: 75%;
    height: 11px;
    background: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
*/

.the_product a {
    display: block;
    text-decoration: none;
    color: black;
}

.the_product a p{
	margin-bottom:10px;
	font-size:15px;
	line-height:1;
}

section#process .inside-article.grid-container.container > div img {
 object-fit: cover;
    border-radius: 17px;
    position: relative;
}

.the_idea {
padding: 10px;
    max-width: 15vw;
    font-size: 15px;
	    background: var(--base-3);
	max-height: 220px;
    max-width: 410px;
}

section#process .inside-article.grid-container.container .a_sketch {
    max-height: 130px;
    max-width: 130px;
	    border-width: 5px;
}

section#process .inside-article.grid-container.container > .the_product img{
/*	max-width: 200px;*/
    max-height: 20vh;
}

section#process .inside-article.grid-container.container.index_2:before {
    background: #04a3ba;
}

section#process .inside-article.grid-container.container.index_2> div {
    border-color: #04a3ba;
}

section#process .inside-article.grid-container.container.index_2> .the_idea{
background: #04a3ba;
}

.img_modal {
    position: absolute;
    width: auto;
	max-width:90%;
	height:80%;
    top: 300%;
    left: 50%;
    transform: translate(-50%, -50%);
	opacity:0;
	transition:.5s linear;
}

.img_modal img{
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	    background: white;
    padding: 10px;
    border-radius: 20px;
    box-shadow: 2px 2px 20px 4px #333;
}

.img_modal.show{
display:block;	
	top:50%;
	opacity:1;
}

.close_modal {
    position: absolute;
    top: -10px;
    right: -10px;
    font-weight: bold;
    border: 2px solid;
    border-radius: 100%;
    padding: 2px 7px 0;
    text-decoration: none;
    background: white;
    color: #04a3ba;
}

section#ourClients {
    background: #fff;
	    z-index: 9;
}

section#ourClients:before {
    content: '';
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 100vw 16vh 0;
    border-color: transparent transparent #02a4ba transparent;
    transform: rotate(0deg);
    z-index: 999;
    right: 0;
    bottom: 0;
}

#ourClients .inside-article.grid-container.container {
    display: flex;
    gap: 6vw;
	position:relative;
	padding: 30px 10px;
	    flex-wrap: wrap;
}
/*
#ourClients .inside-article.grid-container.container:before {
    content: '';
    width: 90%;
    position: absolute;
    top: 15vh;
    left: 4vw;
    border: 8px solid #02a4ba;
    height: 60%;
}*/

.team_member {
    background: #02a4ba;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 10px;
    border-radius: 20px;
    justify-content: space-between;
	    color: white;
	z-index:999;
	position:relative;
	    flex-basis: 17%;
}

.team_member:nth-child(2n){
	top:40px;
}

.image {
    height: 140px;
    overflow: hidden;
    border-radius: 20px;
}

.team_member .image img {
    width: 100%;
}

.team_member p {
    margin-bottom: 0;
    font-size: 13px;
}

section#ourClients h3 {
    transform: translate(-50%, -50%);
    width: max-content;
    top: 50%;
    left: 50%;
    position: absolute;
    font-size: 17vw;
    color: #cdcdcd;
}

section#ourClients .bottom_arrow_RL{
	left:95%;
}

section#ourClients .bottom_arrow_Down {
    left: 5%;
    transform: translate(-50%);
    bottom: 40px;
}

section#Contact {
    background: #02a4ba;
}

section#Contact div:has(>.left) {
    display: flex;
    flex-direction: row;
    height: 100vh;
    max-width: 1500px;
	gap:2%;
}

section#Contact .left,
section#Contact .right{
flex:1;
	flex-basis:49%;
	display: flex;
    flex-direction: column;
    justify-content: center;
}

section#Contact .right * {
    color: white;
}

section#Contact .bottom_arrow_Up {
    left: 5%;
    transform: translate(-50%) rotate(180deg);
	filter:invert(1);
}

form.wpcf7-form.init {
    max-width: 500px;
}

form.wpcf7-form.init input:not(.wpcf7-submit) {
    margin-bottom: 10px;
    width: 100%;
}

form.wpcf7-form.init input::placeholder,
form.wpcf7-form.init textarea::placeholder{
	font-weight:500;
}

input.wpcf7-form-control.wpcf7-submit {
    background: white;
    color: var(--contrast);
    text-transform: uppercase;
    font-weight: 500;
    padding: 5px 40px;
}

section#Contact .right > div {
    max-width: 500px;
    margin-left: auto;
}

section#Contact .right .top {
    border-bottom: 2px dashed;
}

section#Contact .middle {
    padding: 20px 0;
    border-bottom: 2px dashed;
}

section#Contact .middle img {
    width: 32px;
    filter: invert(1);
    display: inline-block;
    vertical-align: middle;
}

section#Contact .bottom {
    display: flex;
    width: 100%;
    justify-content: space-between;
    filter: invert(1);
    padding: 40px 0;
	flex-direction:row-reverse;
}


/*------------footer--------------*/
.site-footer{
	position:relative;
	bottom:60px;
}

.site-info {
	background-color: transparent;
}

.inside-site-info{
    justify-content: start;
    max-width: 1500px;	
}

.copyright-bar {
    color: white;
    border-top: 1px solid;
    font-size: 13px;
}

.copyright-bar a {
    text-decoration: unset;
    font-weight: 500;
    color: #dadada;
}

/*------------responsive--------------*/
@media(max-width:1350px){
		.bottom_first_section{
		bottom:2vh;
		left:95%;
	}
}
@media(max-width:1250px){
	section#opening ul.gallery {
    bottom: 50vh;
    left: 4vw;
    transform: rotate(22deg) scale(1.5);
}

	
	section#process .inside-article.grid-container.container{
		max-height:300px;
	}
	
	.sections_right{
	width: 0;
        overflow: hidden;
        transition: .1s linear;
	}
	
	.go_right .sections_right{
	width: 100%;
	}
	
	.go_right.visible .sections_right{
	overflow:visible;
	}
	
	.side_banner{
		top:8vh;
	}
	
 #process .bottom_arrow_Up {
    left: 93%;
}
}


@media(max-width:1200px) and (min-width:768px) and (max-height:800px){
/*		.sections_right{
		overflow:hidden;
width:0;
		transition:.2s linear;
	}
	
	.sections_left{
		transition:.2s linear;
			overflow:hidden;
	}
	
	body.go_right{
	    transform: none;	
	}	

	body.go_right .sections_right{
		display:block;
		left:0;
		width:100%;
	}
		body.go_right .sections_left{
		left:0;
		width:0;
	}*/
	
	section{
		overflow:hidden;
	}
	
	.arrow {
    background: #ffffff3d;
		width:40px;
		height:40px;
}
	
	.bottom_first_section{
		left:90%;
		bottom:10%;
	}
	.bottom_arrow_Up{
		bottom:10%;
		top:auto;
	}
	.bottom_arrow_RL{
		bottom:10%;
	}
	
	#about .bottom_arrow_Down{
		bottom:5%;
		left:95%;
	}	
	
	#Contact .bottom_arrow_Up.arrow.prev {
    top: 5%;
    bottom: auto;
		left:95%;
}
	
	.welcome .inside-article.grid-container.container p{
		font-size:2.5vh;
	}
	
	.welcome h2{
		font-size:5vh;
	}
	
	#process .bottom_arrow_Down, #process .bottom_arrow_Up{
		left:95%;
		top:5%;
	}
	
	#ourClients .inside-article.grid-container.container{
		    padding: 10px 40px;
	}
	
	#ourClients .image{
		max-height:110px;
		height:auto;
		max-width:120px;
	}
	
	#ourClients .image img{
		border-radius:20px;
	}
	
	#ourClients .name {
    font-size: 3vh;
}
	#ourClients .text p {
    font-size: 2vh;
}
	section#process .inside-article.grid-container.container {
        top: 15vh;
    }
	
	#process .inside-article.grid-container.container.index_3 {
    display: none !important;
}
}

@media(max-width:1200px) and (min-width:768px) and (min-height:800px){
	section#about ul.gallery {
		transform: translate(10vh, 15%) scale(1.2);
	}
	
	section#about ul.gallery li.the_text_part {
    order: -15;
    grid-row: span 4;
    grid-column: span 3;
}
	
}

@media(max-width:768px){
	body{
		width:100vw;
		overflow:unset;
	}	
	
	nav#mobile-menu-control-wrapper {
    display: none;
}

	section:not(#welcome){
		height:auto;
	}
	
section#opening ul.gallery {
    bottom: 60vh;
    transform: rotate(22deg) scale(2);	
	}	
	
	ul.gallery li{
border-radius: 10px;
	}	
	
	.home .site-header{
		bottom:16vh;
	}
	
	.home .main-title {
    font-size: 40px;
}
	
	.site-description{
		font-size:19px;
	}
	
	.arrow {
    width: 41px;
		height: 41px;
	}
	
	.bottom_first_section{
		bottom:10vh;
		left:50%;
	}
	
	section h2{
		font-size:25px;
	}
	
	section p{
		font-size:17px;
	}
	
	.welcome .inside-article img {
    max-width: 100px;
}
	
	/*.sections_right{
		overflow:hidden;
width:0;
		transition:.2s linear;
	}*/
	
	.sections_left{
		transition:.2s linear;
			overflow:hidden;
	}
	
	body.go_right{
	    transform: none;	
	}	
	
	.sections_left .arrow{
		display:none;
	}
	
/*	
	body.go_right .sections_right{
		display:block;
		left:0;
		width:100%;
	}
		body.go_right .sections_left{
		left:0;
		width:0;
	}
	*/
	
	section#about{
		top:0;
		height: auto;
        padding: 15px;
	}
	
	section#about .gallery_shell {
    position: relative;
    top: 0%;
    left: 0%;
}
	
	section#about ul.gallery{
	transform: translate(0vh, 0vh) rotate(0deg);
	grid-auto-rows: 25vw;
    grid-gap: 2vw;
    grid-template-columns: repeat(auto-fill, minmax(27vw, 1fr));
		    padding: 1vh 0;
		width:100%;
	}
	
	section#about ul.gallery li{
		    height: auto;
	    border-radius: 10px;	
	}
	
	section#about ul.gallery li.the_text_part {
    grid-row: span 3;
    grid-column: span 2;
}
	
	section#about ul.gallery li:nth-last-child(n+16) {
    display: none !important;
}
	
	#about .bottom_arrow_Down{	
	left: 85%;
    filter: invert(0);
    bottom: 8%;
}
	
	#about .bottom_arrow_RL{
		left:10%;
		bottom:8%
	}
	
	section#process {
		top: 0;
		padding-bottom: 60px;
	}
	
	.side_banner{
		right: 8vw;
    font-size: 14vw;
	}
	
	section#process .headlines{
		top:0;
	}
	
	section#process .headlines > div{
		border:hidden;
	}	
	
section#process .inside-article.grid-container.container {
    max-width: calc(100vw - 15vw);
	max-height:none;
    position: relative;
    top: 2vh;
	flex-direction:column;
}	
	/*
	section#process .inside-article.grid-container.container:before {
    content: '';
    width: 11px;
    height: 90%;
    background: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}*/

	section#process .inside-article.grid-container.container > div{
	position: relative;
   /* box-shadow: 0px 1px 5px 7px #fff;*/
    scale: .9;
    transition: .2s linear;
    overflow: hidden;
    width: 50vw;
    height: 30vh;
    margin: 2vh auto;	
	}	

	.the_idea {
    max-width: 50vw;
	font-size: 15px;
	}	
	
	.img_modal {
    position: fixed;
    width: auto;
height:auto;
    max-height: 80%;
    top: 300%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    width: 90%;
}
	
	section#ourClients{
		padding-bottom:100px;
		height:80vh;
	}	
	
	section#ourClients h3 {
    transform: unset;
    width: 100%;
    top: 0;
    left: 0;
    position: relative;
    font-size: 23px;
    color: #333;
    text-align: center;
    padding-top: 40px;
}
	
	#ourClients .inside-article.grid-container.container{
		    justify-content: space-around;
	}
	
	#ourClients .inside-article.grid-container.container:before {
    width: 70%;
    left: 50%;
    height: calc(100% - 240px);
    transform: translate(-50%);
}
	.team_member{
		    max-width: 200px;
		flex-basis:min-content;
		min-width:170px;
	}
	.team_member:nth-child(2n) {
    top: 0;
}
	.site-footer{
		bottom:0;
	}
	
	.site-info{
		background:#02a4ba;
	}
	
}

@media(max-width:600px){
		section#about ul.gallery li.the_text_part {
    grid-row: span 3;
    grid-column: span 3;
}
	section#Contact div:has(>.left){
	    flex-direction: column-reverse;
    height: auto;	
	}
	
	section#Contact div:has(>.left) > div{
		margin-bottom:40px;
	}
}

@media(max-width:460px){
		section#about ul.gallery li.the_text_part {
    grid-row: span 6;
}
}

@media(max-width:380px){
		section#about ul.gallery li.the_text_part {
    grid-row: span 9;
}
}