@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@562&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css');

body {
  position: relative;
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  min-height: 100vh;
}
@media (min-width: 1500px) {
	.parallax {
		background-size: 100% auto;
	}
}

@media print {
	.noprint {
		display: none !important;
	}
}


.table-rates th {
	/* font-family: 'Open Sans', sans-serif; */
	/* font-weight: bold; */
	font-size: 1.2em;
}
.table-rates td {
	font-size: .8em;
}
/* .table-rates tr td { */
	/* font-family: 'Open Sans', sans-serif; */
	/* font-weight: 200; */
/* } */
.CreatePDF {
	width: 200px;
	position: absolute;
	right: 8px;
	bottom: 8px;
}
.figure-promo {
	border: 2px solid #ccc;
	border-radius: .5em;
}

.figure-promo img {
	opacity: .8;
	position: relative;
}
.figure-promo:hover img {
	opacity: 1;
}
.figure-promo:hover .figure-caption {
	font-size: 20px;
}
.figure-promo .figure-caption {
	background: rgba(255,255,255,.8);
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 1em;
	color: #000;
	margin-left: -12em;
	width: 24em;
	text-align: center;
	border-radius: .5em;
	border: 1px solid #eee;
}

/* .btn-promo { */
	/* opacity: 1; */
	/* position: relative; */
/* } */
/* .btn-promo:hover img { */
	/* opacity: 0.5; */
/* } */
/* .btn-promo div { */
  /* transition: .5s ease; */
  /* position: absolute; */
  /* top: 50%; */
  /* left: 50%; */
  /* transform: translate(-50%, -50%); */
  /* -ms-transform: translate(-50%, -50%); */
  /* text-align: center; */
/* } */


footer {
	position: absolute;
	bottom: 0;
	background-color: #212529 !important;
	width: 100%;
	color: #fff;
	font-family: 'Open Sans', sans-serif;
}
@media (max-width: 576px) {
	footer {
		font-size: 12px !important;
	}
}
footer h4 {
	font-size: 1.5em;
}
footer div.col-sm-6 {
	padding: .5em 0;
}
footer div.col-sm-6 + div.col-sm-6 {
	font-size: .8em;
}
footer a:link, footer a:visited {
	color: #ddd;
}
footer a:hover {
	color: #fff;
}
footer #copyright {
	font-size: .6em;
	text-align: center;
	padding: 1em 0;
}


[required] {
	border-bottom: 1px solid red;
}


.underline-loop {
	position:relative;
	text-decoration:none;
	display:inline-block;
}
.underline-loop:after {
	position: absolute;
    display: block;
    content: '';
    border-bottom: solid 3px red;
	animation: underline 4s infinite linear;
}
.underline-loop:hover {
	text-decoration: none;
}
.underline-loop:hover:after {
	width: 100% !important;
}
@keyframes underline {
 0% {
	width: 0%;
 }
 50% {
	width: 100%; 
 }
 100% {
	right: 0;
	width: 0%;
 }
}



.animate-freedom
{
	background-image: linear-gradient(
		-225deg,
		#231557 0%,
		#44107a 15%,
		#ff1361 30%,
		#fff800 50%,
		#ff1361 70%,
		#44107a 85%,
		#231557 100%
	);
	background-size: auto auto;
	background-clip: border-box;
	background-size: 200% auto;
	color: transparent;
	text-shadow: none;
	background-clip: text;
	text-fill-color: transparent;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: textclip 4s linear infinite;
	display: inline-block;
}

@keyframes textclip {
  to {
    background-position: 200% center;
  }
}




span.stamp {
    padding: 20px 10px;
    position: absolute;
    top: -10px;
    left: 10px;
	border-radius: 50%;
}


.btn-promo {
	opacity: 1;
	position: relative;
}
.btn-promo:hover img {
	opacity: 0.5;
}
.btn-promo div {
  transition: .5s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}

/* .btn-promo img:before {
	content: "Click here for more information.";
	position: absolute;
	left: .5em;
	display: block;
	background-color: inherit;
	height: 30px;
	width: 300px;
	animation: slide 2s forwards 1;
} */





.btn-custom {
	background-color: rgba(0,0,0,.8);
	display: block;
	min-height: 10em;
	padding: 1em 0;
	color: #fff;
	text-shadow: 1px 1px rgba(0,0,0,.7);
}
.btn-custom:hover {
	color: #00ccff;
	text-decoration: none;
	background-color: rgba(0,0,0,.7);
}
.btn-custom i {
	margin-bottom: 10px;
}
.btn-custom i.fa-cog {
    transition-duration: 3s;
    transition-property: transform;
}
.btn-custom:hover i {
	transform: rotate(360deg);
}


