HTML BODY{max-width: 2000px; margin:0 auto;}
html{
  scroll-behavior: smooth;
}
a,a:hover{text-decoration: none;}
:root{
  --bg-color1:#002673;
  --bg-color2:#424242;
  --bg-color3:#00db7c;
  --bg-color4:#eaeaea;
  
  --title-black:'gilroyextrabold';
  --title-bold:'gilroyextrabold';
  
  --font-regular:'poppinsregular';
  --font-bold:'poppinsbold';
  --font-italic:'poppinsitalic';
  --font-menu:'poppinslight';

  --font-alt:'gilroyextrabold';
  --font-alt-2:'gilroylight';
}
/*Fonts*/
HTML BODY h1,.title-black{font-family: var(--title-black);text-transform:uppercase!important;}
HTML BODY h2,HTML BODY h3,HTML BODY h4,HTML BODY h5,HTML BODY h6{font-family: var(--title-bold);text-transform:uppercase!important;}

HTML BODY p,HTML BODY,.text-regular{font-family: var(--font-regular);}
HTML BODY strong{font-family: var(--font-bold);}
HTML BODY em{font-family: var(--font-italic);}

.alt-font{font-family: var(--font-alt);}
.alt-font-2{font-family: var(--font-alt-2);}

/*Menu*/
.navbar-nav a,.dropdown button{font-family: var(--font-menu);}
.navbar-nav a,.dropdown button{letter-spacing: 0.5px;}
.dropdown button:hover{cursor:pointer;}
/*Font Sizes*/
HTML BODY p{font-size: 100%!important;}
.top-header,.top-header a , .top-header p{font-size: 90%!important;}
.middle-header,.middle-header a , .middle-header p,.middle-header .dropdown button{font-size: 105%!important;}
.bottom-header,.bottom-header a , .bottom-header p,.bottom-header li a{font-size: 100%!important;}
.middle-header .navbar-nav{background:#fff;}

/*Backgrounds*/
.bg-color1,.bg-color1:hover{background: var(--bg-color1);} .t-color1,.t-color1:hover{color: var(--bg-color1);}
.bg-color2,.bg-color2:hover{background: var(--bg-color2);} .t-color2,.t-color2:hover{color: var(--bg-color2);}
.bg-color3,.bg-color3:hover{background: var(--bg-color3);} .t-color3,.t-color3:hover{color: var(--bg-color3);}
.bg-color4,.bg-color4:hover{background: var(--bg-color4);} .t-color4,.t-color4:hover{color: var(--bg-color4);}

.bg-dark-25{background: rgba(0,0,0,0.25);}
.bg-dark-50{background: rgba(0,0,0,0.50);}
.bg-dark-75{background: rgba(0,0,0,0.75);}

.bg-img1{background:url(../images/elements/bg/bg_1.jpg);}
.bg-img2{background:url(../images/elements/bg/bg_2.jpg);}
.bg-img3{background:url(../images/elements/bg/bg_3.jpg);}
.bg-img4{background:url(../images/elements/bg/bg_4.jpg);}
.bg-img5{background:url(../images/elements/bg/bg_5.jpg);}

.text-services{background:url(../images/elements/bg/text-services.png);}
.text-about{background:url(../images/elements/bg/text-about.png);}
.text-contact{background:url(../images/elements/bg/text-contact.png);}

.bg-img{background-size: cover;}
.bg-img-100{background-size: 100%;}
.bg-img-contain{background-size: contain;}
.bg-repeat-x{background-repeat: repeat-x;}
.bg-repeat-y{background-repeat: repeat-y;}
.bg-no-repeat{background-repeat: no-repeat;}
.bg-img-fixed{background-attachment: fixed;}
.bg-img-top-left{background-position: top left;}
.bg-img-top-center{background-position: top center;}
.bg-img-top-right{background-position: top right;}
.bg-img-center-left{background-position: center left;}
.bg-img-center-center{background-position: center center;}
.bg-img-center-right{background-position: center right;}
.bg-img-right-left{background-position: right left;}
.bg-img-right-center{background-position: right center;}
.bg-img-right-right{background-position: right right;}

.t-shadow-50{text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);}
.t-shadow-100{text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);}

