/*-----------------------------------------------------------------------------------
	    Stilvet
        Built with Blocs
-----------------------------------------------------------------------------------*/

body{
	margin:0;
	padding:0;
    background:#FFF;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a,button{transition: all .3s ease-in-out;outline: none!important;} /* Prevent ugly blue glow on chrome and safari */
a:hover{text-decoration: none; cursor:pointer;}

/* SEO & Accessibility helper */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

#page-loading-blocs-notifaction{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;
}
.bloc .container{
	padding-left:0;
	padding-right:0;
}


/* Sizes */

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

/* = Full Width Blocs 
-------------------------------------------------------------- */

.full-width-bloc{
	padding-left:0;
	padding-right:0;
}
.full-width-bloc .container{
	width:100%;
	max-width:100%!important;
}
.full-width-bloc .carousel img{
	width:100%;
	height:auto;
}


/* Background Effects */

.b-parallax{
	background-attachment:fixed;
}


/* Dark theme */

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


/* Light theme */

.d-bloc .panel,.l-bloc{
	color:rgba(0,0,0,.5);
}
.d-bloc .panel 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 .panel .divider-h span,.l-bloc .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .panel .a-btn,.l-bloc .a-btn,.l-bloc .navbar a,.l-bloc .navbar-brand,.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 .panel .a-btn:hover,.l-bloc .a-btn:hover,.l-bloc .navbar a:hover, .l-bloc .navbar-brand: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 .panel .btn-wire,.d-bloc .panel .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;
}
.voffset-lg{
	margin-top:80px;
}

/* Bloc text custom styling */

#bloc-2 h3{
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 42px;
}
#bloc-2 p{
	font-size: 16px;
	line-height: 32px;
}
#bloc-3 h3{
	font-weight: 700;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 40px;
}
#bloc-3 p{
	font-size: 16px;
}
#bloc-4 h3{
	font-weight: 700;
	font-family: Ubuntu;
}
#bloc-6 h2{
	font-weight: 700;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 40px;
}
#bloc-6 p{
	font-size: 16px;
	line-height: 30px;
}
#bloc-6 h3{
	font-weight: 700;
	font-family: Ubuntu;
}
#bloc-8 h3{
	font-weight: 400;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 40px;
}
#bloc-9 h2{
	font-weight: 700;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 36px;
}
#bloc-9 p{
	font-size: 16px;
}
#bloc-11 h3{
	font-weight: 300;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 40px;
}
#bloc-11 p{
	font-size: 16px;
	line-height: 24px;
}
#bloc-11 h4{
	font-weight: 700;
	font-family: Ubuntu;
	font-size: 22px;
}
#bloc-11 p{
	line-height: 24px;
}
#bloc-12 h2{
	font-weight: 400;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 40px;
}
#bloc-13 h3{
	font-weight: 400;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 40px;
}
#bloc-14 h2{
	font-weight: 700;
	font-family: Ubuntu;
	font-size: 36px;
	line-height: 36px;
}
#bloc-14 p{
	font-size: 16px;
}

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

.navbar{
	margin-bottom: 0;
	z-index:1;
}
.navbar-brand{
	height:auto;
	padding:3px 15px;
	font-size:25px;
	font-weight:normal;
	font-weight:600;
	line-height:44px;
}
.navbar-brand img{
	max-height: 200px;
	margin: 0 5px 0 0;
	display:inline;
}
.nav-center .navbar-brand img{
	margin:0;
}
.navbar .nav{
	padding-top: 2px;
	margin-right: -16px;
	float:right;
	z-index:1;
}
.nav > li{
	float:left;
	margin-top:4px;
	font-size:16px;
}
.navbar-nav .open .dropdown-menu > li > a{
	text-align: inherit;
}
.nav > li a:hover, .nav > li a:focus{
	background:transparent;
}
.navbar-toggle{
	margin: 10px 10px 0 0;
	border: 0px;
}
.navbar-toggle:hover{
	background:transparent!important;
}
.navbar-toggle .icon-bar{
	background-color: rgba(0,0,0,.5);
	width: 26px;
}
 /* Inverted navbar */