.draw-border {
  box-shadow: inset 0 0 0 4px rgba(0,0,0,.1);;
  -webkit-transition: color 0.25s 0.0833333333s;
  transition: color 0.25s 0.0833333333s;
  position: relative;
}
.draw-border::before, .draw-border::after {
  border: 0 solid transparent;
  box-sizing: border-box;
  content: '';
  pointer-events: none;
  position: absolute;
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
}
.draw-border::before {
  border-bottom-width: 4px;
  border-left-width: 4px;
}
.draw-border::after {
  border-top-width: 4px;
  border-right-width: 4px;
}
.draw-border:hover {
  color: #00ccff;
}
.draw-border:hover::before, .draw-border:hover::after {
  border-color: #00ccff;
  -webkit-transition: border-color 0s, width 0.25s, height 0.25s;
  transition: border-color 0s, width 0.25s, height 0.25s;
  width: 100%;
  height: 100%;
}
.draw-border:hover::before {
  -webkit-transition-delay: 0s, 0s, 0.25s;
          transition-delay: 0s, 0s, 0.25s;
}
.draw-border:hover::after {
  -webkit-transition-delay: 0s, 0.25s, 0s;
          transition-delay: 0s, 0.25s, 0s;
}




.section {
	position: relative;
	background-color: inherit;
	background-position: top;
	object-fit: contain;
}
.section .container {
	position: relative;
}
.section .text-one {
  position: relative;
  font-size: 48px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.21;
  letter-spacing: normal;
  text-shadow: 1px 1px #444;
  text-align: left;
  color: #27a8f3;

}
.section .text-two {
  position: relative;
  top: -.5em;
  left: 1em;
  font-size: 68px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.22;
  letter-spacing: normal;
  text-align: left;
  /* text-shadow: 1px 1px #ccc; */
  color: #ffffff;
}
.section .text-three {
  position: relative;
  top: -2em;
  left: .2em;
  font-size: 18px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.22;
  letter-spacing: normal;
  text-align: left;
  max-width: 600px;
  /* text-shadow: 1px 1px #ccc; */
  color: #ffffff;
}


.section .line {
	position: absolute;
	left: 2em;
	height: 25%;
	width: 2px;
	background-color: rgba(255,255,255,.5);
	animation: slide 20s forwards infinite;
}
.section .line:before {
	content: "";
	position: absolute;
	left: .5em;
	display: block;
	background-color: inherit;
	height: 110%;
	width: 2px;
	animation: slide 17s forwards infinite;
}



.section[data-skewt]:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4em;
	background-color: inherit;
	/* border-bottom: 1px solid #aaa; */
}
.section[data-skewt="1"]:before {
	transform: skewY(1deg) translate3d(0, -50%, 0);
}
.section[data-skewt="-1.7"]:before {
	transform: skewY(-1.7deg) translate3d(0, -50%, 0);
}
.section[data-skewt="1.7"]:before {
	transform: skewY(1.7deg) translate3d(0, -50%, 0);
}

.section[data-skewb]:after {
	content: "";
	position: absolute;
	bottom: -5em;
	left: 0;
	width: 100%;
	height: 5em;
	background-color: inherit;
	/* border-top: 1px solid #aaa; */
}
.section[data-skewb="-1.7"]:after {
	transform: skewY(-1.7deg) translate3d(0, -50%, 0);
}
.section[data-skewb="1.7"]:after {
	transform: skewY(1.7deg) translate3d(0, -50%, 0);
}
.section[data-skewb="2"]:after {
	transform: skewY(2deg) translate3d(0, -50%, 0);
}
.section[data-skewb=".8"]:after {
	transform: skewY(.8deg) translate3d(0, -50%, 0);
}
.section[data-skewb="1"]:after {
	transform: skewY(1deg) translate3d(0, -50%, 0);
}


.section+.section {
	margin-top: 10em;
}


/* Control buttons w/ animation */
/* #carousel a[class*="control"] i { */
  /* border: 4px solid #fff; */
  /* border-radius: 50%; */
  /* width: 1.2em; */
  /* height: 1.2em; */
  /* line-height: 1em; */
  /* text-align: center; */
  /* position: relative; */
  /* z-index: 10; */
/* } */
.get-contracted {
	/* position: absolute; */
	/* left: 0; */
	/* top: 0; */
	/* width: 100%; */
	/* height: 100%; */
	background: linear-gradient(90deg, rgba(255,255,255,.8) 50%, transparent 50%), linear-gradient(90deg, rgba(255,255,255,.8) 50%, transparent 50%), linear-gradient(0deg, rgba(255,255,255,.8) 50%, transparent 50%), linear-gradient(0deg, rgba(255,255,255,.8) 50%, transparent 50%);
	background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
	background-size: 15px 4px, 15px 4px, 4px 15px, 4px 15px;
	padding: 10px;
	animation: border-dance 15s infinite linear;
}

