﻿[data-aos] {
	visibility: hidden;
}

[data-aos].animated {
	visibility: visible;
}


#body > ul, #body > div {
	display: table;
}

#slideshow .b11kh2title {
	font-size: 16px;
	letter-spacing: 2px;
	line-height: 16px;
}

.fadein {
	opacity: 0;
}

#wrapper {
	width: calc(100vw - (100vw - 100%)) !important;
	overflow: hidden;
}

@media only screen and (max-width:600px) {
	.fadein {
		opacity: 1;
	}
}

#taglinevideo {
	width: 100vw;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -999;
}


#taglinevideodiv {
	overflow: hidden;
	position: relative;
}

@media screen and (min-width: 768px) {
	.enquirebox {
		position: fixed;
		right: 5vw;
		z-index: 9999;
	}

	.enquirebox {
		top: calc(85vh - 101px);
	}

	#enquirebtn {
		/*top: 85vh;*/
		z-index: 9999;
	}
}

@media screen and (max-width: 767px) {
	.enquirebox, #enquirebtn {
		display: none !important;
	}
}

.videoshadow {
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	position: absolute;
	top: 0px;
}

#hpgridnewsbox {
	margin: 0;
	display: block !important;
	width: 100%;
}

#hpgridnews {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

#hpgridnews .listitembox {
	position: relative;
	background-size: cover !important;
	background-position: center center !important;
	min-height: 450px;
	cursor: pointer;
	transition: 0.5s;
	font-weight: 500;
}

#hpgridnews .listitembox .listboxcontent {
	width: 100%;
	text-align: center;
	background-color: rgba(0,0,0,0.4);
	color: #FFF;
	opacity: 0;
	-moz-transition: opacity 0.5s;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	-ms-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

#hpgridnews .listitembox:hover .listboxcontent {
	opacity: 1;
}

#hpgridnews .listitembox .listboxcontent .projectitle {
	position: absolute;
	transform: translate(0%, -50%);
	top: 50%;
	left: 0%;
	width: 100%;
}

#hpgridnews .listitembox .listboxcontent .projectitle h2 {
	margin-bottom: 15px;
	width: 70%;
	margin-left: 15%;
	display: block;
	text-align: center;
	text-transform: capitalize;
}

#hpgridnews .listitembox .listboxcontent .projectitle div {
	display: block;
	margin-bottom: 20px;
	line-height: 19px;
	font-size: 17px;
	width: 90%;
	margin-left: 5%;
}

#hpgridnews .listitembox .listboxcontent .projectitle a {
	display: block;
	width: 100px;
	margin: 0 auto;
	font-size: 17px;
	font-weight: 500;
	padding-bottom: 5px;
	border-bottom: 1px solid #fff;
}

#hpgridnews .casestudyshadow {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #182C5C;
}


#slideshow 
{
	max-height: 100vh;
	min-height: 100vh;
}

#backgroundmainvideo {
	height: 100vh;
}

#videoshadow {
	height: 100vh;
}

#hpvideobtt
{
	display:block;
	color:rgba(255,255,255,0.5);
	width:60px;
	height:60px;
	text-align:center;
	padding-top:5px;
	font-size:30px;
	border-radius:30px;
	border:3px solid rgba(255,255,255,0.5);
	position:absolute;
	right:4%;
	margin-top:-120px;

}

#hpvideobtt i
{
	margin-left:0px !important;
}

/*#hpguideservicebanner
{
	width:100%;
}

#hpguideservicebanner > div
{	
	cursor:pointer;
}

#tallbannerleft
{
	display:block;	
	background-image:url(/img/db/banners/hpgs-1.jpg);
	background-repeat:no-repeat;
	background-size:cover;	
	background-position: top left;
}

#topbannerright, #botbannerright
{
	display:block;	
}

.gsimage
{
	background-repeat:no-repeat;	
	background-position: top left;
}

#topbannerright > div.gsimage
{
	background-image:url(/img/db/banners/hpgs-3.jpg);
}

#botbannerright > div.gsimage
{
	background-image:url(/img/db/banners/hpgs-2.jpg);
}

.gstext
{
	background:#182C5C;
}

#hpguideservicebanner h3
{
	font-size: 16px;
    letter-spacing: 1px;
    font-weight: 100;
    line-height: 16px;
    text-transform: uppercase;
    font-family: PoppinsLight;
	color:white;
	display:table;
	width:auto;
	border-bottom:1px solid white;
	margin:40px auto 15px auto;
}

#hpguideservicebanner h2
{
	font-size: 50px;
    letter-spacing: 2px;
    font-weight: 100;
    line-height: 55px;
    font-family: PoppinsRegular;
	color:white;
    text-align: center;
	width:70%;
	margin:45px 15% 15px 15%;
}

#hpguideservicebanner p
{
	font-size: 18px;
    line-height: 23px;
    font-family: PoppinsLight;
    text-align: center;
	font-weight:lighter;
	color:white;
	width:70%;
	max-width: 350px;
	margin:45px auto 15px auto;
}

.gstext
{
	padding-top: 25px;
}
*/

@media screen and (max-width: 1340px)
{
	.col3 > .listitembox:nth-child(3n+2)
	{
		margin-left:0px;
		margin-right:0px;
	}

	.col3 > .listitembox
	{
		width:100%;
	}

	.col3 > .listitembox
	{
		margin:0px;
	}

	/*.sdtitle {
		line-height: calc(0.01944 * 100vw + 15px) !important;
		font-size: calc(0.01944 * 100vw + 10px) !important;
	}

	.sdp {
		line-height: calc(0.01944 * 70vw + 1px) !important;
		font-size: calc(0.01944 * 70vw) !important;
	}*/
}