.nav-invert .navbar .nav{
	float:left;
}
.nav-invert .navbar-header, .nav-invert .navbar-brand{
	float:right;
	position:relative;
	z-index:2;
}
@media (min-width: 768px){
	.site-navigation{
		position:absolute;
		top:50%;
		right:20px;
		transform:translate(0, -50%);
		-webkit-transform:translateY(-50%);
	}
	.nav > li .dropdown-menu a,.nav > li .dropdown-menu a:hover{
		color:#484848;
	}
	.nav-invert .site-navigation{
		left:0;
		right:0;
	}
	.nav-center{
		text-align:center;
	}
	.nav-center .navbar-header{
		width:100%;
	}
	.nav-center .navbar-header, .nav-center .navbar-brand, .nav-center .nav > li{
		float: none;
		display:inline-block;
	}
	.nav-center .site-navigation{
		position:relative;
		width:100%;
		right:0;
		margin-right:0px;
		margin-top:20px;
	}
.nav-center.mini-nav .navbar-toggle{
	float:none;
	margin: 10px auto 0;
	}
}
.nav > li > .dropdown a{
	background: none!important;
	display: block;
	padding: 14px 15px;
}

nav .caret{
	margin: 0 5px;
}
/* Dropdown Menus SubMenu */
	.dropdown-menu .dropdown-menu{
	top:-8px;
	left:100%;
}
.dropdown-menu .dropmenu-flow-right{
	top:100%;
	left:0;
	margin-left: -1px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
.dropdown-menu .dropdown span{
	border: 4px solid black;
	border-top-color:transparent;
	border-right-color:transparent;
	border-bottom-color:transparent;
	margin: 6px -5px 0 0!important;
	float: right;
}
/* = Sticky Nav
-------------------------------------------------------------- */

.sticky-nav.sticky{
	position:fixed;
	top:0;
	z-index:1000;
	box-shadow:0 1px 2px rgba(0,0,0,.3);
	 transition: all .2s ease-out;
}

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

.mg-sm{
	margin-top:10px;
	margin-bottom:5px;
}
.mg-md{
	margin-top:10px;
	margin-bottom:20px;
}
.mg-lg{
	margin-top:10px;
	margin-bottom:40px;
}

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

.btn{
	margin: 0 5px 5px 0;
}
.btn.pull-right{
	margin: 0 0 5px 5px;
}
.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;
}

.btn-rd{
	border-radius: 40px;
}

/* = Icons
-------------------------------------------------------------- */
.icon-lg{
	font-size:60px!important;
}




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

/* = Dividers
-------------------------------------------------------------- */
.divider-h{
	padding:20px 0;
}
.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;
}


/* iFrame */

iframe{
	border:0;
}
/* = Carousel
-------------------------------------------------------------- */

.carousel{
	display:inline-block;
	vertical-align:bottom;
}
.full-width-bloc .carousel{
	width:100%;
}
.carousel .item img{
	margin-right:auto;
	margin-left:auto;
}
.carousel-control span{
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-block;
}
.carousel-control{
	color:#FFF!important;
	text-shadow: none;
}
.carousel-indicators li{
	margin: 0 4px;
}
.carousel-indicators .active{
	margin: 0 4px -1px;
}
.carousel-control.left span{
	margin-left:-15px;
}


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

/* ── Pulsing emergency call button ────────────────────────── */
@keyframes call-pulse {
    0%   { box-shadow: 0 0 0 0   rgba(80,153,219,.65), 0 6px 20px rgba(80,153,219,.35); }
    55%  { box-shadow: 0 0 0 18px rgba(80,153,219,0),  0 6px 20px rgba(80,153,219,.35); }
    100% { box-shadow: 0 0 0 0   rgba(80,153,219,0),  0 6px 20px rgba(80,153,219,.35); }
}
@keyframes call-ring {
    0%, 100% { transform: rotate(0deg); }
    10%      { transform: rotate(-18deg); }
    20%      { transform: rotate(18deg); }
    30%      { transform: rotate(-14deg); }
    40%      { transform: rotate(14deg); }
    50%      { transform: rotate(-8deg); }
    60%      { transform: rotate(8deg); }
    70%      { transform: rotate(0deg); }
}

.bloc-button.scrollToTop {
    width:  58px !important;
    height: 58px !important;
    border-radius: 50% !important;
    background: #5099DB !important;
    color: #fff !important;
    opacity: 1 !important;          /* always visible */
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 22px !important;
    bottom: 24px !important;
    right:  24px !important;
    padding: 0 !important;
    border: none !important;
    animation: call-pulse 2.2s ease-out infinite;
    transition: background .25s ease, transform .2s ease !important;
    z-index: 9999 !important;
}