@keyframes border-dance {
  0% {
    background-position: 0 0, 100% 100%, 0 100%, 100% 0;
  }
  100% {
    background-position: 100% 0, 0 100%, 0 0, 100% 100%;
  }
}





/* Custom Colors */
.bg-lightblue {
  background-color: rgba(38,103,201,.4);
}
.bg-darkblue {
  background-color: #2E368F;
  border-bottom: 1px solid #585858;
}
.bg-redfade {
  border-top: solid 1px #707070;
  border-bottom: solid 1px #707070;
  background-image: linear-gradient(to bottom, #ed1c24, #770e12);
}

.faded-lines {
	background-image: url('/gfx/faded-lines-v2.png');
	background-repeat: no-repeat;
	background-position: right top;
}
.img-highlight {
  position: relative;
  filter:grayscale(100%);
  width: auto;
  height: auto;
  animation: color-remove 3s forwards 1;
}
.img-highlight:hover {
  animation: color-add .5s forwards 1;
}
@keyframes color-add {
    0% {filter:grayscale(100%);}
    100% {filter:grayscale(0%);}
}
@keyframes color-remove {
    0% {filter:grayscale(0%);}
    100% {filter:grayscale(100%);}
}


/* Advanced Headers */
div.advanced-header {
	position: relative;
	padding: 1em 0 1em 0;
	margin: 0em 0 1em 0;
	border-bottom: 4px solid rgba(0,0,0,.2);
	color: #fff;
	z-index: 1;
}
div.advanced-header:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 6em;
	width: 100%;
	display: block;
	background-color: rgba(0,0,0,.8);
	/* background-image: url('/gfx/faded-lines-v2.png'); */
	background-repeat: no-repeat;
	background-position: right top;
	z-index: -1;
}
#header+div.section+div.advanced-header {
	top: 1em;
}
#header+div.advanced-header:before {
	content: "";
	height: 7em;
	width: 100%;
	margin-top: -2em;
	margin-bottom: 2em;
	display: block;
}
div.advanced-header h2 {
	font-size: 2em;
	display: inline;
	position: relative;
	padding-bottom: 16px;
	border-bottom: 4px solid rgba(255,0,0,.9);
	width: auto;
}
@media (max-width: 576px) {
	div.advanced-header h2 {
		font-size: 1.2em;
		
	}
}

div.advanced-header nav ol {
	background-color: inherit;
	padding: 0;
	font-size: .6em;
	margin: 0;
}
div.advanced-header a:link, div.advanced-header a:visited {
	color: #00ccff;
}


.before-header {
	font-family: 'Open Sans', sans-serif;
	background-color: #4F59C7;
	padding: .5em 0;
	color: #fff;
	font-size: 12px;
}
.before-header a {
	color: #fff;
}






/* Simple Headers */
h2.simple-header {
  position: relative;
  margin: 0 0 1em 0;
  padding: .5em 0 0 0;
  font-size: 3em;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  text-shadow: 0px 0px 1px #000;
  color: #2E368F;
  /* color: #fff; */
  /* background-image: linear-gradient(to bottom, #000 5%, #2E368F 50%); */
}
h2.simple-header:before {
  content:'';
  position: absolute;
  bottom: -4px;
  left: 15%;
  width: 70%;
  height: 1px;
  border-style: solid;
  border-bottom-color: rgba(255,0,0,.8);
  border-width: 0px 0px 4px 0px;
}


#header {
	border-top: 4px solid #EDEDED;
	font-size: 1.2em;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 4;
	background-color: rgba(255,255,255,.2);
	transition: all 0.5s ease-in-out 0s;
}
@media (max-width: 576px) {
	#header {
		font-size: .9em;
	}
}
#header.scroll {
	font-size: 14px;
	/* background-color: #fff; */
	background-color: rgba(255,255,255,.98);
	border-bottom: .1em solid #EDEDED;
	transition: all 0.5s ease-in-out 0s;
}

#header .navbar .navbar-brand, #header .navbar .navbar-brand img {
	height: 100%;
	object-fit: contain;
	width: auto;
}
/* #header.scroll .navbar .navbar-brand img { */
	/* height: 3em; */
/* } */
#header+h2 {
	padding-top: 2.5em !important;
}




.navbar {
	padding: 0;
	height: 5em;
	font-size: inherit;
}
.navbar .nav-item a {
  margin-left: 1em;
}


#header.dark .navbar .nav-item a:link, #header.dark .navbar .nav-item a:visited {
	color: #444 !important;
}
#header.dark .navbar .nav-item a:hover {
	color: #000 !important;
}


#header .navbar .nav-item a:link, #header .navbar .nav-item a:visited {
	color: #eee;
}
#header.scroll .navbar .nav-item a:link, #header.scroll .navbar .nav-item a:visited {
	color: #444;
}
#header .navbar .nav-item a:hover {
	color: #fff;
}
#header.scroll .navbar .nav-item a:hover {
	color: #000;
}


