/*-----------------------------------------------------------------------------------
	    KDT-Website-18
        Built with Blocs
-----------------------------------------------------------------------------------*/
 
body{
	margin:0;
	padding:0;
    background:#FFFFFF;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.page-container{overflow:hidden;} /* Prevents unwanted scroll space when scroll FX used. */
a,button{transition: background .3s ease-in-out;outline: none!important;} /* Prevent ugly blue glow on chrome and safari */
a:hover{text-decoration: none; cursor:pointer;}


/* Preloader */

.page-preloader{position: fixed;top: 0;bottom: 0;width: 100%;z-index:100000;background:#FFFFFF url("img/pageload-spinner.gif") no-repeat center center;}

/* = Blocs
-------------------------------------------------------------- */

.bloc{
	width:100%;
	clear:both;
	background: 50% 50% no-repeat;
	padding:0 50px;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position:relative;
	display:flex;
}
.bloc .container{
	padding-left:0;
	padding-right:0;
}


/* Sizes */

.bloc-xl{
	padding:150px 50px;
}
.bloc-lg{
	padding:100px 50px;
}
.bloc-md{
	padding:50px;
}
.bloc-sm{
	padding:20px 50px;
}

/* = Full Screen Blocs 
-------------------------------------------------------------- */

.bloc-fill-screen{
	min-height:100vh;
	display: flex;
	flex-direction: column;
	padding-top:20px;
	padding-bottom:20px;
}
.bloc-fill-screen > .container{
	align-self: flex-middle;
	flex-grow: 1;
	display: flex;
	flex-wrap: wrap;
}
.bloc-fill-screen > .container > .row{
	flex-grow: 1;
	align-self: center;
	width:100%;
}
.bloc-fill-screen .fill-bloc-top-edge, .bloc-fill-screen .fill-bloc-bottom-edge{
	flex-grow: 0;
}
.bloc-fill-screen .fill-bloc-top-edge{
	align-self: flex-start;
}
.bloc-fill-screen .fill-bloc-bottom-edge{
	align-self: flex-end;
}


/* Group Styles */

.bloc-group{
	display:flex;
}
.bloc-tile-2{
	width:50%;
}
.bloc-tile-3{
	width:33.33333333%;
}
.bloc-tile-4{
	width:25%;
}
.bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
	width:100%;
}


/* Light theme */

.d-bloc .card,.l-bloc{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover,.l-bloc button:hover{
	color:rgba(0,0,0,.7);
}
.l-bloc .icon-round,.l-bloc .icon-square,.l-bloc .icon-rounded,.l-bloc .icon-semi-rounded-a,.l-bloc .icon-semi-rounded-b{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span,.l-bloc .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn,.l-bloc .a-btn,.l-bloc .navbar a,.l-bloc a .icon-sm, .l-bloc a .icon-md, .l-bloc a .icon-lg, .l-bloc a .icon-xl, .l-bloc h1 a, .l-bloc h2 a, .l-bloc h3 a, .l-bloc h4 a, .l-bloc h5 a, .l-bloc h6 a, .l-bloc p a{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover,.l-bloc .a-btn:hover,.l-bloc .navbar a:hover, .l-bloc a:hover .icon-sm, .l-bloc a:hover .icon-md, .l-bloc a:hover .icon-lg, .l-bloc a:hover .icon-xl, .l-bloc h1 a:hover, .l-bloc h2 a:hover, .l-bloc h3 a:hover, .l-bloc h4 a:hover, .l-bloc h5 a:hover, .l-bloc h6 a:hover, .l-bloc p a:hover{
	color:rgba(0,0,0,1);
}
.l-bloc .navbar-toggle .icon-bar{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .btn-wire,.d-bloc .card .btn-wire:hover,.l-bloc .btn-wire,.l-bloc .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}

/* Row Margin Offsets */

.voffset{
	margin-top:30px;
}
.voffset-md{
	margin-top:50px;
}


/* = NavBar
-------------------------------------------------------------- */

.hero .hero-nav{
	padding-left:inherit;
	padding-right:inherit;
}
/* Handle Multi Level Navigation */.navbar-light .navbar-nav .nav-link {
	color: rgb(64, 64, 64);
}
.btco-menu li > a {
	padding: 10px 15px;
	color: #000;
}
.btco-menu .active a:focus,.btco-menu li a:focus ,.navbar > .show > a:focus{
	background: transparent;
	outline: 0;
}
.dropdown-menu .show > .dropdown-toggle::after{
	transform: rotate(-90deg);
}

/* = Bric adjustment margins
-------------------------------------------------------------- */

.mg-clear{
	margin:0;
}
.mg-sm{
	margin-top:10px;
	margin-bottom:5px;
}
.mg-md{
	margin-top:10px;
	margin-bottom:20px;
}
.mg-lg{
	margin-top:10px;
	margin-bottom:40px;
}
img.mg-sm,img.mg-md,img.mg-lg{
	margin-top: 0;
}
img.mg-sm{
	margin-bottom:10px;
}
img.mg-md{
	margin-bottom:30px;
}
img.mg-lg{
	margin-bottom:50px;
}

/* = Buttons
-------------------------------------------------------------- */

.btn-d,.btn-d:hover,.btn-d:focus{
	color:#FFF;
	background:rgba(0,0,0,.3);
}

/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}

.dropdown a .caret{
	margin:0 0 0 5px}.btn-dropdown .dropdown-menu .dropdown{
	padding: 3px 20px;
}


/* Image Frame */
.img-frame,.img-frame-md,.img-frame-lg,.img-frame-rd,.img-frame-rd-md,.img-frame-rd-lg{
	background:#FFF;
	border:1px solid rgba(0,0,0,0.1);
	box-shadow:0 2px 2px rgba(0,0,0,0.05);
	padding:4px;
}
.img-frame{
	border-radius:3px;
}
.img-frame-md,.img-frame-lg{
	border-radius:6px;
}
.img-frame-md,.img-frame-rd-md{
	padding:8px;
}
.img-frame-lg,.img-frame-rd-lg{
	padding:14px;
}

/* = Text Widths
-------------------------------------------------------------- */
.text-w-80{
	max-width:80%;
}
.text-center.text-w-sm, .text-center.text-w-md, .text-center.text-w-lg, .text-center.text-w-90, .text-center.text-w-80, .text-center.text-w-70, .text-center.text-w-60, .text-center.text-w-50{
	margin-left: auto;
	margin-right: auto;
}

/* = Lists
-------------------------------------------------------------- */
.list-horizontal-layout li{
	float:left;
	margin:0 10px;
}
.list-sp-md li:last-child,.list-sp-lg li:last-child,.list-sp-xl li:last-child{
	padding-bottom:0;
}

.card-sq, .card-sq .card-header, .card-sq .card-footer{
	border-radius:0;
}
.card-rd{
	border-radius:30px;
}
.card-rd .card-header{
	border-radius:29px 29px 0 0;
}
.card-rd .card-footer{
	border-radius:0 0 29px 29px;
}

/* = Dividers
-------------------------------------------------------------- */
.divider-h{
	padding:20px 0;
	width:100%;
	display:inline-block;
}
.divider-h span{
	display: block;
	border-top:1px solid transparent;
}
.divider-half{
	width: 50%;
	margin: 0 auto;
}
.dropdown-menu .divider-h,.dropdown-menu .divider-half{
	padding:0;
}

/* = Forms
-------------------------------------------------------------- */

.form-control{
	border-color:rgba(0,0,0,.1);
	box-shadow:none;
}



/* ScrollToTop button */

.scrollToTop{
	width:40px;
	height:40px;
	position:fixed;
	bottom:20px;
	right:20px;
	opacity: 0;
	z-index: 500;
	transition: all .3s ease-in-out;
}
.scrollToTop span{
	margin-top: 6px;
}
.showScrollTop{
	font-size: 14px;
	opacity: 1;
}
/* = Lightbox
-------------------------------------------------------------- */

a[data-lightbox]{
	position: relative;
	display: block;
	text-align: center;
}
a[data-lightbox]:hover::before{
	content:"+";
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial;
	font-size:32px;
	line-height: 42px;
	width:50px;
	height:50px;
	margin-left:-25px;
	border-radius: 50%;
	background:rgba(0,0,0,.6);
	color:#FFF;
	font-weight:100;
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
a[data-lightbox]:hover img{
	opacity: 0.6;
	-webkit-animation-fill-mode: none;
	animation-fill-mode:none;
}
.lightbox-caption{
	padding: 20px;
	color: #FFF;
	background: rgba(0,0,0,.5);
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 5px;
}
.close-lightbox{
	color:#FFF;
	font-size: 30px;
	position: absolute;
	top:20px;
	right:20px;
	z-index: 20;
	background:rgba(0,0,0,.5);
	border:none;
	line-height: 30px;
	padding:0 9px 5px;
	opacity: 0.3;
	border-radius:.25rem;
}
.close-lightbox:hover,.next-lightbox:hover, .prev-lightbox:hover{
	opacity: 1.0;
	color:#FFF;
}
.next-lightbox, .prev-lightbox{
	font-size:20px;
	color:rgba(255,255,255,.9);
	background:rgba(0,0,0,.5);
	transition: all .2s ease-in-out;
	position: absolute;
	top:45%;
	z-index:1;
	opacity: 0.4;
	border-radius:.25rem;
}
.next-lightbox{
	padding:6px 8px 1px 13px;
	right:25px;
}
.prev-lightbox{
	padding:6px 13px 1px 10px;
	left:25px;
}

/* = Custom Styling
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"Helvetica";
}
.container{
	max-width:1170px;
}
.navigation{
	width:20%;
}
.main-content{
	width:80%;
}
.nav-list{
	margin-top:0%;
	float:none;
	overflow:inherit;
	padding-top:20%;
}
.nav-text{
	font-size:20px;
	color:#989898!important;
	text-align:left;
	font-family:"PT Serif";
}
.nav-text:active{
	color:#464646!important;
}
.nav-text:hover{
	color:#464646!important;
}
.paragraph{
	font-family:"PT Serif";
	font-size:80%;
	color:#888888!important;
}
.h3{
	font-family:"PT Serif";
}
h3{
	text-transform:none;
	font-weight:normal;
	color:#5A5A5A!important;
	font-size:100%;
}
.image-carousel{
	margin-bottom:10%;
}
.carousel-divider{
	margin-bottom:5%;
}
.social-media-icons{
	margin-bottom:3%;
	float:inherit;
	display:inline;
}
.tablet-menu-nav{
	float:inherit;
	margin-top:0px;
	height:5%;
}
.bloc-1-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-2-p{
	font-family: "PT Serif";
}
.bloc-5-h6{
	font-family: "PT Serif";
	line-height: 14.44444465637207px;
}
.bloc-7-p{
	font-size: 11.111111640930176px;
}
.bloc-8-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-10-h3{
	font-size: 24.44444465637207px;
}
.bloc-12-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-14-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-20-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-25-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-30-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-34-p{
	font-family: "PT Serif";
	font-size: 13px;
	line-height: 20px;
}
.bloc-36-h3{
	font-family: "PT Serif";
	font-size: 23px;
}
.bloc-36-p{
	font-family: "PT Serif";
	font-size: 16px;
}
.bloc-38-h6{
	font-family: "PT Serif";
	line-height: 14.44444465637207px;
}
.bloc-40-p{
	font-size: 11.111111640930176px;
}
.h3-heading-3-style{
	font-size:28px;
}

/* = Colour
-------------------------------------------------------------- */

/* Background colour styles */

.bgc-white{
	background-color:#ffffff;
}
.bgc-anti-flash-white{
	background-color:#F1EFF2;
}

/* Text colour styles */

.tc-battleship-grey{
	color:#838384!important;
}

/* Link colour styles */

.ltc-battleship-grey{
	color:#838384!important;
}
.ltc-battleship-grey:hover{
	color:#69696a!important;
}

/* Bloc image backgrounds */




/* = Mobile adjustments 
-------------------------------------------------------------- */
@media (max-width: 1024px)
{
    .bloc{
        padding-left: 20px; 
        padding-right: 20px;  
    }
    .bloc.full-width-bloc, .bloc-tile-2.full-width-bloc .container, .bloc-tile-3.full-width-bloc .container, .bloc-tile-4.full-width-bloc .container{
        padding-left: 0; 
        padding-right: 0;  
    }
}
@media (max-width: 991px)
{
    .container{width:100%;}
    .page-container{overflow: hidden;position: relative;} /* Prevent unwanted side scroll on mobile */
    .bloc{padding-left: constant(safe-area-inset-left);padding-right: constant(safe-area-inset-right);} /* iPhone X Notch Support*/
    .bloc-group, .bloc-group .bloc{display:block;width:100%;}
}
@media (max-width: 767px)
{
    .page-container{
        overflow: hidden;
        position:relative;
    }
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
        padding-left:0;padding-right:0;
    }
    .a-block{
        padding:0 10px;
    }
    .btn-dwn{
       display:none; 
    }
    .voffset{
        margin-top:5px;
    }
    .voffset-md{
        margin-top:20px;
    }
    .voffset-lg{
        margin-top:30px;
    }
    form{
        padding:5px;
    }
    .close-lightbox{
        display:inline-block;
    }
    .blocsapp-device-iphone5{
	   background-size: 216px 425px;
	   padding-top:60px;
	   width:216px;
	   height:425px;
    }
    .blocsapp-device-iphone5 img{
	   width: 180px;
	   height: 320px;
    }
}

@media (max-width: 991px){
	.tablet .mobile-carousel, .mobile .mobile-carousel{
		margin-bottom:5%;
	}
	.tablet .main-content, .mobile .main-content{
		width:100%;
	}
	.tablet .h3, .mobile .h3{
	}
	.tablet .paragraph, .mobile .paragraph{
	}
	.tablet .tablet-main-content, .mobile .tablet-main-content{
	}
	.tablet .tablet-menu-nav, .mobile .tablet-menu-nav{
		margin-top:5%;
		overflow:visible;
		float:inherit;
	}
	.tablet .tablet-menu-logo, .mobile .tablet-menu-logo{
		margin-bottom:5%;
		padding:5% 5% 5% 5%;
	}
	.tablet .social-media-icons, .mobile .social-media-icons{
		display:;
		overflow:inherit;
		float:initial;
	}
	.bloc-5-h6{
		line-height: 14.44444465637207px;
	}
	.bloc-7-p{
		font-size: 11.111111640930176px;
	}
	.bloc-10-h3{
		font-size: 24.44444465637207px;
	}
	.bloc-38-h6{
		line-height: 14.44444465637207px;
	}
	.bloc-40-p{
		font-size: 11.111111640930176px;
	}
	.h3-case-studies-style{
		font-size:28px;
	}
	
	/* MD Row Margin Offsets */
	.voffset-md{
		margin-top:30px;
	}
	
}

@media (max-width: 767px){
	.mobile .logo{
		background-position:center center;
	}
	.mobile .h3{
	}
	.mobile .bloc-mob-center-text{
		text-align:center;
	}
	.mobile .mobile-carousel{
		margin-bottom:6%;
	}
	.mobile .main-content{
	}
	.mobile .mobile-about{
		text-align:center;
	}
	.mobile .mobile-about-section{
	}
	.mobile .paragraph{
	}
	.mobile .mobile-home-sections{
		float:inherit;
		width:100%;
		display:inline;
	}
	.mobile .residential-links{
		text-align:center;
		font-family:"PT Serif";
		font-size:80%;
		color:#6A6B6B!important;
	}
	.mobile .residential-page-slider{
		margin-bottom:7%;
	}
	.mobile .tablet-menu-logo{
		overflow:inherit;
		float:inherit;
		display:inline;
	}
	.mobile .mobile-gallery-image-margins{
		margin-top:6%;
	}
	.mobile .tablet-menu-nav{
	}
	.bloc-5-h6{
		line-height: 0px;
	}
	.bloc-7-p{
		font-size: 12px;
	}
	.bloc-10-h3{
		font-size: 20px;
	}
	.bloc-38-h6{
		line-height: 0px;
	}
	.bloc-40-p{
		font-size: 12px;
	}
	.h3-style{
		font-size:28px;
	}
	
	/* Small Row Margin Offsets */
	.voffset-sm{
		margin-top:30px;
	}
	
	/* Small Text Margin Offsets */
	.mg-sm-sm{
		margin-top:10px;
		margin-bottom:5px;
	}
		.mg-clear-sm{
		margin:0;
	}
	
}

@media (max-width: 575px){
	.bloc-36-h3{
		font-size:20px;
	}
	.bloc-36-p{
		font-size:15px;
	}
	
	/* Mobile Row Margin Offsets */
	.voffset-xs{
		margin-top:30px;
	}
	
	/* Mobile Text Margin Offsets */
	.mg-sm-xs{
		margin-top:10px;
		margin-bottom:5px;
	}
		.mg-md-xs{
		margin-top:10px;
		margin-bottom:20px;
	}
		.mg-lg-xs{
		margin-top: 10px;
		margin-bottom:40px;
	}
	
}

