/*-----------------------------------------------------------------------------------
	Better Thought Studio
	About: A shiny new Blocs website.
	Author: Pete Sharp
	Version: 1.0
	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 blue selection glow on Chrome and Safari */
a:hover{text-decoration: none; cursor:pointer;}
.scroll-fx-lock-init{position:fixed!important;top: 0;bottom: 0;left: :0;right: 0;z-index:99999;} /* ScrollFX Lock */
.blocs-grid-container{display: grid!important;grid-template-columns: 1fr 1fr;grid-template-rows: auto auto;column-gap: 1.5rem;row-gap: 1.5rem;} /* CSS Grid */
nav .dropdown-menu .nav-link{color:rgba(0,0,0,0.6)!important;} /* Maintain Downdown Menu Link Color in Navigation */
[data-bs-theme="dark"] nav .dropdown-menu .nav-link{color:var(--bs-dropdown-link-color)!important;} /* Maintain Downdown Menu Link Color in Navigation in Darkmode */

/* = Web Fonts
-------------------------------------------------------------- */

@font-face {
	font-family:'NexaBold';
	src: url('./fonts/NexaBold/Nexa%20Bold.woff');
	src: url('./fonts/NexaBold/Nexa%20Bold.woff') format('woff'),
	url('./fonts/NexaBold/Nexa%20Bold.eot?#iefix') format('embedded-opentype'),
	url('./fonts/NexaBold/Nexa%20Bold.ttf') format('truetype'),
	url('./fonts/NexaBold/Nexa%20Bold.svg#NexaBold') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display:swap;
}