.navbar .nav-item a:link, .navbar .nav-item a:visited {
  /* color: #2E368F; */
  font-size: .7em;
  text-transform: uppercase;
  position: relative;
  text-decoration: none;
}
.navbar .nav-item a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0px;
  left: 0;
  background-color: #ED1C24;
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.2s ease-in-out 0s;
}
.navbar .nav-item a:hover {
  /* color: #3842B5; */
  /* color: rgba(46,54,143,.8); */
  color: #000;
}
.navbar .nav-item a:hover:before {
  visibility: visible;
  transform: scaleX(1);
}

.navbar-toggler {
  color: #fff;
  text-shadow: 1px 1px #444;
}
/* change navbar background on collapse */
@media (max-width: 1000px) {
  nav.navbar ul {
    background: rgba(255,255,255,.95);
	border: 1px solid rgba(0,0,0,.2);
	border-top: 4px solid red;
  }
  nav.navbar ul li a:link,nav.navbar ul li a:visited  {
	color: #444 !important;
  }
  nav.navbar ul li a:hover  {
	color: #000 !important;
  }
}














/* Carousel */
#carousel .carousel-inner {
  box-shadow: 0px 0px 4px #000;
}
#carousel .carousel-item {
	min-height:700px;
	background-position: top;
	object-fit: contain;
	position: relative;
	border: none;
}
#carousel .carousel-item .carousel-overlay {
  /* width: 100%; */
  /* height: 100%; */
  position: absolute;
  left: 15%;
  top: 30%;
}
#carousel .carousel-item .carousel-overlay:before, #carousel .carousel-item .carousel-overlay:after {
  content: '';
  display: block;
  position: absolute;
  background-color: rgba(255,255,255,.8);
  /* box-shadow: 0px 0px 1px #fff; */
  animation: slide 10s forwards infinite;
}
@keyframes slide {
  0% {bottom: -150%;}
  50% {bottom: 150%;}
  100% {bottom: 150%;}
}
#carousel .carousel-item .carousel-overlay:before {
  bottom: -100%;
  left: -1em;
  width: 2px;
  height: 100%;
}
#carousel .carousel-item .carousel-overlay:after {
  bottom: -200%;
  left: -1.5em;
  width: 1px;
  margin-bottom: -1em;
  height: 60%;
}

#carousel .carousel-overlay .text-one {
  position: relative;
  font-size: 48px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.21;
  letter-spacing: normal;
  /* text-shadow: 1px 1px #aaa; */
  text-align: left;
  color: #27a8f3;

}
#carousel .carousel-overlay .text-two {
  position: relative;
  top: -.5em;
  font-size: 68px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.22;
  letter-spacing: normal;
  text-align: left;
  /* text-shadow: 1px 1px #ccc; */
  color: #ffffff;
}
#carousel .carousel-overlay .text-three {
  position: relative;
  top: -2em;
  left: .2em;
  font-size: 18px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.22;
  letter-spacing: normal;
  text-align: left;
  max-width: 600px;
  /* text-shadow: 1px 1px #ccc; */
  color: #ffffff;
}
#carousel .carousel-overlay a {
  /* position: absolute;
  bottom: 35%;
  left: 0; */
  font-size: 1em;
  font-weight: bold;
  text-transform: uppercase;
  text-shadow: 0px 0px 1px #000;
  letter-spacing: 2px;
  border-radius: .5em;
  border: 2px solid #fff;
  opacity: 100%;
  padding-left: 1.8em;
  padding-right: 1.8em;
}
#carousel div.filter-box {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(46,54,143,.5);
  height: 100%;
  width: 100%;
}
#carousel div.deco-box {
  position: absolute;
  top: 0;
  left: 12%;
  background-color: rgba(46,54,143,.2);
  transform: skewX(30deg);
  height: 100%;
  width: 35%;
  animation: spin 20s linear infinite;
}
@keyframes spin {
 0% { transform: skewX(20deg); }
 50% { transform: skewX(30deg) }
 100% { transform: skewX(20deg); }
}

/* Control buttons w/ animation */
#carousel a[class*="control"] i {
  border: 4px solid #fff;
  border-radius: 50%;
  width: 1.2em;
  height: 1.2em;
  line-height: 1em;
  text-align: center;
  position: relative;
  z-index: 10;
}
#carousel a[class*="control"] i:after {
  visibility: hidden;
  position: absolute;
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 50%;
  top: 0;
  left: 0;
  border: 6px solid rgba(255,0,0,0.8);
  border-top-width: 0;
  border-bottom-width: 0;
  border-right-width: 0;
  animation: rotations 6s linear infinite;
}
@keyframes rotations {
  to { transform: rotate(360deg) }
}
#carousel a[class*="control"]:hover i:after {
  visibility: visible;
}