.bloc-button.scrollToTop:hover,
.bloc-button.scrollToTop:focus {
    background: #378a74 !important;
    transform: scale(1.1) !important;
    animation-play-state: paused;
    color: #fff !important;
}

.bloc-button.scrollToTop .fa {
    margin-top: 0 !important;
    animation: call-ring 3s 1.5s ease-in-out infinite;
}

/* Smaller on tiny screens */
@media (max-width: 480px) {
    .bloc-button.scrollToTop {
        width:  50px !important;
        height: 50px !important;
        font-size: 19px !important;
        bottom: 16px !important;
        right:  16px !important;
    }
}
/* = 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;
	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%;
	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-modal{
	display: flex;
	align-items: center;
}
#lightbox-modal .modal-dialog{
	width:90%;
	max-width:900px;
	margin:0 auto 0;
}
#lightbox-modal .modal-dialog img{
	max-height:90vh;
	margin: 0 auto;
}
.lightbox-caption{
	padding: 20px;
	color: #FFF;
	background: rgba(0,0,0,.5);
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 5px;
}
.close-lightbox{
	display: none;
	font-size: 40px;
	position: absolute;
	top:8px;
	right:20px;
	z-index: 20;
}
.next-lightbox, .prev-lightbox{
	font-size:20px;
	color:rgba(255,255,255,.4);
	transition: all .2s ease-in-out;
	position: absolute;
	top:50%;
	z-index:1;
}
.next-lightbox{
	right:25px;
}
.prev-lightbox{
	left:25px;
}
.prev-lightbox:hover, .next-lightbox:hover{
	color:rgba(255,255,255,.9);
}

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

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"Helvetica";
}
.container{
	max-width:1170px;
}

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

/* Background colour styles */

.bgc-mint{
	background-color:#5099DB;
}
.bgc-white{
	background-color:#ffffff;
}

/* Text colour styles */

.tc-paynes-grey{
	color:#444555!important;
}
.tc-mint{
	color:#5099DB!important;
}

/* Button colour styles */

.btn-mint{
	background:#5099DB;
	color:#FFFFFF!important;
}
.btn-mint:hover{
	background:#378a74;
	color:#FFFFFF!important;
}

/* Bloc image backgrounds */

.bg-20170110-100437{
	background-image:url("img/IMG_0063.jpg");
}
.bg-Services{
	background-image:url("img/Services.jpg");
}