/*Text and Icons*/
i{position:relative;vertical-align:-5px;}
.fa{transform: translateY(-5px);}
.list-style-none li{list-style: none;}

/*Menu*/
.main-navbar .navbar-nav a,.main-navbar .navbar-nav a:hover,.main-navbar .dropdown,.main-navbar .dropdown:hover,a[data-fancybox="gallery"]>img:hover{transition: all 0.3s ease;color:#fff;}
/*.main-navbar .navbar-nav a{background:var(--bg-color1);}*/
.main-navbar .navbar-nav a{border:0px solid transparent;}
.main-navbar .navbar-nav a:hover{color:var(--bg-color1)!important;background:var(--bg-color4);}
.main-navbar .navbar-nav .active a{color:var(--bg-color1)!important;border:0px solid;background:var(--bg-color4);}
/*Submenu*/
/*.main-navbar .dropdown:hover,.main-navbar .dropdown .active{background:var(--bg-color3)!important;color:var(--bg-color1)!important;}*/
.main-navbar .dropdown-menu{padding:0px;}
.main-navbar .dropdown-menu a{color:var(--bg-color1);background:none;}
.main-navbar .dropdown-menu a:hover{background:var(--bg-color1)!important;background:none;}
.main-navbar .dropdown-menu{background:var(--bg-color3);border-radius:0!important;transform:translateY(-2px);border:none;}
/*Carousel*/
#indicador-carousel .carousel-caption h5{font-size:180%;}

#indicador-carousel .carousel-caption p{font-size:110%!important;}
#indicador-carousel .carousel-caption a.btn{font-size:90%;}

@media(min-width: 300px){
.image-min{width: 100%!important;}
.negative-margin-top2{margin-top: 5%;}
.main-logo{transform:translateY(0px);}
/*.middle-header{padding:0px 0px;background:var(--bg-color1);}*/
.text-services{background-size:90%;background-position:0px 40px;}
.text-about{background-size:85%;background-position:0px 60px;}
.text-contact{background-size:90%;background-position:0px 60px;}
}
@media(min-width: 540px){
  .carousel-caption{bottom:30%!important;}
  #indicador-carousel .carousel-caption{width:70%;}
  .negative-margin-top2{margin-top:5%;}
  .bg-curve{transform:translateY(5px);}
  .main-logo{transform:translateY(0px);}
  /*.middle-header{padding:0px 0px;background:var(--bg-color1);}*/
    .text-services{background-size:90%;background-position:center 40px;}
    .text-about{background-size:90%;background-position:center 40px;}
    .text-contact{background-size:90%;background-position:center 40px;}
}
@media(min-width: 960px){
.image-min{width: 70%!important;}
.carousel-caption{bottom:35%!important;}
#indicador-carousel .carousel-caption{width:70%;}
  .negative-margin-top2{margin-top: -2%;}
  .bg-curve{transform:translateY(30px);}

  .main-logo{transform:translateY(0px);}
  /*.middle-header{padding:0px 0px;background:var(--bg-color1);}*/
  #indicador-carousel .carousel-caption h3{font-size: 260%;}
  .text-services{background-size:70%;background-position:left 40px;}
  .text-about{background-size:70%;background-position:center 40px;}
  .text-contact{background-size:70%;background-position:center 40px;}
}
@media(min-width: 1140px){
  .image-min{width: 70%!important;}
  .carousel-caption{bottom:35%!important;}
  #indicador-carousel .carousel-caption{width:70%;}
  .negative-margin-top2{margin-top: -2%;}
  .home-box{margin-top: -220px;}
  .home-box .left-phrase{margin-top:65px;}
  .home-divide{margin-top:-100px;}
  .bg-curve{transform:translateY(0px);}
  
  .main-logo{transform:translateY(0px);}
  /*.middle-header{padding:0px 0px; background:none;}*/
  #indicador-carousel .carousel-caption h3{font-size: 260%;}
  .text-services{background-size:70%;background-position:left top;}
  .text-about{background-size:70%;background-position:center top;}
  .text-contact{background-size:70%;background-position:center top;}
  
}
@media(min-width:1200px){
  .bg-curve{transform:translateY(20px);}
  .main-logo{transform:translateY(5px);}
  /*.middle-header{padding:0px 0px;background:none;}*/
  #indicador-carousel .carousel-caption h3{font-size: 300%;}
  .text-services{background-size:60%;background-position:left top;}
  .text-about{background-size:60%;background-position:center top;}
  .text-contact{background-size:60%;background-position:center top;}
}
@media(min-width:1366px){
  .bg-curve{transform:translateY(20px);}
  .main-logo{transform:translateY(0px);}
  /*.middle-header{padding:0px 0px;background:none;}*/
  #indicador-carousel .carousel-caption h3{font-size: 320%;}
  .text-services{background-size:50%;background-position:left top;}
  .text-about{background-size:50%;background-position:center top;}
  .text-contact{background-size:50%;background-position:center top;}
}
@media(min-width:1600px){
  .bg-curve{transform:translateY(20px);}
  .main-logo{transform:translateY(5px);}
  /*.middle-header{padding:25px 0px;background:none;}*/
  #indicador-carousel .carousel-caption h3{font-size: 350%;}
  .text-services{background-size:50%;background-position:left top;}
  .text-about{background-size:50%;background-position:center top;}
  .text-contact{background-size:50%;background-position:center top;}
}

a.navbar-brand{font-size: 130%!important;}
.navbar-toggler{margin-bottom: 10px;}

.go-up{background:url(../../src/images/elements/top.png)#000000 center center;border-radius:50px;opacity: 0.5;cursor:pointer;width: 40px;height: 40px;position: fixed;bottom: 25px;right: 25px;display: inline-block!important;}
.go-up:hover{opacity: 1;}

.hide-top,.hide-top-alt{opacity: 0!important;}

.icon-align { min-width: 24px; text-align: center; position: absolute; left: 20px; margin-top: 10px; }

a[data-fancybox="gallery-homepage"]>img:hover{filter:brightness(1.1);}

.bg-curve{position:absolute;z-index:98;bottom:0;}
.carousel-control-prev,.carousel-control-next{z-index:99;}

.home-box{position:relative;z-index: 110;}
.home-box p {line-height: 1.6;}
.home-divide{position:relative;z-index:100;}

.home-services img,.home-services:hover img,.home-services:hover h3{transition:all ease-in-out 0.3s!important;}
.home-services img{border:15px solid rgba(0,0,0,0.1);}
.home-services .btn{border:1px solid var(--bg-color1);}

.home-services:hover h3{color:var(--bg-color2);}
.home-services:hover img{border:15px solid var(--bg-color1);}
.home-services:hover .btn{background:var(--bg-color1);color:white;}

.box-shadow-map iframe{box-shadow: rgba(0,0,0,0.5) 0px 3px 10px;border-radius:20px;}

/*BG VIDEO*/
div.header-video {
  position: relative;
  background-color: black;
  height: 75vh;
  min-height: 35rem;
  width: 100%;
  overflow: hidden;
}

div.header-video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

div.header-video .container {
  position: relative;
  z-index: 2;
}

div.header-video .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: black;
  opacity: 0.3;
  z-index: 1;
}
.landing-pages-home figcaption{
  background:var(--bg-color2);
  position:absolute;top:0;
  box-shadow: 0px 5px 5px rgba(0,0,0,0.6);
  padding:5px 15px;
}
.landing-pages-home figcaption a{
 font-size:70%;
 text-decoration: none;
}

/* Shutter In Horizontal */
.hvr-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  position: relative;
  background: var(--bg-color1);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-shutter-in-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-horizontal:hover, .hvr-shutter-in-horizontal:focus, .hvr-shutter-in-horizontal:active ,
.hvr-shutter-in-horizontal:hover h4, .hvr-shutter-in-horizontal:focus h4, .hvr-shutter-in-horizontal:active h4,
.hvr-shutter-in-horizontal:hover a, .hvr-shutter-in-horizontal:focus a, .hvr-shutter-in-horizontal:active a  {
  color: white;
}
.hvr-shutter-in-horizontal:hover a, .hvr-shutter-in-horizontal:focus a, .hvr-shutter-in-horizontal:active a{background:var(--bg-color2)}
.hvr-shutter-in-horizontal:hover:before, .hvr-shutter-in-horizontal:focus:before, .hvr-shutter-in-horizontal:active:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}
a[data-fancybox="gallery"] img {border:7px solid rgba(0,0,0,0.1);}
a[data-fancybox="gallery"] img:hover {border:7px solid var(--bg-color3);}

