/* GLOBAL */

.panel-white + .panel-white {
	padding-top: 0;
}

.hor-scroll {
  display: block;
  overflow: scroll;
	white-space: nowrap;
	overflow-y: hidden;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	margin-left: -15px;
	margin-right: -15px;
	padding-left: 15px;
}
.hor-scroll > * {
    display: inline-block;
}

.btn-w-arrow .icon {
	display: inline-block;
	transition: 0.2s;
}

.btn-w-arrow:hover .icon-arrow-right,
.btn-w-arrow:hover .icon-chevron-right {
	transform: translateX(6px);
}

.btn-w-arrow:hover .icon-arrow-left,
.btn-w-arrow:hover .icon-chevron-left {
	transform: translateX(-6px);
}

.btn-hover .hover {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
}

.btn-hover .hover-wrapper {
	transition: 0.2s;
}

.btn-hover:hover .hover-wrapper {
	transform: translateY(-100%);
}

.panel-top-text {
	text-transform: uppercase;
	letter-spacing: 0.25em;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.svg-max-width {
	max-width: 100%;
	height: auto;
}

.panel-anchor {
	position: absolute;
	margin-top: -130px;
}

@media (max-width:575.98px){
	.panel-top-text {
		font-size: 0.875rem;
	}
}

@media (min-width: 364px) and (max-width: 575.98px){
	.hor-scroll {
		margin-left: -30px;
		margin-right: -30px;
		padding-left: 30px;
	}
}

/* HEADER */

.site-header {
	z-index: 998;
}

.site-header::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	box-shadow: 0 1px 30px rgba(0,0,0,0.07);
	opacity: 0;
	transition: 0.3s opacity;
	z-index: -1;
}

.site-header.sticky-active::after {
	opacity: 1;
}

.main-menu .nav-link.active {
	color: #E71A1A;
}

.inverse-header .site-header:not(.sticky-active) .main-menu > .nav-item > .nav-link {
	color: #fff;
}

.dropdown-mega-menu-box {
	left: 4rem;
	right: 4rem;
}

.dropdown-mega-menu .nav-link::before {
	content: "\e909";
	display: inline-block;
	font-family: 'icomoon';
	margin-right: 8px;
	background-color: #eee;
	color: #999;
	padding: 2px;
	border-radius: 50px;
	line-height: 1;
	font-size: 1.1em;
	transition: 0.15s;
}

.dropdown-mega-menu .nav-link:hover::before {
	background-color: #F5EDED;
	color: #E71A1A;
}

.dropdown-mega-menu .nav-link.active::before {
	background-color: #E71A1A;
	color: #fff;
}

@media(min-width:601px){
	.admin-bar .site-header {
		top: 46px;
	}
}

@media(min-width:783px){
	.admin-bar .site-header {
		top: 32px;
	}
}

@media(max-width:767.98px){
	.fullscreen-cta-btn {
		padding: 0.5rem 1rem 0.725rem;
	}
}

/* FULLSCREEN MENU */

.fullscreen-menu-toggler span {
	display: block;
	transition: 0.3s opacity, 0.3s transform;
}

.fullscreen-menu-toggler i {
	display: block;
	width: 32px;
	height: 3px;
	background-color: #000;
	margin-top: 4px;
	margin-bottom: 4px;
	transition: 0.15s;
}

.fullscreen-menu-toggler .s-0 {
	opacity: 0;
}

.fullscreen-menu-toggler .s-1 {
	transform: translateX(0);
	opacity: 1;
	transition-delay: 0.4s;
}

.fs-active .fullscreen-menu-toggler .s-1 {
	transform: translateX(-30px);
	opacity: 0;
	transition-delay: 0s;
}

.fullscreen-menu-toggler .s-2 {
	transform: translateX(0);
	opacity: 1;
	transition-delay: 0.5s;
}

.fs-active .fullscreen-menu-toggler .s-2 {
	transform: translateX(30px);
	opacity: 0;
	transition-delay: 0.1s;
}

.fullscreen-menu-toggler .s-3 {
	position: relative;
	bottom: -14px;
	opacity: 0;
	transform: rotate(45deg) translateX(-40px);
	transition-delay: 0s;
}

.fs-active .fullscreen-menu-toggler .s-3 {
	opacity: 1;
	transform: rotate(45deg) translateX(0);
	transition-delay: 0.3s;
}

.fullscreen-menu-toggler .s-4 {
	position: relative;
	top: -14px;
	opacity: 0;
	transform: rotate(-45deg) translateX(40px);
	transition-delay: 0.1s;
}