/* = 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: 992px) and (min-width: 768px)
{
    .navbar .nav{
		max-width:80%
    }
	.nav-center.navbar .nav{
		max-width:100%
    }
}
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {.b-parallax{background-attachment:scroll;}}
@media (max-width: 991px)
{
    .container{width:100%;}
    .b-parallax{background-attachment:scroll;}
    .page-container, #hero-bloc{overflow-x: hidden;position: relative;} /* Prevent unwanted side scroll on mobile */
    .bloc-group, .bloc-group .bloc{display:block;width:100%;}
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{padding-left: 10px;padding-right: 10px;}
}
@media (max-width: 767px)
{
    .page-container{
        overflow-x: hidden;
        position:relative;
    }
    h1,h2,h3,h4,h5,h6,p,#disqus_thread{
        padding-left:10px!important; 
        padding-right:10px!important; 
    }
    #hero-bloc h1{
        font-size:40px;
    }
    #hero-bloc h2{
        font-size:34px;
    }
    #hero-bloc h3{
        font-size:25px;
    }
    .b-parallax{
        background-attachment:scroll;
    }
    .navbar .nav{
        padding-top: 0;
        border-top:1px solid rgba(0,0,0,.2);
        float:none!important;
    }
    .navbar.row{
        margin-left: 0;
        margin-right: 0;
    }
    .site-navigation{
	   position:inherit;
	   transform:none;
	   -webkit-transform:none;
	   -ms-transform:none;
    }  
    .nav > li{
        margin-top: 0;
        border-bottom:1px solid rgba(0,0,0,.1);
        background:rgba(0,0,0,.05);
        text-align: left;
        padding-left:15px;
        width:100%;
    }
    .nav > li:hover{
        background:rgba(0,0,0,.08);
    }
    .dropdown .dropdown a .caret{   
        float: none;
        margin: 5px 0 0 10px!important;
        border: 4px solid black;
        border-bottom-color: transparent;
        border-right-color: transparent;
        border-left-color: transparent;
    }
    
    #hero-bloc .navbar .nav{
        background:rgba(0,0,0,.8);
    }
    #hero-bloc .navbar .nav a{
        color:rgba(255,255,255,.6);
    }
    .hero{
        padding:50px 0;
    }
    .hero-nav{
        left:-1px;
        right:-1px;
    }
    .navbar-collapse{
        padding:0;
        overflow-x: hidden;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .navbar-brand img{
        max-height: 40px;
        width:auto;   
    }
    .nav-invert .navbar-header{
        float: none;
        width:100%;
    }
    .nav-invert .navbar-toggle{
        float:left; 
    }
    .bloc{
        padding-left: 0; 
        padding-right: 0;
    }
    .bloc-xxl,.bloc-xl,.bloc-lg{
        padding: 40px 0;
    }
    .bloc-sm,.bloc-md{
        padding-left: 0; 
        padding-right: 0;
    }
    .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;
    }
    .video-bg-container{
        display:none;
    }
    .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: 400px)
{    
    .bloc{
        padding-left: 0; 
        padding-right: 0;  
        -webkit-background-size: auto 200%;
        -moz-background-size: auto 200%;
        -o-background-size: auto 200%;
        background-size: auto 200%;
    }
}
@media (max-width: 767px){
	.bloc-mob-center-text{
	text-align:center;
}
.blocs-team-avatar{
	max-width:280px;
}
.blocs-team-header{
	text-align:center;
}
.blocs-team-details{
	text-align:center;
}
.blocs-team-first-social{
	margin-left:41%;
}
.blocs-mob-center-text{
	text-align:center;
}
 }

/* ═══════════════════════════════════════════════════════════════════
   MODERN SITE FOOTER
   ═══════════════════════════════════════════════════════════════════ */

.site-footer {
    background: linear-gradient(150deg, #5099DB 0%, #2d78c0 100%);
    color: rgba(255,255,255,.85);
    padding-top: 60px;
    font-family: Ubuntu, Helvetica, sans-serif;
}

.site-footer .container {
    padding-left: 15px;
    padding-right: 15px;
}

/* ── 4-column grid ──────────────────────────────────────────────── */
.footer-grid {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1fr;
    gap: 44px 36px;
    align-items: start;
    padding-bottom: 52px;
}

@media (max-width: 991px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 28px;
    }
    .footer-col--brand {
        grid-column: 1 / -1;
    }
}

/* ── Mobile phones (≤ 767px) ─────────────────────────────────────── */
@media (max-width: 767px) {
    .site-footer {
        padding-top: 36px;
        overflow-x: hidden;
    }
    .site-footer .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px 18px;
        padding-bottom: 32px;
    }
    .footer-col {
        text-align: left;
        width: auto;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
    .footer-heading {
        display: inline-block;
        margin-left: 0;
        margin-right: 0;
    }
    /* Brand: always full-width single column */
    .footer-col--brand {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
        max-width: none;
    }
    .footer-logo  { height: 38px; max-width: calc(100vw - 40px); object-fit: contain; object-position: left center; }
    .footer-about { font-size: 13.5px; max-width: 100%; margin-left: 0; margin-right: 0; text-align: left; }
    .footer-social-icons { justify-content: flex-start; }

    .footer-links { align-items: flex-start; }
    .footer-links li a { justify-content: flex-start; width: auto; margin-left: 0; margin-right: 0; }
    .footer-links li a:hover { padding-left: 0; }

    .footer-contact { align-items: flex-start; }
    .footer-contact li,
    .footer-contact li a {
        justify-content: flex-start;
        text-align: left;
        width: auto;
        margin-left: 0;
        margin-right: 0;
    }

    /* Hours rows: stretch full width */
    .footer-hours li { padding: 8px 0; }

    /* Hide working hours column on mobile */
    .footer-col:last-child { display: none; }

    /* Copyright bar: left aligned */
    .footer-bottom .container {
        justify-content: flex-start;
        text-align: left;
        gap: 4px 8px;
    }
    .footer-bottom__sep { display: inline; }
}

