@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

:root {
	--r-turq: #cbf8f8;
	--r-green: #9fce82;
	--r-lightblue: #c9e6fd;
	--r-midblue: #366083;
	--r-darkblue: #0a1b30;
	
	--r-smallPadding:60px;
	--r-mediumPadding:80px;
	--r-largePadding:120px;
	--r-extraPadding: 160px;
}

.bg-lightblue {
	background-color: var(--r-lightblue);
}

.bg-green {
	background-color: var(--r-green);
}

body,html {
	width: 100%;
	height: 100%;
}

body {
	color:var(--r-darkblue);
	font-family: "IBM Plex Sans", san-serif;
  	font-optical-sizing: auto;
  	font-weight:200;
  	font-style: normal;
}

.bodyFixed {
   height: 100%;
   overflow-y: hidden;
}

h1, h2, h3, h4, h5 {	
	font-weight:200;
	font-family: "IBM Plex Serif", serif;
}

.sans-serif {
	font-family: "IBM Plex Sans", san-serif;
}

.ibm-serif {
	font-family: "IBM Plex Serif", serif;
}

a {
	color: var(--r-darkblue);
	/*text-decoration: underline;*/
	transition: all .10s ease-in-out;
	-moz-transition: all .10s ease-in-out;
	-webkit-transition: all .10s ease-in-out;
}
a:hover {
	color: var(--r-green);
}

.link {
	color:var(--r-midblue);
	text-decoration: none;
	font-weight: bold;
}

footer {
	border-top: 2px solid #cbf8f8;
  	position: relative;
  	background-color: #fff;
  	padding-top: 60px;
  	padding-bottom: 80px;
  	z-index:1;
}

section {
	position:relative;
	z-index:1;
	background-color:#fff;
	padding-top:160px;
	padding-bottom:160px;
}

.sectionNone {
	padding-top:0.75rem; !important;
	padding-bottom:0.75rem; !important;
}

.sectionTopPad {
	padding-top:var(--r-extraPadding);
	padding-bottom:0.375rem;
}

.sectionBotPad {
	padding-top:0.375rem;
	padding-bottom:var(--r-extraPadding);
}

.sectionAllPad {
	padding-top:var(--r-extraPadding);
	padding-bottom:var(--r-extraPadding);
}

@media only screen and (min-width: 992px) {
.sectionTopPad {
	padding-top:var(--r-extraPadding);
	padding-bottom:0.75rem;
}

.sectionBotPad {
	padding-top:0.75rem;
	padding-bottom:var(--r-extraPadding);
}
}

.backgroundGradient {
    background-image: url('/img/background.webp');
    background-size:50%;
    background-position:left bottom;
    background-repeat:no-repeat;
}

.backgroundImage {
    background-image: url('/img/image1.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    min-height:768px
}

#home main {
	margin-top:90vh;
	background-color:#fff;
	position:relative;
	z-index:1;
	background-image: url('/img/background.webp');
    background-size:100%;
    background-position:left bottom;
    background-repeat:no-repeat;
}

main {
    margin-top:500px;
 	background-color:#fff;
	position:relative;
	z-index:1;
	background-image: url('/img/background.webp');
    background-size:100%;
    background-position:left bottom;
    background-repeat:no-repeat;
}

.mainHeader {
	width:100%;
    min-height: 90vh;
    display: flex;
    align-items: end; /* Center content vertically */
    justify-content:; /* Center content horizontally */
    background-color: #f8f9fa; /* Optional: Light background color */

    background-size:cover;
    background-position:left center;
    position: fixed;
	top: 0;
}

.mainHeader::before {
	position:absolute;
	left:0:
	top:0;
	content:'';
	height:100%;
	width:100%;	
	background:linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
	z-index:2;
}

.mainHeader h1 {
	font-weight:200;
	font-size:2.5rem;
	margin-bottom:40px;
	color:#fff;
}

.HeaderText {
	position:absolute;
	z-index:5;
	width:100%;
	left:30px;
	right:30px;
}

.mainHeader .carousel, .mainHeader .carousel-inner, .mainHeader .carousel-item {
	width:100%;
  	height: 100%;
}

.mainHeader .carousel-item {
	background-repeat: no-repeat;
    background-size:cover;
    background-position:center;
}

.carousel {
	position:absolute;
}