@media screen and (max-width: 1200px) {
	/*#hpguideservicebanner h2, #hpguideservicebanner p
	{
		margin:15px 15% 5px 15%;
	}*/
}

@media screen and (max-width: 1000px) 
{
	#hpgridnews
	{
		grid-template-columns: 1fr 1fr;
	}

	#hpgridnews .listitembox .listboxcontent
	{
		opacity:0.5;
	}

	/*.sdtitle {
		line-height: calc(0.01944 * 100vw + 1px) !important;
		font-size: calc(0.01944 * 100vw + 1px) !important;
	}

	.sdp {
		line-height: calc(0.01944 * 100vw) !important;
		font-size: calc(0.01944 * 100vw) !important;
	}*/
}

@media screen and (min-width: 768px)
{
	/*#hpguideservicebanner > div
	{
		float:left;	
	}

	#tallbannerleft
	{		
		width:calc((100vw / 3) - 8px);
		height:calc((100vw / 4) * 2);		
		float:left;
	}

	#tallbannerleft h3
	{
		margin-top:calc(((100vw / 4) * 2) - 405px);
	}

	#topbannerright, #botbannerright
	{		
		width:calc(((100vw / 3) * 2) - 7px);
		height:calc(100vw / 4);
	}

	#topbannerright > div, #botbannerright > div
	{
		height:calc(100vw / 2);
		width:50%;	
		float:left;
	}*/
}

@media screen and (max-width: 767px)
{
	#hpgridnews
	{
		grid-template-columns: 1fr;
	}

	/*#hpguideservicebanner > div
	{
		height:60vh;
	}

	.sdtitle {
		line-height: 30px !important;
		font-size: 25px !important;
	}

	.sdp {
		line-height: 18px !important;
		font-size: 14px !important;
	}

	#hpguideservicebanner h3 {
		line-height: 12px !important;
		font-size: 12px !important;
	}

	.gstext {
		height: 215px;
        padding-top: 1px;
	}

	.gsimage {
		height: 220px;
		background-size:cover;
	}

	#tallbannerleft .gsleft{
		padding-top: 50px;
	}*/
}

@media screen and (max-width:900px)  and (max-height:450px) {	
	/*#tallbannerleft .gsleft {
		margin-top: 70px;
	}*/
}

/* Banner container */
#hpguideservicebanner {
  width: 100%;  
}

#hpguideservicebanner > div {
  cursor: pointer;
}

/* Background images */
#tallbannerleft {
  background: url(/img/db/banners/hpgs-1.jpg) no-repeat top left / cover;
}

.gsimage {
  background-repeat: no-repeat;
  background-position: top left;
  background-size: cover;
}

#topbannerright > div.gsimage {
  background-image: url(/img/db/banners/hpgs-3.jpg);
}

#botbannerright > div.gsimage {
  background-image: url(/img/db/banners/hpgs-2.jpg);
}

.gstext {
  background: #182c5c;
}

/* Centered text panels — used by tall-left and any .gstext */
#tallbannerleft > .gsleft,
.gstext {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 24px;
}

/* Typography */
#hpguideservicebanner h3 {
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: 300;
  line-height: 16px;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  color: white;
  border-bottom: 1px solid white;
  padding-bottom: 6px;
  margin-bottom: 24px;
}

#hpguideservicebanner h2 {
  font-size: clamp(26px, 3.2vw, 50px);
  letter-spacing: 2px;
  font-weight: 400;
  line-height: 1.1;
  font-family: "Poppins", sans-serif;
  color: white;
  margin-bottom: 24px;
}

#hpguideservicebanner p {
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.3;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  color: white;
	width: 70%;
    max-width: 300px;    
}

/* ============================================================
   Desktop + tablet (≥768px) — 2×2 grid, tall-left spans both rows
   ============================================================ */
@media screen and (min-width: 768px) {
  #hpguideservicebanner {
    display: grid !important;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr 1fr;
    aspect-ratio: 2 / 1;
    gap: 8px;
  }

  #tallbannerleft {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex;
  }

  #tallbannerleft > .gsleft {
    flex: 1;
  }

  #topbannerright {
    grid-column: 2;
    grid-row: 1;
    display: flex;
  }

  #botbannerright {
    grid-column: 2;
    grid-row: 2;
    display: flex;
  }

  #topbannerright > div,
  #botbannerright > div {
    flex: 1;
  }

  #hpguideservicebanner p {  
		margin: 45px auto 15px auto;
	}
}

/* Tablet refinement (768–1199px) — tighter spacing */
@media screen and (min-width: 768px) and (max-width: 1199px) {
  #tallbannerleft > .gsleft,
  .gstext {
    padding: 24px 16px;
  }

  #hpguideservicebanner h2 {
    margin-bottom: 16px;
  }
}

/* ============================================================
   Mobile (<768px) — single column, inner panels stacked
   ============================================================ */
@media screen and (max-width: 767px) {
  #hpguideservicebanner {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  #hpguideservicebanner > div {
    width: 100%;
  }

  #tallbannerleft {
    min-height: 60vh;
    display: flex;
  }

  #tallbannerleft > .gsleft {
    flex: 1;
  }

  #topbannerright {
    display: flex;
    flex-direction: column;
  }

  #botbannerright {
    display: flex;
    flex-direction: column-reverse;
  }

  #topbannerright > .gsimage,
  #botbannerright > .gsimage,
  #topbannerright > .gstext,
  #botbannerright > .gstext {
    min-height: 220px;
  }

  #hpguideservicebanner h3 {
    font-size: 12px;
    line-height: 12px;
  }

  #hpguideservicebanner h2 {
    font-size: 26px;
  }
}