@font-face {
	font-family:'Raleway-Medium';
	src: url('./fonts/Raleway-Medium/Raleway-Medium.ttf');
	src: url('./fonts/Raleway-Medium/Raleway-Medium.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display:swap;
}

@font-face {
	font-family:'Muli-Regular';
	src: url('./fonts/Muli-Regular/Muli-VariableFont_wght.ttf');
	src: url('./fonts/Muli-Regular/Muli-VariableFont_wght.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display:swap;
}

@font-face {
	font-family:'Raleway-Light';
	src: url('./fonts/Raleway-Light/Raleway-Light.ttf');
	src: url('./fonts/Raleway-Light/Raleway-Light.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display:swap;
}

@font-face {
	font-family:'Muli-Medium';
	src: url('./fonts/Muli-Medium/Muli-Medium.ttf');
	src: url('./fonts/Muli-Medium/Muli-Medium.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display:swap;
}

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

.bloc{
	width:100%;
	clear:both;
	background: 50% 50% no-repeat;
	padding:0 20px;
	-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;
	position:relative;
}

/* = 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;
}


/* Background Textures */

.bloc-bg-texture::before{
	content:"";
	background-size: 2px 2px;
	position: absolute;
	top: 0;
	bottom: 0;
	left:0;
	right:0;
}
.texture-diagonal-lines::before{
	background: url("img/texture-diag-lines.png");
	background-size: 10px 10px;
}


/* 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);
}


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

/* Navbar Icon */
.svg-menu-icon{
	fill: none;
	stroke: rgba(0,0,0,0.5);
	stroke-width: 2px;
	fill-rule: evenodd;
}
.navbar-dark .svg-menu-icon{
	stroke: rgba(255,255,255,0.5);
}
.menu-icon-thin-bars{
	stroke-width: 1px;
}
.menu-icon-thick-bars{
	stroke-width: 5px;
}
.menu-icon-rounded-bars{
	stroke-width: 3px;
	stroke-linecap: round;
}
.menu-icon-filled{
	fill: rgba(0,0,0,0.5);
	stroke-width: 0px;
}
.navbar-dark .menu-icon-filled{
	fill: rgba(255,255,255,0.5);
}
.navbar-toggler-icon{
	background: none!important;
	pointer-events: none;
	width: 33px;
	height: 33px;
}
/* Handle Multi Level Navigation */
.dropdown-menu .dropdown-menu{
	border:none}
@media (min-width:576px){
	
.navbar-expand-sm .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-sm .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:768px){
	.navbar-expand-md .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-md .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:992px){
	.navbar-expand-lg .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-lg .dropdown-menu .submenu-left{
	right:100%;
	left:auto}
}

/* = 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;
}






.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;
}
/* = Masonary
-------------------------------------------------------------- */
.card-columns .card {
	margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
	.card-columns {
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
	-webkit-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	orphans: 1;
	widows: 1;
}
.card-columns .card {
	display: inline-block;
	width: 100%;
}
}
/* = Classic Dividers
-------------------------------------------------------------- */
.divider-h{
	min-height: 1px;
	background-color:rgba(0,0,0,.2);
	margin: 20px 0;
}
.divider-half{
	width: 50%;
}
.dropdown-menu .divider-h{
	margin:0;
}

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

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



/* ScrollToTop button */

.scrollToTop{
	width:36px;
	height:36px;
	padding:5px;
	position:fixed;
	bottom:20px;
	right:20px;
	opacity:0;
	z-index:999;
	transition: all .3s ease-in-out;
	pointer-events:none;
}
.showScrollTop{
	opacity: 1;
	pointer-events:all;
}
.scroll-to-top-btn-icon{
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
	fill-rule: evenodd;
	stroke-linecap:round;
}

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

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"Muli-Regular";
}
.container{
	max-width:1140px;
}
h1{
	font-family:"NexaBold";
	color:var(--swatch-var-2869)!important;
	font-size:2em;
}
p{
	color:var(--swatch-var-2869)!important;
	font-family:"Raleway-Light";
	font-size:1.2em;
	line-height:1.6em;
}
.btn-action{
	font-family:"NexaBold";
	color:var(--swatch-var-2869)!important;
	background-color:var(--swatch-var-2941);
	border-style:solid;
	border-color:var(--swatch-var-2869)!important;
	border-radius:10px 10px 10px 10px;
	border-width:0.1em 0.1em 0.1em 0.1em;
}
.btn-action:hover{
	background-color:var(--swatch-var-2869);
	color:var(--swatch-var-2941)!important;
}
.bg-map{
	background-size:cover;
	overflow:hidden;
	border-style:_popUpItemAction:;
}
.bg-map::before{
	content:"";
	position:absolute;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	z-index:-1;
	background-image:url("img/World-Map-Transparent.png");
	background-image: -webkit-image-set(url("img/World-Map-Transparent.webp") 1x,
url("img/World-Map-Transparent.webp") 2x);background-image: image-set(url("img/World-Map-Transparent.png") 1x,
url("img/World-Map-Transparent.png") 2x,url("img/World-Map-Transparent.webp") 1x,
url("img/World-Map-Transparent.webp") 2x);
	background-color:var(--swatch-var-1587);
	background-repeat:repeat-x;
	background-size:contain;
	width:10000px;
}
.btn-dark{
	color:var(--swatch-var-5341)!important;
	background-color:var(--swatch-var-6918);
}
.main-logo{
	width:100%;
	height:auto;
	max-width:350px;
	margin-left:auto;
	margin-right:auto;
	background-color:var(--swatch-var-2941);
	border-color:var(--swatch-var-2941)!important;
	border-style:solid;
	padding:2em 2em 2em 2em;
	border-radius:50% 50% 50% 50%;
	border-width:1px 1px 1px 1px;
}
.bloc-offcanvas{
	background-color:rgba(1,142,242,0.20);
}
.offcanvas-menu{
	border-style:_popUpItemAction:;
	background-color:var(--swatch-var-5341);
}
.offcanvas-header{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
}
.offcanvas-title{
	color:#000000!important;
	margin-top:0px;
	margin-bottom:0px;
}
.offcanvas-close{
	color:#CE0027!important;
	font-size:2rem;
	cursor:pointer;
	margin-left:auto;
	opacity:0.8;
}
.offcanvas-close:hover{
	opacity:1.0;
}
.offcanvas-body{
	flex-direction:column;
	display:flex;
}
.offcanvas-dropdown{
	padding-left:3rem;
	border-style:_popUpItemAction:;
	border-top-width:0px;
	border-right-width:0px;
	border-left-width:0px;
}
.offcanvas-footer{
	margin-top:auto;
}
.offcanvas-divider{
	background-color:transparent;
	border-color:#000000!important;
}
.offcanvas-social{
	width:100%;
	max-width:300px;
	margin-right:auto;
	margin-left:auto;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-around;
	color:#000000!important;
	font-size:2rem;
	padding-top:1rem;
	padding-bottom:1rem;
}
.contact-form{
	padding-top:0.5rem;
}
.contact-form label{
	color:var(--swatch-var-2941)!important;
	text-transform:uppercase;
	font-size:0.8em;
	font-family:"Muli-Medium";
}
.contact-form input{
	background-color:var(--swatch-var-1602);
	color:var(--swatch-var-2941)!important;
	font-size:1.1rem;
}
.contact-form input:focus{
	background-color:var(--swatch-var-1602);
	color:var(--swatch-var-2941)!important;
}
.contact-form .form-control{
	color:var(--swatch-var-2941)!important;
	background-color:var(--swatch-var-1602);
}
.contact-form .form-control:active{
	background-color:var(--swatch-var-1602);
}
.offcanvas-content{
	padding:1em 1em 1em 1em;
}
.divider-background-color{
	background-color:var(--swatch-var-1602);
}
.btn-dark-border{
	border-color:var(--swatch-var-1602)!important;
	border-style:solid;
	border-width:1px 1px 1px 1px;
}
.btn-dark-border:hover{
	color:var(--swatch-var-2941)!important;
}
.help-block .alert-warning{
	background-color:var(--swatch-var-5341);
	border-color:var(--swatch-var-6657)!important;
	border-style:solid;
	color:var(--swatch-var-6657)!important;
	border-width:1px 1px 1px 1px;
}
.contact-form .form-control:focus{
	border-color:var(--swatch-var-6657)!important;
}
.help-block .alert-success{
	background-color:var(--swatch-var-5341);
	border-color:var(--swatch-var-3089)!important;
	border-style:solid;
	color:var(--swatch-var-3089)!important;
	border-width:1px 1px 1px 1px;
}
.p-style{
	font-family:"Raleway-Medium";
}

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

/* Swatch Variables */
:root{
	
	--swatch-var-1587:rgba(234,234,234,1.00);
	
	--swatch-var-5341:rgba(17,17,17,1.00);
	
	--swatch-var-1602:rgba(66,66,66,1.00);
	
	--swatch-var-3148:rgba(0,0,0,0.80);
	
	--swatch-var-483:rgba(154,192,41,1.00);
	
	--swatch-var-2596:rgba(255,38,0,1.00);
	
	--swatch-var-2869:rgba(0,0,0,1.00);
	
	--swatch-var-2941:rgba(255,255,255,1.00);
	
	--swatch-var-5476:rgba(24,119,242,1.00);
	
	--swatch-var-5806:rgba(29,161,242,1.00);
	
	--swatch-var-1772:rgba(255,0,0,1.00);
	
	--swatch-var-6657:rgba(10,102,194,1.00);
	
	--swatch-var-1502:rgba(195,42,163,1.00);
	
	--swatch-var-3089:rgba(37,211,102,1.00);
	
	--swatch-var-6918:rgba(0,0,0,0.00);
	
}



/* Text colour styles */

.tc-5341{
	color:var(--swatch-var-5341)!important;
}
.tc-2941{
	color:var(--swatch-var-2941)!important;
}

/* Bloc image backgrounds */


/* = Custom Bric Data
-------------------------------------------------------------- */


/* = Additional CSS
-------------------------------------------------------------- */
.btn-dark {transition: all 200ms linear;}
.btn-dark::hover {transition: all 200ms linear;}

.menu-section {display: none; opacity: 0;}
.menu-section.active {display: block; opacity: 1; animation-name: slidein; animation-duration: 1s;}

@keyframes slidein {
	0% {
		opacity: 0;
		transform: translateX(3rem);	
	}
	75% {
		opacity: 0.75;	
	}
	100% {
		opacity: 1;
		transform: translateX(0);	
	}
}


.menu-section .menu-open::after {
	transition: all 1s ease-in-out;
	opacity: 0.3;
}
.menu-section .menu-open:hover::after {
	margin-left: 1em;
	opacity: 1;
	transition: all 1s ease-in-out;
}

.menu-section a {
	transition: color 0.6s ease-in-out;
}
.menu-section a:hover {
	transition: color 0.3s ease-in-out;
}

.menu-section-back-icon {
	opacity: 0.5;
	transition: color 0.3s ease-in-out;
}

.menu-section-back-icon:hover {
	opacity: 1;
	transition: color 0.3s ease-in-out;
}

.offcanvas-social a span {transition: all 1s ease-out;}
.offcanvas-social a span:hover {transition: all 0.6s ease-out; transform: scale(1.4);}

.bg-map::before {animation-name: map; animation-duration: 1440s; animation-iteration-count: 1; animation-timing-function: linear; animation-direction: reverse; }

@keyframes map {
	from {transform: translateX(0);}
	to {transform: translateX(-4000px);}
}


/* = Bloc Padding Multi Breakpoint
-------------------------------------------------------------- */

@media (min-width: 576px) {
    .bloc-xxl-sm{padding:200px 20px;}
    .bloc-xl-sm{padding:150px 20px;}
    .bloc-lg-sm{padding:100px 20px;}
    .bloc-md-sm{padding:50px 20px;}
    .bloc-sm-sm{padding:20px;}
    .bloc-no-padding-sm{padding:0 20px;}
}
@media (min-width: 768px) {
    .bloc-xxl-md{padding:200px 20px;}
    .bloc-xl-md{padding:150px 20px;}
    .bloc-lg-md{padding:100px 20px;}
    .bloc-md-md{padding:50px 20px;}
    .bloc-sm-md{padding:20px 20px;}
    .bloc-no-padding-md{padding:0 20px;}
}
@media (min-width: 992px) {
    .bloc-xxl-lg{padding:200px 20px;}
    .bloc-xl-lg{padding:150px 20px;}
    .bloc-lg-lg{padding:100px 20px;}
    .bloc-md-lg{padding:50px 20px;}
    .bloc-sm-lg{padding:20px;}
    .bloc-no-padding-lg{padding:0 20px;}
}


/* = Mobile adjustments 
-------------------------------------------------------------- */
@media (max-width: 1024px)
{
    .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%;}
    .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)
{
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
        padding-left:0;padding-right:0;
    }
    .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){
	h1{
		font-size:1.6em;
	}
	
}

@media (max-width: 767px){
	h1{
		font-size:1.4em;
	}
	.main-logo{
		max-width:300px;
		padding:1em 1em 1em 1em;
	}
	
}

@media (max-width: 575px){
	h1{
		font-size:1.2em;
	}
	.main-logo{
		max-width:200px;
		padding:1em 1em 1em 1em;
	}
	
}