.carousel-item img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

@media only screen and (min-width: 992px) {
	.HeaderText {
		left:60px;
		right:60px;
	}
}

@media only screen and (min-width: 1200px) {
	.mainHeader h1 {
		font-size:5rem;
	}
}

/* SECONDARY */

.secondaryHeader {
	height:500px;
	width:100%;
	background:#d7d7d7;
    background-size:cover;
    background-position:left center;
    position: fixed;
	top: 0;
    display: flex;
  	align-items: end;
	padding-bottom: 10px;
}

.secondaryHeader h1,
.blogHeader h1 {
	font-size:2.25rem;
}

.secondaryHeader h1,
.secondaryHeader p {
	margin-top:auto;
	color:#fff;
}

#secondary {
	margin-top:500px;
	background-color:#fff;
	position:relative;
	z-index:2;
	background-image: url('/img/background.webp');
    background-size:100%;
    background-position:left bottom;
    background-repeat:no-repeat;
}

@media only screen and (min-width: 768px) {
	.secondaryHeader {
		height:768px;
	}
	
	#secondary {
		margin-top:768px;
	}
	
	.secondaryHeader h1,
	.blogHeader h1 {
		font-size:4rem;
		color:#fff;
	}
}

/* SECONDARY END */

.blogHome h5 {
	font-weight:200;
}

.blogCard {
	max-width:800px;
}

.blogCard h4 {
	font-weight:200;
	font-size:1.6rem;
	margin-bottom:20px;
}

.projectCard {
	position:relative;
	overflow:hidden;
	min-height:250px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
    background-image: url('/img/background.webp');
    background-size:cover;
    padding:0px;
}

.projectCard::after {
	content:'';
	position:absolute;
	overflow:hidden;
	min-height:250px;
	width:100%;
	height:100%
	left:0;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
    background-size:cover;
    padding:0px;
}

