@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
	--text-color: #fff;
	--white: #fff;
	--black: #000000;
 	--grey: #E4E4E4;
	--light-grey: rgba(255, 255, 255, 0.8);
	--dark-grey: rgba(255, 255, 255, 0.4);
	--text-grey: rgba(255, 255, 255, 1);
}
html {
	box-sizing: border-box;
}
*, *:before, *:after { 
	box-sizing: inherit;
}
body, html {
	margin: 0;
	padding: 0;
	font-family: "Roboto", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: 400;
    line-height: 1.2;
	font-size: 1.2rem;
	color: var(--white);
	text-shadow: 0.2px 0.2px var(--black);
	background-color: rgba(21, 20, 20, 1);
}
* {
	padding: 0px;
	margin: 0px;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	color: var(--text-grey);
    font-weight: 300;
    line-height: 1;
}
h1 {
	font-size: 2.5rem;
}
h2 {
	font-size: 1.4rem;
}
h3 {
	font-size: 2rem;
}
h4 {
	font-size: 1.8rem;
}
h5 {
	font-size: 1.5vw;
}
h6 {
	font-size: 1.2rem;
}
hr {
	background: rgba(127, 127, 127, 0.2);
    border: 0;
    height: 1px;
    display: block;
	border: none;
}
input, button, textarea {
	outline: none;
}
button, button:focus {
	border-radius: 0;
	outline: none;
}
a {
 	transition: ease all .35s;
	color: var(--light-grey);
	font-size: 1rem;
}
a:hover {
	text-decoration: none;
	outline: none;
	color: var(--text-color);
}
a.button.button-read:hover {
	color: var(--white);
}
a:focus {
	outline: none;
}
p {
	font-size: 1rem;
}
select, 
textarea, 
input[type="text"], 
input[type="email"], 
input[type="tel"], 
input[type="password"],
input[type="url"] {
	height: 2.5vw;
    color: var(--black);
	padding: 0.4vw;
    font-size: 1.7vw;
    width: 100%;
	outline: none;
    border: 1px solid var(--dark-grey);
    border-radius: 0;
	font-family: "Roboto", sans-serif;
	text-shadow: 0.2px 0.2px var(--black);
}
textarea:focus::placeholder, 
input[type="text"]:focus::placeholder, 
input[type="email"]:focus::placeholder, 
input[type="tel"]:focus::placeholder, 
input[type="url"]:focus::placeholder {
	color: transparent;
	font-size: 16px;
}
input::-webkit-input-placeholder {
	color: var(--text-color);
	font-size: 34px;
	font-family: "Roboto", sans-serif;
}
input::-moz-placeholder {
	color: var(--text-color);
	font-size: 34px;
	font-family: "Roboto", sans-serif;	
}
input:-ms-input-placeholder {
	color: var(--text-color);
	font-size: 34px;
	font-family: "Roboto", sans-serif;	
}
input:-moz-placeholder {
	color: var(--text-color);
	font-size: 34px;
	font-family: "Roboto", sans-serif;	
}
label.label-bold {
	font-weight: 700;
	font-family: "Roboto", sans-serif;
}
.styled-checkbox {
	display: flex;
    align-items: center;
}
.styled-checkbox input[type="checkbox"] {
    margin-right: 14px;
}
.styled-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	font: inherit;
	color: currentColor;
    width: 0.7em;
    height: 0.7em;
	border: 2px solid var(--black);
	border-radius: 0;
	transform: translateY(-0.075em);  
}
.styled-checkbox input[type="checkbox"] {
	/* ...existing styles */
	display: grid;
	place-content: center;
	background-color: transparent;
}
.styled-checkbox input[type="checkbox"]::before {
	content: "";
	width: 0.4em;
    height: 0.4em;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--black);
}
.styled-checkbox input[type="checkbox"]:checked::before {
	transform: scale(1);
}
.styled-checkbox.styled-checkbox-2 input[type="checkbox"]:checked {
 	border-radius: 3px;
	background-image: url('../images/icon-check.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
} 
.styled-checkbox.styled-check-round input[type="checkbox"] {
	border-radius: 50%;
	width: 25px;
    height: 25px;
} 
.styled-checkbox.styled-check-round input[type="checkbox"] {
	border-radius: 50%;
	width: 25px;
    height: 25px;
	border-color: var(--purple);
}
.styled-checkbox.styled-check-round input[type="checkbox"]::before {
	border-radius: 50%;
    width: 15px;
    height: 15px;
	box-shadow: inset 1em 1em var(--purple);
}
 
/* feature-select */
select.feature-select {
	background-color: var(--black);
	color: var(--yellow);
	font-family: 'futura_ptmedium';
	padding: 0 1.5em;
	-moz-appearance:none; /* Firefox */
    -webkit-appearance:none; /* Safari and Chrome */
    appearance:none;
	background-image: url('../images/arrow-img.png');
	background-repeat: no-repeat;
	background-position: right;
    line-height: 1;
    height: 2.4em;
}

/* img responsive */
.img-mobile {
	display: none;
}
.img-desktop {
	display: block;
}

/* global quantity input */
.quantity-wrap {
	background-color: var(--purple);
	display: flex;
	align-items: center;
	justify-content: center;

}
.quantity-wrap input {
	background-color: var(--purple);
    color: var(--white);
    -webkit-appearance: none;
    margin: 0;
    border: none;
    width: 1.6vw !important;
}
.quantity-wrap input::-webkit-outer-spin-button,
.quantity-wrap input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity-wrap input[type=number] {
	-moz-appearance: textfield;
}
.quantity-wrap button {
	color: var(--white);
    background-color: var(--purple);
    border: none;
    outline: none;
    padding: 0.6vw 0.7vw;
    font-size: 3vw;
    line-height: 0.5;
    cursor: pointer;
    display: flex;
    align-items: center;
    position: relative;
    text-indent: -999px;
    overflow: hidden;
}
.quantity-wrap button.minus:before {
	content: '';
    display: block;
    height: 2px;
    width: 1vw;
    background-color: var(--white);
}
.quantity-wrap button.plus {
	text-indent: 0;
}

/* wrapper */
.wrapper {
	overflow: hidden;
}
/* containers */
.container {
	max-width: 1590px;
}
.container-fluid {
	padding-right: 68px;
    padding-left: 68px;
}

img {
	margin: 0;
	max-width: 100%;
	height: auto;
}
/* nopadding */
.nopadding {
	padding: 0;
}

/* breadcrumbs */
.breadcrumbs {
    margin-bottom: 2.8vw;
    font-size: 1.6vw;
    text-shadow: 0.2px 0.2px var(--black);
}
.breadcrumbs > span {
	position: relative;
}
.breadcrumbs > span:before {
	content: '';
	height: 6px;
	width: 100%;
	position: absolute;
	top: -8px;
	left: 0;
	display: block;
	background-color: var(--black);
}

/* slick-arrow */
.slick-slider {
	position: relative;
}
.slick-arrow {
	border: none;
	background-color: transparent;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	background-color: #000;
	color: #fff;
	border-radius: 5px;
    overflow: hidden;
    width: 30px;
	height: 30px;
	cursor: pointer;
	z-index: 9;
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}
.slick-arrow i {
	text-indent: -999px;
    overflow: hidden;
    display: none;
}
.slick-dots {
	display: inline-block;
	line-height: 1;
    margin-bottom: 20px;
}
.slick-dots li {
	background-color: #fff;
    border-radius: 50%;
    margin: 0 4px;
    display: inline-block;
    width: 8px;
    height: 8px;
}
.slick-dots li button {
	border: none;
	text-indent: -9999px;
	overflow: hidden;
}
  
/* header-mobile */
.sticky-header {
	height: 15.2vw;
}
.header {
    width: 100%;
    z-index: 99;
	transition: 0.35s;
	position: fixed;
	background-color: rgba(21, 20, 20, 0.7);
	padding-top: 3.2rem;
	padding-bottom: 0.6rem;
} 
.header .logo img {
	transition: 0.50s;
	width: 4vw;
}
.header ul {
	display: flex;
    align-items: center;
	list-style: none;
}
.header ul li {
	margin-right: 1.4rem;
	position: relative;
}

.header ul li a {
	color: var(--light-grey);
    font-family: 'futura_ptmedium',sans-serif;
    outline: none;
    display: inline-block;
	font-size: 1.1rem;
	text-decoration: none;
}
.header ul li.current-menu-item a {
	color: var(--dark-grey);
	text-decoration: none;
}
.header ul li ul {
	display: none;
	position: absolute;
	top: 100%;
	background-color: var(--black);
	min-width: 164px;
}
.header ul li:hover > ul {
	display: block;
}
.header ul li > ul > li {
	padding: 0.4vw 0.8vw;
    margin-left: 0;
    margin-right: 0;
	text-align: center;
}
.header ul li.current-menu-item > ul li a,
.header ul li > ul li a {
	text-decoration: none;
}
.header ul.sub-menu li ul {
	left: 100%;
	top: 0;
} 

.header .header-inner {
 	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 0 -15px;
}
.header .header-inner .logo {
	width: 50%;
	padding: 0 15px;
}
.header .header-inner .menu {
	width: 50%;
	padding: 0 15px;
}
.header .header-menu-toggle {
    position: relative;
    width: 26px;
    display: block;
    margin-right: 8px;
}
.header .header-menu-toggle:before {
	content: '';
	background-image: url('../images/plus.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px;
    display: block;
    width: 30px;
    height: 30px;
}

.header-menu-responsive {
	display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    cursor: default;
	background-color: rgba(21, 20, 20, 1);
	padding: 30px 20px;
}
    
.header .header-inner .header-menu-responsive .menu {
	width: 100%;
	display: block;
	padding: 0;
}
.header .header-inner .header-menu-responsive .menu li {
	margin-bottom: 10px;
}
.header .header-inner .header-menu-responsive .menu li a {
	text-decoration: none;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 1;
	color: rgba(255, 255, 255, 0.75);
	font-size: 30px;
}
.header-menu-responsive  .header-menu-title {
	color: rgba(255, 255, 255, 0.75);
    font-weight: bold;
	font-size: 30px;
	margin-bottom: 10px;
}
.header-menu-responsive  .header-close {
	display: block;
    line-height: 1em;
    position: absolute;
    top: 0;
    right: 10px;
    line-height: 50px;
    color: rgba(255, 255, 255, .4);
    cursor: pointer;
    user-select: none;
}
.header-menu-responsive  .header-close a {
	font-size: 60px;
	font-weight: 200;
}

/* intro-text */
.intro-text {
	margin-bottom: 20px;
}
.intro-text p {
	font-size: 2vw;
	margin-bottom: 1.8rem;
	line-height: 1.2;
}
 
/* recent-projects */
.recent-projects h2 {
	font-weight: 700;
	font-size: 2.1rem;
	color: var(--light-grey);
}
.recent-projects h2 a {
	font-size: 2.1vw;
}
.recent-projects .project-subtitle {
	font-size: 1.5rem;
    margin-bottom: 1.6rem;
    color: var(--light-grey);
	letter-spacing: 0.8px;
}
.recent-projects .project-subtitle a {
	font-size: 1.5vw;
	letter-spacing: 0.8px;
}

.recent-projects .project-link {
	font-size: 1.1rem;
}
.recent-projects figure {
	margin-bottom: 0;
}

/* page-content */
.page-content {
	font-size: 1rem;
}
.page-content dl, 
.page-content ol,
.page-content ul {
	padding-left: 1.2rem;
}
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5 {
	color: var(--white);
}
.page-content h2 {
	font-size: 1.8rem;
}

/* column-text */
.column-text {
	font-size: 1rem;
}
.column-text dl, 
.column-text ol,
.column-text ul {
	padding-left: 0.8rem;
}
.column-text h1,
.column-text h2,
.column-text h3,
.column-text h4,
.column-text h5 {
	color: var(--white);
	font-weight: 400;
}
.column-text p {
	line-height: 1.3;
	font-size: 1rem;
}
.column-text small,
.column-text small a {
	color: var(--dark-grey);
	font-size: 0.9rem;
}
.column-text h2 {
	font-size: 1.3rem;
}
.column-text h2 a {
	color: var(--light-grey);
	font-weight: 400;
}

/* project-content */
.project-content .featured {
	margin-bottom: 3rem;
}
.project-content .featured img {
	width: 100%;
}
.project-content  h1 {
	font-weight: 700;
	font-size: 2.1rem;
	color: var(--light-grey);
}
.project-content .project-subtitle {
	font-size: 1.5rem;
    margin-bottom: 1.6rem;
    color: var(--light-grey);
}
.project-content .project-text a, 
.project-content .project-text p {
	font-size: 1.1rem;
    line-height: 1.35;
}
.project-content .project-text a {
	color: var(--dark-grey);
}
.project-content .project-year {
	margin-bottom: 2rem;
}
.project-partner ol {
	list-style: none;
	padding-left: 0;
}
.project-partner ol li {
	margin-bottom: 0.2rem;
}
.project-partner ol a {
	color: var(--dark-grey);
	font-weight: 300;
}
.project-partner p {
	margin-bottom: 0.5rem;
}

/* partners */
.partners h2 {
	font-weight: 400;
	color: var(--white);
	margin-bottom: 2rem;
}

.partners .partner-text p {
	font-size: 1.6rem;
	margin-bottom: 2.2rem;
}

/* partner-list */
.partner-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.3rem;
}
.partner-list .partner-item {
	width: 20%;
	padding: 0.3rem;
}

/* locations */
.locations h2 {
	margin-bottom: 4rem;	
	font-weight: 400;
}
.locations .location-item {
	margin-bottom: 1.8rem;
}
.locations .location-item p {
	margin-bottom: 0;
    font-size: 1.1rem;
}
.locations .location-item small {
	color: var(--dark-grey);
}

/* offices */
.offices h2 {
	margin-bottom: 4rem;	
	font-weight: 400;
}
.offices p {
	margin-bottom: 0;
    font-size: 1.1rem;
}
.offices address {
	color: var(--dark-grey);
	font-size: 1rem;
	font-weight: 300;
}
.offices .office-item {
	margin-bottom: 1.8rem;
}

/* recent-projects */
.recent-projects hr {
	margin: 2rem 0;
}

/* full-image */
.full-image img {
	width: 100%;
}

/**/
.projects-grid {

}
.projects-grid .project-filter {
	margin-bottom: 4rem;
}
.projects-grid .project-filter a {
	font-size: 1.2rem;
}
.projects-grid .project-filter a.active {
	color: var(--dark-grey);
}
.projects-grid .project-filter .title-arrow {
	margin-bottom: 2rem;
}
.projects-grid .project-item {
	margin-bottom: 1.5rem;
}
.projects-grid .project-item .project-item-title {
	font-size: 1rem;
	color: var(--light-grey);
	margin-bottom: 0.2rem;
}
.projects-grid .project-item .project-terms a,
.projects-grid .project-item .project-terms {
	font-size: 1rem;
	color: var(--dark-grey);
	font-weight: 300;
 }

/* single-grid */
.single-grid .title-arrow {
	margin-bottom: 2rem;
	font-size: 1.2rem;
}

/* memebers */
.memebers .member {
	margin-bottom: 2rem;
}
.memebers .member-name {
	font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 0.2rem;
}
.memebers .member-country {
	margin-bottom: 2rem;
	color: var(--dark-grey);
	font-size: 1rem;
}
.memebers .team-text p {
	font-size: 1rem;
	line-height: 1.3;
}

/* project-main */
.project-main {
	margin-bottom: 4rem;
}

 /* image-text */
 .image-text a,
 .image-text p {
    font-size: 1.6vw;
    line-height: 1.3;
    margin-bottom: 1.8rem;
 }
 .image-text .image-inner {
	margin-bottom: 3.5rem;
 }
 .image-text .image-inner figure {
	margin-bottom: 3.5rem;
 }

 /* social-links */
 .social-links ul {
	list-style: none;
 }
 .icon-right.rotate-45:after {
	transform: rotate(310deg);
 }	

 /* video-box */
 .video-box {
	position: relative;
 }

/* tab-images */
.tab-images .slide-image {
	display: none;
}
.tab-images .slide-image:first-of-type {
	display: block;
} 
.tab-images .tab-text-slides .dark-tab-text {
	display: none;
}
.tab-images .tab-text-slides .dark-tab-text:first-of-type {
	display: block;
}
.tab-images .dark-tab-content {
	margin-left: 8.33333333%;
    width: 66%;
}
.tab-images .dark-tab-content h2 {
	font-size: 2.3rem;
    line-height: 3.0625rem;
    font-weight: 800;
    margin-bottom: 30px;
}
.tab-images .dark-tab-content p {
	font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 36px;
}
.tab-images .dark-tab-menu {
	margin-bottom: 2.5rem;
}
.tab-images .dark-tab-content ul {
	display: flex;
    list-style: none;
}
.tab-images .dark-tab-content ul a {
	padding: .875rem 1rem;
    font-size: 0.85rem;
    position: relative;
    margin-right: 1.5rem;
}
.tab-images .dark-tab-content ul li {
	flex: 0 0 auto;
    float: none;
    line-height: 1rem;
}
.tab-images .dark-tab-content ul li.active a {
	font-weight: 700;	
}
.tab-images .dark-tab-content ul li a::after {
	content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    left: 0;
    bottom: 0;
    background-color: #fff;
} 
.tab-images .dark-tab-content ul li.active a::after {
	height: 6px;
    border-radius: 6px 6px 0 0;
}
.tab-images .tab-text-slides .dark-tab-text p {
	font-size: 0.8rem;
    line-height: 1.4;
    font-weight: 400;
}
.tab-images .reverse-content .tab-text-col {
	justify-content: flex-end;
}
.tab-images .reverse-content .dark-tab-content {
	margin-right: 8.33333333%;
	text-align: right;
}
.tab-images .reverse-content .dark-tab-content ul {
	justify-content: flex-end;
}
.tab-images .reverse-content .dark-tab-content ul a {
	margin-left: 1.5rem;
	margin-right: 0;
}
 

/* footer */
.footer {
	padding-top: 60px;
	padding-bottom: 40px;
}
.footer ul {
	list-style: none;
}
.footer .locations {
	font-size: 1rem;
}
.footer .locations a {
	color: var(--dark-grey);
}
.footer .footer-links p,
.footer .footer-links a {
	font-size: 1.2rem;
	line-height: 1.3;
	color: var(--light-grey);
}
.footer .locations address {
	color: var(--dark-grey);
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 300;
}
.footer .locations .loc-heading {
	margin-bottom: 1.2rem;
}
.footer .locations .loc-title {
	font-weight: 700;
}
.footer .locations .location-item {
	margin-bottom: 1.2rem;
}
 
@media only screen and (max-width: 1024px) {
	.container-fluid.nopadding {
		padding-right: 10px;
		padding-left: 10px;
	}
	.tab-images .dark-tab-content {
		width: 100%;
		margin-left: 0;
	}
	.tab-images .dark-tab-image {
		margin-bottom: 30px;
	}
	.tab-images .reverse-content .dark-tab-content {
		margin-right: 0;
		text-align: left;
	}
	.tab-images .reverse-content .dark-tab-content ul {
		justify-content: flex-start;
	}
	.tab-images .reverse-content .dark-tab-content ul a {
		margin-left: 0;
		margin-right: 1.5rem;
	}
}

  