.row-eq-height { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display:flex; }

.header-border:nth-child(2){border-left:1px solid #003e9f;border-right:1px solid #003e9f;}
.services-home div i{position:absolute;top:5px;z-index:99;background:var(--bg-color3);padding:15px;}


.grid {
	position: relative;
	margin: 0 auto;
	padding: 1em 0 4em;
	max-width: 1000px;
	list-style: none;
	text-align: center;
}

/* Common style */
.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 1%;
	
	max-height: 360px;
	width: 100%;
	text-align: center;
	cursor: pointer;
}

.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.8;
}

.grid figure figcaption {
	padding: 2em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}

.grid figure figcaption{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/*---------------*/
/***** Sarah *****/
/*---------------*/

figure.effect-sarah {
	background: #000;
}

figure.effect-sarah img {
	max-width: none;
	width: -webkit-calc(100% + 20px);
	width: calc(100% + 20px);
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(-10px,0,0);
	transform: translate3d(-10px,0,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

figure.effect-sarah:hover img {
	opacity: 0.4;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

figure.effect-sarah figcaption {
	text-align: left;
}

figure.effect-sarah h2 {
	position: relative;
	overflow: hidden;
	padding: 0.5em 0;
}

figure.effect-sarah h2::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #fff;
	content: '';
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(-100%,0,0);
	transform: translate3d(-100%,0,0);
}

figure.effect-sarah:hover h2::after {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

figure.effect-sarah p {
	
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(100%,0,0);
	transform: translate3d(100%,0,0);
}

figure.effect-sarah:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.effect-sarah:hover{box-shadow:0px 0px 10px 1px #000;}
figure.welcome-section figcaption{background:rgba(0,0,0,0.5);position:absolute;top:50%;left:45px;padding:12px 10px;width:75%;}

.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{transform:translateX(0);transform:translate3d(0,0,0)}.slit-in-vertical{-webkit-animation:slit-in-vertical .45s ease-in both;animation:slit-in-vertical .45s ease-in both}@-webkit-keyframes slit-in-vertical{0%{-webkit-transform:translateZ(-800px) rotateY(90deg);transform:translateZ(-800px) rotateY(90deg);opacity:0}54%{-webkit-transform:translateZ(-160px) rotateY(87deg);transform:translateZ(-160px) rotateY(87deg);opacity:1}100%{-webkit-transform:translateZ(0) rotateY(0);transform:translateZ(0) rotateY(0)}}@keyframes slit-in-vertical{0%{-webkit-transform:translateZ(-800px) rotateY(90deg);transform:translateZ(-800px) rotateY(90deg);opacity:0}54%{-webkit-transform:translateZ(-160px) rotateY(87deg);transform:translateZ(-160px) rotateY(87deg);opacity:1}100%{-webkit-transform:translateZ(0) rotateY(0);transform:translateZ(0) rotateY(0)}}