.projectCardImage {
	position:absolute;
	top:0;
	bottom:0;
  	width: 100%;
  	height: 100%;
  	background-color: black; /* fallback color */
  	background-image: url("/img/image1.jpg");
	background-position: center;
  	background-size: cover;
  	  -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.projectCard:hover .projectCardImage,
.projectCard:focus .projectCardImage {
	transform:scale(1.2);
}

.projectText {
	padding:20px;
	margin-bottom:-40px;
	-webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}
.projectCard:hover .projectText {
	margin-bottom:0px;
}



.projectCard h3 {
	margin-top:auto;
	margin-bottom:15px;
	font-weight:200;
}

.projectCard h3, .projectCard .link {
	color:#fff;
	position:relative;
	z-index: 2;
}

.projectFacts {	
	margin-top:60px;
	margin-bottom:60px;
}

.projectFacts span {
	font-family: "IBM Plex Serif", serif;
	font-weight:300;
	font-size:2rem;
	color:var(--r-midblue);
}

.projectCaraCard {
	height:100%;
	display:flex;
	flex-direction:column;
}

.projectCaraCardText {
	margin-top:10px;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

.projectFeat a {
	text-decoration:none;
}

.projectFeatTxt {
	
}

.projectInformation {
	display:flex;
	flex-wrap:wrap;
	margin-bottom:20px;
}

.projectInformation > div {
	width:50%;
}


.projectInformation h4 {
	font-size:1rem;
	margin-bottom:0px;
}

.projectDesc {
	font-size:1.5rem;
	font-family:'ibm plex serif';
	margin-bottom:60px;
}

.projectFeat h4 {
	font-size: 1rem;
	margin-top:20px;
	text-transform:uppercase;
	font-weight:700;
	color:var(--r-midblue);
}

.projectFeat h5 {
	font-weight:200;
	font-size:2rem;
	margin-bottom:20px;
}

#home .projectsHome {
	padding-bottom:0px;
}

@media only screen and (min-width: 992px) {

	.projectFacts span {
		font-size:3rem;
	}

	.projectInformation {
		display:flex;
		flex-wrap:wrap;
		margin-bottom:0px;
		flex-direction:column;
	}

	.projectInformation > div {
		width:100%;
	}
}


/* HOMEPAGE CASE STUDY */

.caseBlock h4 {
	font-size: 1rem;
	margin-top:20px;
	text-transform:uppercase;
}

.caseBlock h5 {
	font-weight:200;
	font-size:2rem;
	margin-bottom:20px;
}

@media only screen and (min-width: 1200px) {


.projectFeatTextWrap {
	padding-left:60px;	
}

.projectFeat h4 {
	font-size: 1rem;
	margin-top:20px;
	text-transform:uppercase;
	font-weight:700;
	color:var(--r-midblue);
}

.projectFeat h5 {
	font-weight:200;
	font-size:3rem;
	margin-bottom:20px;
}

	
}

/* QUOTE */

.quote {
	font-size:1.5rem;
}

.quoteBlock {
	padding-top:120px;
	padding-bottom:120px;
}

.quoteBlock h2 {
	font-size: 1rem;
	margin-top:0px;
	margin-bottom:0px;
	text-transform:uppercase;
}

.quoteBlock .quote p {
	margin-top:20px;
	margin-bottom:20px;
}

@media only screen and (min-width: 1200px) {
	.quote {
	font-size:2.5rem;
}
}

/* NEWS */

.newsCard a {
	text-decoration:none;
}

.newsCardTxtWrap {
	margin-top:15px;
	display:flex;
	flex-direction:column;	
}

.newsCardTxtWrap span {
	font-weight:400;
}

.newsCard .placeBtn {
	color:var(--r-green);
	font-weight:400;
	text-decoration:none;
}


/* SWIPER */

.swiper-button-prev, .swiper-button-next {
	background-color:#fff;
	width:50px;
	height:50px;
	border-radius:50px;
}

.swiper-button-prev::after, .swiper-button-next::after {
  font-family: swiper-icons;
  font-size: 24px;
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-slide {
  height: auto;
  flex-grow:1;
}
.swiper-wrapper {
  display: flex;
  align-items: stretch;
}

/* FOOTER */

.footerDesc {
	margin-bottom:60px;
}

.footerDesc {
	font-family: "IBM Plex Serif", serif;
	font-size:1.2rem;
}

.footerAddress {
	margin-bottom:30px;
}

.footerNav li a {
	margin-bottom:10px;
	overflow:hidden;
	-webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

.footerNav li a {
	display:flex;
	align-items:center;
	color:var(--r-midblue);
	text-decoration: none;
	font-weight: 400;
}

.footerNav a svg {
	-webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
	margin-left:-16px;
	height:16px;
}

.footerNav a:hover svg {

	margin-left:0px;
	height:16px;
}

.legal {
	margin-top:90px;
}

/*  BLOG */

article {
	background-color:#fff;
}

#postPage section {
	padding:0px;
}

#postPage article section {
	background-color:#fff;
	position:relative;
	margin-top:280px;
	padding-top:20px;
	padding-bottom:40px;
	z-index:1;
}

.blogHeader {
	height:280px;
	width:100%;
	background: -webkit-radial-gradient(top right, circle, #9fce82 20%, #c9e6fd 40%, white);
	background: -moz-radial-gradient(top right, circle, #9fce82 20%, #c9e6fd 40%, white);
	background: -ms-radial-gradient(top right, circle, #9fce82 20%, #c9e6fd 40%, white);
	background: -o-radial-gradient(top right, circle, #9fce82 20%, #c9e6fd 40%, white);
	background: radial-gradient(circle at top right, #9fce82 20%, #c9e6fd 40%, white);
	background-blend-mode: soft-light;
    background-repeat:no-repeat;
    position: fixed;
	top: 0;
    display: flex;
  	align-items: end;
	padding-bottom: 30px;
}

.blogHeader h1 {
	color:var(--r-midblue)
}

.largeText {
	font-size:1.6rem;
	font-weight:200;
	font-family: "IBM Plex Serif", serif;
	line-height:1.2;
	margin-bottom:20px;
}

@media only screen and (min-width: 992px) {
	.blogHeader h1 {
	    font-size: 3.5rem;
  	}
  	#postPage article section {
		background-color:#fff;
		position:relative;
		margin-top:500px;
		padding-top:60px;
	}
	.blogHeader {
		height:500px;
	}
}

@media only screen and (min-width: 1200px) {

	.largeText {
		font-size:2rem;
	}


}

/* SECONDARY END */

/* FORM */

.formHeader {
	background-color: var( --backgroundDark);
}

.formHeader h1 {
	color:#fff;
	padding-top:250px;
}

.formHeader p {
	color:#fff;
	margin-bottom:60px;
}

.formSection {

	padding-top:60px;
	padding-bottom:60px;
}

.form-field  {
	width: 99%;
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	border-radius: 3px;
	font-size: 16px;
	margin-bottom: 10px;
	border: 1px solid #B2B2B2;
}
.form-block {
	padding-top: 10px;
}
.form-block label {
	font-size: 14px;
	font-weight: 400;
}
.form-btn {
	background-color: transparent;
	transition: all .10s ease-in-out;
	-moz-transition: all .10s ease-in-out;
	-webkit-transition: all .10s ease-in-out;
	margin-top: 10px;
}

.field-block select {
	background-color: white;
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-border-radius: 3px;
	border-radius: 5px;
	width: 100%;
	background-image: url(../img/down-arrow.svg);
	background-repeat: no-repeat;
	background-position: right center;
	font-size: 14px;
	padding-left: 10px;
	background-size: 17px 6px;
	font-weight: 400;
	height: 43px;
	border: 1px solid #CBCBCB;
}

.form-wrap {
	padding-left: 20px;
	padding-right: 20px;
}
.form-control {
	display: block;
	width: 100%;
	height: 40px;
	padding: 5px 15px;
	font-size: 14px;
	line-height: 1.42857143;
	background-color: fff;
	background-image: none;
	border-radius: 0px;
	margin-bottom: 10px;
}
.form-control:focus {
	background-color: #fff;
	box-shadow: inset 0 2px 2px rgba(85, 59, 90, 0.075), 0 0 2px rgba(85, 59, 90, 0.6);
}
.centerlabel {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.form-row label {
	font-weight:lighter;
}
.form-row input {
	text-align: center;
}

.form-group label {
	font-size:14px;
	margin-bottom:5px;
}

.form-new {
	font-size: 0px;
  	height: 0px;
  	width: 0px;
  	color: transparent;
  	background-color: transparent;
  	padding: 0px;
	border: 0px transparent;
}

.form-new .form-control {
	display: block;
	width: 0px;
	height: 0px;
	padding: 0px 0px;
	font-size: 0px;
	line-height:0;
	background-color: transparent;
	background-image: none;
	border: 0px solid var(--r-darkblue);
	border-radius: 0px;
	margin-bottom: 0px;
}

textarea.form-control {
	padding: 10px 20px;
	min-height: 120px;
}

#form1_submit {
	color:inherit;
	text-decoration: none !important;
	cursor:pointer;
	display:inline-block;
	text-align:center;
	color:#fff;
	background-color: var(--r-green);
	border: 1px solid var(--r-green);
	font-size:1rem;
	line-height:1.17648;
	font-weight:400;
	letter-spacing:-.022em;
	border-style:solid;
	border-width:1px;
	min-width:28px;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 8px;
	padding-bottom: 8px;
	border-radius:0;
	margin-bottom:30px;
	-webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

#form1_submit:hover {
	background-color: var(--r-midblue);
	border:1px solid  var(--r-midblue);	
}

.formSection {
	background-color:#fff;
}

.formSection .btn {
	color:#fff;
}

/* CARD */


.newsSection .bodyTitle {
	margin-bottom:20px;
}

.newsCard {
	display:flex;
	flex-direction:row;
	margin-bottom:1rem;
}

.newsCard img {
	width:50%;
}

.newsCardTextWrap {
	width:50%;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding-left:20px;
}

.newsCardTextWrap h2,
.newsCardTextWrap h3 {
	font-size:1rem;
}

.newsCard .date {
	color:var(--r-green);
	font-size:0.825rem;
}


@media only screen and (min-width: 992px) {

	.newsSection .bodyTitle {
		margin-bottom:30px;
	}


	#postPage section.newsSection {
		padding-top:30px;
		padding-bottom:60px;
	}

	.newsCardTextWrap h2,
	.newsCardTextWrap h3 {
		margin-top:20px;
		font-size:1.6rem;
	}
	
	.newsCard .date {
		color:var(--r-green);
		font-size:1rem;
	}
	
	.newsCard {
		display:flex;
		flex-direction:column;
		margin-bottom:1rem;
	}
	.newsCard img {
		width:100%;
	}

	.newsCardTextWrap {
		width:100%;
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		padding-left:0px;
	}
}