.fs-active .fullscreen-menu-toggler .s-4 {
	opacity: 1;
	transform: rotate(-45deg) translateX(0);
	transition-delay: 0.4s;
}

.fullscreen-menu-toggler .s-5 {
	opacity: 1;
	transform: scale(1);
	transition-delay: 0.4s;
}

.fs-active .fullscreen-menu-toggler .s-5 {
	opacity: 0;
	transform: scale(0);
	transition-delay: 0.2s;
}

.fullscreen-menu {
	position: fixed;
	bottom: 0;
	z-index: 999;
	overflow-y: scroll; /* has to be scroll, not auto */
	-webkit-overflow-scrolling: touch;
	transform: translateY(-105%);
	transition: 0.6s;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.fullscreen-menu.active {
	transform: translateY(0);
}

.fullscreen-menu .fs-display {
	opacity: 0;
	transform: translateY(20px);
	transition: 0.4s;
}

.fullscreen-menu .fs-display.ready {
	opacity: 1;
	transform: translateY(0px);
}

.fullscreen-nav .nav-link {
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.3;
	padding: 4px 0;
	transition: 0.3s;
}

.fullscreen-nav .nav-link.active {
	color: #E71A1A;
}

.fullscreen-nav .current-menu-item .nav-link {
	color: #333;
}

.fullscreen-menu .sub-menu {
	display: none;
}

.fullscreen-menu .sub-menu-toggle::after {
	content: "";
  display: inline-block;
  margin-left: 0.2em;
  vertical-align: middle;
  width: 0.4em;
  height: 0.4em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
	transition: 0.2s;
}

.fullscreen-menu .sub-menu-box.show .sub-menu-toggle::after {
	transform: rotate(180deg);
}

.fullscreen-menu .sub-menu .nav-link {
	font-size: 1rem;
	font-weight: normal;
	padding: 5px 0;
}

.fullscreen-menu .sub-menu .nav-item:first-child {
	padding-top: 5px;
}

.fullscreen-menu .sub-menu .nav-item:last-child {
	padding-bottom: 12px;
}

/* HERO */

.panel.bg-white:first-child,
.bg-grid {
	background-image: url(../images/bg-grid.svg);
}

.panel.bg-white:first-child {
	margin-top: -90px;
}

.panel.bg-white:first-child .first-panel-padding {
	display: block;
}

.panel-hero-background-wrapper {
	height: 100%;
}

.panel-hero-background {
	height: 40%;
}

.hero-mask {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.5+100 */
	background: -moz-linear-gradient(top,  rgba(0,0,0,0) 30%, rgba(0,0,0,0.5) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 30%,rgba(0,0,0,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 30%,rgba(0,0,0,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#80000000',GradientType=0 ); /* IE6-9 */
}

@media(max-width:767.98px){
	.bg-grid {
		background-size: 900px;
	}
}

@media(min-width:768px){
	.panel.bg-white:first-child {
		margin-top: -120px;
	}
	.panel-hero-background {
		height: 100%;
	}
}

@media(min-width:992px){
	.hero-image-column {
		min-height: 380px;
	}
}

/* GALLERY CAROUSEL */

.gallery-carousel:not(.slick-initialized) {
	overflow: scroll;
	white-space: nowrap;
}

.gallery-carousel:not(.slick-initialized) .gallery-item {
	margin-right: 30px;
}

.gallery-carousel img {
	height: 320px;
	width: auto;
}

@media(min-width:992px){
	.gallery-carousel img {
		height: 400px;
	}
}

/* CAROUSEL */

.icon-size-xs {
	font-size: 1rem;
}

.icon-size-sm {
	font-size: 2rem;
}

.icon-size-md {
	font-size: 3rem;
}

.icon-size-lg {
	font-size: 4rem;
}

.icon-size-xl {
	font-size: 5rem;
}

/* CTA */

.cta-background-logo {
	opacity: 0.04;
	bottom: -10%;
	right: -10%;
}

@media(min-width:768px){
	.cta-background-logo {
		max-width: 70%;
	}
}

/* IMAGE + TEXT */

.panel-image-text.image-left .white-corner {
	right: -5%;
	top: -5px;
}

.hero-right-image .white-corner,
.panel-image-text.image-right .white-corner {
	left: -5%;
	bottom: -5px;
	transform: rotate(180deg);
}

.image-text-image {
	min-height: 300px;
}

@media(min-width:768px){
	.panel-image-text.image-left .white-corner {
		right: -5px;
	}
	.hero-right-image .white-corner,
	.panel-image-text.image-right .white-corner {
		left: -5px;
		bottom: -5px;
	}
}

/* PROJECTS */

.related-project-box .project-icon {
	transform: rotate(-12deg);
}

@media(min-width:768px){
	.related-project-box .project-icon {
		position: absolute;
		width: 90%;
		height: auto;
	}
}


/* VIDEO */

.block-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%,-50%,0);
  font-size: 1.375rem;
  line-height: 0;
}

.block-video-play .btn-box {
	padding: 0.6rem;
}

.block-video-play .btn-box {
	transition: 0.3s;
}

.block-video-play:hover .btn-box {
	transform: scale(1.1);
}

@media(min-width:768px){
	.block-video-play .btn-box {
		padding: 0.8rem;
	}
	.block-video-play {
		font-size: 2rem;
	}
}

/* CONTACTS */

.bg-yellow .form-control {
	border-width: 0;
}

/* QUOTE */

.panel-quote-text {
	font-size: 1.2rem;
}

@media(min-width:992px){
	.panel-quote-text {
		font-size: 1.6rem;
	}
}

/* COUNTDOWN */

.countdown-box {
	border-left: 2px solid rgba(255,255,255,0.3);
	padding-left: 1rem;
}

.bg-yellow .countdown-box {
	border-color: rgba(0,0,0,0.06);
}

.cd-number {
	font-size: 2rem;
}

@media(min-width:768px){
	.countdown-row {
		min-width: 400px;
		max-width: 760px;
	}
	.countdown-box {
		padding-left: 2rem;
	}
}

@media(min-width:992px){
	.countdown-row {
		min-width: 500px;
	}
}

/* TIMELINE */

.timeline blockquote {
	background-color: transparent;
  padding: 0 0 0 1.5rem;
  border-left: 3px solid #0073FF;
  border-radius: 0;
}

.timeline-date {
	font-size: 5rem;
	line-height: 0.75;
	font-weight: bold;
}

.timeline-image-box {
	max-width: 400px;
}

@media(min-width:768px){
	
}

@media(min-width:992px){
	.timeline-date {
		font-size: 10vw;
	}
	.timeline-image-box {
		max-width: none;
	}
}

/* COUNTERS */

.panel-counters .counter-box {
	border-bottom: 1px solid #eee;
}

.panel-counters .column:last-child .counter-box {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

@media(min-width:768px){
	.panel-counters .counter-box {
		border-bottom: none;
		border-right: 2px solid #eee;
	}
	.panel-counters .column:nth-child(3) .counter-box {
		border-right: none;
	}
}

@media(min-width:992px){
	
}

/* ARCHIVE */

.panel-archive .search-filter-input {
	border-top-width: 0;
	border-left-width: 0;
	border-right-width: 0;
	border-radius: 0;
	border-color: #000;
	background-color: transparent;
}

.panel-archive .search-filter-input:focus {
	border-color: #E71A1A;
}

@media(min-width:768px){
	.panel-archive .search-filter-input {
		min-width: 270px;
	}
}

/* LIST + TEXT */

.ta-item:not(:last-child) {
	border-bottom: 1px dashed #ccc;
	padding-bottom: 1em;
}

@media(min-width:768px){
	
}

/* SUBSCRIBE */

@media(min-width:576px){
	.panel-subscribe-email-field {
		min-width: 330px;
	}
}

/* FOOTER */

.site-footer .nav-link {
	font-weight: normal;
	padding-left: 0;
}

.site-footer .footer-nav > li > .nav-link {
	font-size: 1rem;
	font-weight: bold;
	font-family: 'Montserrat', 'Open Sans', sans-serif;
	padding-top: 0;
	padding-bottom: 0.25rem;
}

@media(max-width:767.98px){
	.site-footer .footer-nav > li {
		margin-bottom: 2rem;
	}
}

@media(min-width:576px){
	.site-footer .footer-nav > li .flex-column {
		flex-direction: row;
	}
	.site-footer .footer-nav > li li {
		width: 50%;
		float: left;
	}
}

@media(min-width:1200px){
	.site-footer .footer-nav > li > .nav-link {
		font-size: 1.225rem;
	}
	.site-footer .footer-nav > li li {
		width: 33.3333%;
	}
}

/* SERVICES */

.item-service-thumbnail {
	height: 100px;
	width: auto;
}

@media(min-width:768px){
	.item-service-thumbnail {
		height: 160px;
	}
}

/* ACCORDION */

.accordion-item {
	border: 2px solid #EEE;
	transition: 0.15s;
}

.accordion-link::after {
	content: "";
	display: block;
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0;
	border-top: 2px solid rgba(0,0,0,0);
}

.accordion-item .accordion-link-icon {
	color: #0C2D53;
	font-size: 1.5rem;
}

.accordion-item.active {
	background-color: #0C2D53;
	border-color: #0C2D53;
	color: #fff;
}

.accordion-item.active .accordion-link::after {
	border-top-color: rgba(255,255,255,0.2);
}

.accordion-item.active .accordion-link-icon {
	color: #fff;
}

@media(min-width:992px){
	.accordion-link::after {
		left: 1.8rem;
		right: 1.8rem;
	}
}

@media(min-width: 1200px){
	.accordion-item .accordion-link-icon {
		font-size: 2rem;
	}
}


/* SLICK */

.slick-custom-nav-default {
	position: absolute;
	top: 50%;
	width: 100%;
	height: 0;
	margin-top: -26.2px;
}

.slick-single-slide:not(.slick-initialized) .slick-slide:not(:first-child) {
	display: none;
}

.hide-slides-before-init:not(.slick-initialized) > *:not(:first-child) {
	display: none;
}

.slick-visible .slick-list {
	overflow: visible;
}

.btn-slick {
	width: 52.4px;
	height: 52.4px;
	background-color: #9ED1FF;
	border-color: transparent;
	color: #0C2D53;
	font-size: 1.575rem;
	padding: 0;
	text-align: center;
	border-radius: 9rem;
	transition: 0.3s;
}

.btn-slick.bg-primary,
.btn-slick.bg-white {
	background-color: #0C2D53;
	border-color: #0C2D53;
	color: #fff;
}

.btn-slick:hover {
	transform: scale(1.05);
}

.btn-slick.disabled {
	background-color: transparent;
	border-color: #a2b2c1;
	opacity: 0.2;
}

.btn-slick:first-child {
	margin-left: -26.2px;
}

.btn-slick:last-child {
	margin-right: -26.2px;
}

.bg-white .slick-dots li button {
	background-color: #EEEEEE;
}

.bg-white .slick-dots li.slick-active button {
	background-color: #0C2D53;
}

.bg-azure .slick-dots li button,
.bg-secondary .slick-dots li button,
.bg-primary .slick-dots li button {
	background-color: rgba(255,255,255,0.2);
}

.bg-primary .slick-dots li.slick-active button {
	background-color: #F5EDED;
}

.bg-azure-light .slick-dots li.slick-active button,
.bg-azure .slick-dots li.slick-active button {
	background-color: #0C2D53;
}

/* WYSIWYG */

.wysiwyg p {
	line-height: 1.75;
}

.wysiwyg blockquote {
	border-left: 2px solid #E71A1A;
	padding-left: 12px;
	margin-bottom: 2rem;
}

.wysiwyg.font-14 p {
	margin-bottom: 0.5em;
	line-height: 1.5;
}

.wysiwyg p:last-child,
.wysiwyg ul:last-child,
.wysiwyg ol:last-child {
	margin-bottom: 0;
}

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
	text-transform: uppercase;
}

.wysiwyg h3:not(:first-child),
.wysiwyg h4:not(:first-child),
.wysiwyg h5:not(:first-child),
.wysiwyg h6:not(:first-child) {
	margin-top: 1.5em;
}

.wysiwyg a:not(.btn) {
	color: #000;
}

.wysiwyg img:not(.rounded-circle) {
	border-radius: 5px;
}

.wysiwyg ul {
	list-style: none;
	padding: 0;
}

.wysiwyg ul > li {
	position: relative;
	padding-left: 25px;
	margin-bottom: 0.5rem;
}

.wysiwyg ol > li {
	margin-bottom: 1rem;
}

.wysiwyg ul > li:before {
	content: "";
	display: block;
	width: 18px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -2px;
	background-color: #E71A1A;
}

/* MODALS */

.alert-modal h3,
.alert-modal h4,
.alert-modal h5 {
	text-transform: uppercase;
}

.modal-video-close {
	position: absolute;
	top: -16px;
	right: -16px;
	background-color: #E71A1A;
	padding: 8px;
}

@media(min-width:768px){
	.modal-video-close {
		top: -28px;
		right: -28px;
		padding: 20px;
	}
}

/* MULTIPLE SELECT */

.select-multiple-wrapper .select-multiple-list-item {
	text-align: left;
	padding: 8px 10px 6px 10px;
	font-size: 14px;
	color: #000;
	background-color: #d5e0e3;
	margin-bottom: 5px;
	margin-right: 5px;
	position: relative;
	z-index: 2;
}

.select-multiple-wrapper .select-multiple-list-item:after {
	content: "×";
	display: inline-block;
	font-weight: normal;
	margin-left: 6px;
}

.select-multiple-wrapper .select-multiple-list-item:hover {
	background-color: #e2e8ea;
}

.select-multiple-wrapper .select-multiple-preview-inner.active {
	padding: 9px 35px 4px 9px;
}

/* OTHER */

.global-alert {
	position: fixed;
	z-index: 99;
	bottom: 20px;
	left: 50%;
	font-size: 14px;
	font-weight: bold;
	background-color: rgba(33, 33, 33, 0.8);
	color: #fff;
	padding: 5px 12px;
	border-radius: 3px;
	transform: translate3d(-50%,50px,0);
	transition: 0.5s;
	opacity: 0;
}

.global-alert.ready {
	transform: translate3d(-50%,0,0);
	opacity: 1;
}

/* SCROLL APPEARANCE EFFECTS */

.sfx {
	transition: 0.25s;
	transition-delay: 0s;
}

.sfx-box.sfx-viewport .sfx {
	transition: 0.5s transform, 0.5s opacity;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(1),
.sfx-box.sfx-viewport .sfx.d-01 {
	transition-delay: 0.25s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(2),
.sfx-box.sfx-viewport .sfx.d-02 {
	transition-delay: 0.5s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(3),
.sfx-box.sfx-viewport .sfx.d-03 {
	transition-delay: 0.75s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(4),
.sfx-box.sfx-viewport .sfx.d-04 {
	transition-delay: 1.0s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(5),
.sfx-box.sfx-viewport .sfx.d-05 {
	transition-delay: 1.25s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(6),
.sfx-box.sfx-viewport .sfx.d-06 {
	transition-delay: 1.5s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(7),
.sfx-box.sfx-viewport .sfx.d-07 {
	transition-delay: 1.75s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(8),
.sfx-box.sfx-viewport .sfx.d-08 {
	transition-delay: 2.0s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(9),
.sfx-box.sfx-viewport .sfx.d-09 {
	transition-delay: 2.25s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(10),
.sfx-box.sfx-viewport .sfx.d-10 {
	transition-delay: 2.5s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(11),
.sfx-box.sfx-viewport .sfx.d-11 {
	transition-delay: 2.75s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(12),
.sfx-box.sfx-viewport .sfx.d-12 {
	transition-delay: 3.0s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(13),
.sfx-box.sfx-viewport .sfx.d-13 {
	transition-delay: 3.25s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(14),
.sfx-box.sfx-viewport .sfx.d-14 {
	transition-delay: 3.5s;
}

.sfx-box.sfx-viewport .sfx-d:nth-child(+14),
.sfx-box.sfx-viewport .sfx.d-15,
.sfx-box.sfx-viewport .sfx.d-16,
.sfx-box.sfx-viewport .sfx.d-17,
.sfx-box.sfx-viewport .sfx.d-18,
.sfx-box.sfx-viewport .sfx.d-19,
.sfx-box.sfx-viewport .sfx.d-20 {
	transition-delay: 3.75s;
}

.sfx.fx-fade {
	opacity: 0;
}

.sfx.fx-fade-top {
	transform: translateY(-30px);
	opacity: 0;
}

.sfx.fx-fade-bottom {
	transform: translateY(30px);
	opacity: 0;
}

.sfx.fx-fade-right {
	transform: translateX(30px);
	opacity: 0;
}

.sfx.fx-fade-left {
	transform: translateX(-30px);
	opacity: 0;
}

.sfx-box.sfx-viewport .sfx.fx-fade {
	opacity: 1;
}

.sfx-box.sfx-viewport .sfx.fx-fade-top,
.sfx-box.sfx-viewport .sfx.fx-fade-bottom {
	transform: translateY(0);
	opacity: 1;
}

.sfx-box.sfx-viewport .sfx.fx-fade-right,
.sfx-box.sfx-viewport .sfx.fx-fade-left {
	transform: translateX(0);
	opacity: 1;
}

.sfx.fx-scale {
	transform: scale(0);
}

.sfx-box.sfx-viewport .sfx.fx-scale {
	transform: scale(1);
}