/* ── Very small phones (≤ 360px) ─────────────────────────────────── */
@media (max-width: 360px) {
    .site-footer .container { padding-left: 14px; padding-right: 14px; }
    .footer-grid { gap: 22px; }
    .footer-logo  { height: 34px; }
    .footer-heading { font-size: 10.5px; }
    .footer-links li a,
    .footer-contact li,
    .footer-contact li a { font-size: 13px; }
    .footer-hours li { font-size: 12.5px; }
    .footer-24h { font-size: 12.5px; padding: 8px 10px; }
    .footer-bottom { font-size: 12px; }
}

/* ── Brand column ───────────────────────────────────────────────── */
.footer-col--brand {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.footer-logo-link {
    display: inline-block;
    text-decoration: none;
}

.footer-logo {
    height: 42px;
    width: auto;
    display: block;
    /* Show original logo - same as navbar */
    opacity: .95;
}

.footer-about {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,.56);
    margin: 0;
    max-width: 300px;
}

.footer-fb-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59,89,152,.35);
    border: 1px solid rgba(59,89,152,.55);
    color: rgba(255,255,255,.88) !important;
    font-size: 13px;
    font-weight: 700;
    padding: 9px 18px;
    border-radius: 999px;
    text-decoration: none !important;
    transition: background .2s, transform .2s;
    width: fit-content;
}

.footer-fb-btn:hover {
    background: rgba(59,89,152,.58);
    transform: translateY(-2px);
    color: #fff !important;
}

.footer-social-icons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-social-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.26);
    transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.footer-social-icon .fa {
    font-size: 18px;
    line-height: 1;
}

.footer-social-icon:hover {
    transform: translateY(-2px);
    opacity: 1;
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
}

.footer-social-icon--facebook {
    background: rgba(59,89,152,.78);
}

.footer-social-icon--instagram {
    background: linear-gradient(135deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%);
}

.footer-social-icon--tiktok {
    background: #111;
}

/* ── Column headings ────────────────────────────────────────────── */
.footer-heading {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,.95);
    text-transform: uppercase;
    letter-spacing: 1.4px;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(255,255,255,.45);
    display: inline-block;
}

/* ── Nav links ──────────────────────────────────────────────────── */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.footer-links li a {
    color: rgba(255,255,255,.88) !important;
    font-size: 14px;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 0;
    transition: color .2s, padding-left .2s;
}

.footer-links li a .fa {
    font-size: 13px;
    width: 16px;
    text-align: center;
    color: #fff;
    flex-shrink: 0;
}

.footer-links li a:hover {
    color: #fff !important;
    padding-left: 4px;
}

/* ── Contact list ───────────────────────────────────────────────── */
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.footer-contact li,
.footer-contact li a {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255,255,255,.90) !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.5;
    transition: color .2s;
}

.footer-contact li a:hover {
    color: #fff !important;
}

.footer-contact li .fa,
.footer-contact li a .fa {
    font-size: 14px;
    color: #fff;
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    text-align: center;
}

.footer-contact li small {
    font-size: 11px;
    color: rgba(255,255,255,.65);
    display: block;
}

/* ── Hours ──────────────────────────────────────────────────────── */
.footer-hours {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* !important guards against Blocs/Bootstrap li resets */
.footer-hours li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px;
    font-size: 13.5px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    /* reset any list-item defaults */
    float: none;
    width: auto;
}

.fh-day {
    color: rgba(255,255,255,.80);
    white-space: nowrap;
    flex-shrink: 1;
    min-width: 0;
}

.fh-time {
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.footer-24h {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 13px;
    color: #fff;
    font-weight: 600;
    margin-top: 16px;
}

.footer-24h .fa {
    font-size: 15px;
}

/* ── Bottom bar ─────────────────────────────────────────────────── */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.22);
    padding: 18px 0;
    font-size: 13px;
    color: rgba(255,255,255,.70);
}

.footer-bottom .container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 10px;
}

.footer-bottom__sep {
    color: rgba(255,255,255,.20);
}

.footer-dev-link {
    color: rgba(255,255,255,.55);
    text-decoration: none;
    transition: color .2s;
}

.footer-dev-link:hover {
    color: #fff;
    text-decoration: underline;
}


