﻿:root,
[data-bs-theme=light] {
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

:root {
	--dark-red: #5c0e21;
	--light-red: #7e132c;
	--blue: #001f3f;
	--dark-grey: #333233;
	--light-grey: #f8f3f8;
	--footer-grey: #222224;
	--bs-gutter-x: 4rem !important;
}

body {
	/*	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;*/
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

@media (min-width: 992px) {
	.container-fluid {
		padding-right: 3rem;
		padding-left: 3rem;
	}
}

h1, h2 {
	/*	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 300;
	font-style: normal;*/
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}

h2 {
	font-weight: 600;
	font-size: 2.5rem;
	color: var(--blue);
	margin-bottom: 1.75rem;
}

h4 {
	font-size: 1.125rem;
	text-transform: uppercase;
	color: var(--light-red);
}

p, li {
	font-size: 1rem;
	color: #717171;
	line-height: 1.75;
}

a {
	text-decoration: none;
}

.btn {
	border-radius: 5px;
}

.btn.btn-primary {
	background: var(--light-red);
	border-color: transparent;
}

.form-control {
	border-radius: 0;
}
@media (min-width: 992px) {
	.col-lg-20 {
		flex: 0 0 auto;
		width: 20%;
	}
}

.nav-item, .nav-item li, .nav-link {
	/*	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 500 !important;
	font-style: normal;*/
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size: 1.125rem;
}

.nav-link.contact {
	background: var(--blue);
	color: #FFF;
	border-radius: 5px;
}

@media (hover: hover) and (pointer: fine) {
	.navbar .dropdown:hover .dropdown-menu {
		display: block;
		margin-top: 0;
	}
}

@media (min-width: 992px) {

	.nav-item.dropdown {
		position: relative !important;
		display: flex;
	}

		.nav-item.dropdown .nav-link, .nav-item.dropdown .nav-link.dropdown-toggle {
			color: #FFF !important;
		}

		.nav-item.dropdown .nav-link {
			padding-right: 0;
		}

			.nav-item.dropdown .nav-link.dropdown-toggle {
				padding-right: 1.5rem !important
			}

		.nav-item.dropdown .dropdown-menu {
			left: 0;
			right: auto;
			inset: 0 auto auto auto !important;
		}

		.nav-item.dropdown .dropdown-menu {
			transform: none !important;
			top: 100% !important;
			left: 1rem !important;
			border-radius: 0;
			background: var(--dark-grey);
		}

	.nav-link:focus-visible {
		box-shadow: none !important;
	}

	.dropdown-item:focus, .dropdown-item:hover {
		/*color: var(--bs-dropdown-link-hover-color);*/
		background-color: rgba(0,0,0,0.25);
	}

	.nav-item.dropdown .dropdown-menu .dropdown-item {
		color: #FFF;
		cursor: pointer;
	}
}

	.navbar-toggler {
		padding: 1rem 0;
		color: #FFF;
		font-size: 1.5rem;
	}

	.site-header {
		position: relative;
		background-color: #7e132c;
	}

	.header-logo {
		background: #FFF;
		padding: 15px;
		width: 100%;
		clip-path: polygon(100% 0px, 80% 100%, 0px 100%, 0px 0px);
	}

	@media (min-width: 768px) {
	}

	@media (min-width: 992px) {
		.header-logo {
			padding: 0 190px 0 3rem;
			width: auto;
			margin-top: 0;
			clip-path: polygon(80% 0px, 65% 100%, 0px 100%, 0px 0px);
		}
		/* Top strip painted behind content */
		.site-header::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 40px; /* height of top strip */
			background-color: #5c0e21;
			z-index: 0;
		}

		/* Ensure all header content sits above the pseudo-element */
		.site-header > * {
			position: relative;
			z-index: 1;
		}
	}

	/* Logo box spans full header height naturally */
	.logo-box {
		width: 235px;
		background: white;
		display: flex;
		align-items: center;
		justify-content: center;
	}

		/* Logo sizing */
		.logo-box img {
			max-width: 100%;
		}

	.cad-surface {
		background-color: #ffffff;
		background-image: linear-gradient(0deg, rgba(0,0,0,0.03) 1px, transparent 1px), linear-gradient(60deg, rgba(0,0,0,0.04) 1px, transparent 1px), linear-gradient(120deg, rgba(0,0,0,0.04) 1px, transparent 1px), linear-gradient(0deg, rgba(0,0,0,0.015) 1px, transparent 1px);
		background-size: 40px 40px, 40px 40px, 40px 40px, 10px 10px;
	}

	.cad-outline {
		border: 1px solid rgba(0,0,0,0.25);
		box-shadow: 0 0 0 1px rgba(255,255,255,0.6) inset, 0 0 0 2px rgba(0,0,0,0.05);
		border-radius: 2px;
	}

	.block-header {
		background-size: cover;
		background-position: center;
	}

	.card {
		border-radius: 0px;
		border-color: none;
		border: none;
		border-color: none;
		height: 100%;
	}

		.card ul {
			padding-left: 0;
			margin-bottom: 1.75rem;
			font-size: 1.125rem;
		}

			.card ul li {
				/*		font-weight: 500;*/
				margin-bottom: 0.75rem;
				list-style: none;
			}

	/*.card-body {
	padding: 2rem;
}*/

	.card-title {
		font-size: 1.5rem;
		color: var(--dark-red);
	}

	.card-img, .card-img-top {
		border-radius: 0;
		/*	padding: 2rem;*/
	}

	@media (min-width: 992px) {
		.card ul {
			padding-left: 2rem;
		}

			.card ul li {
				list-style: inherit;
			}

		.umb-block-list > .block-card ~ .block-card {
			margin-top: 0;
		}
	}

	.umb-block-list > .block-4col-card-image {
		padding: 1.5rem;
	}

	@media (min-width: 992px) {
		.umb-block-list > .block-4col-card-image {
			padding: 3rem;
		}
	}

	.umb-block-list > .block-4col-card-image ~ .block-4col-card-image {
		padding-top: 0;
	}

	.square-image-container {
		display: flex;
		justify-content: center;
		align-content: center;
		position: relative;
		overflow: hidden;
	}

		.square-image-container::after {
			content: "";
			display: block;
			padding-bottom: 100%;
		}

		.square-image-container img {
			position: absolute;
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
		}

		.square-image-container small, .figure small {
			position: absolute;
			bottom: 0;
			right: 0;
			padding: .15rem;
			background: rgba(0,0,0,.5);
			font-size: .75rem;
			color: #FFF;
		}

	.block-gallery .square-image-container small {
		position: static;
		background: none;
	}

	.figure {
		position: relative;
		margin-bottom: 0;
	}

	.block-gallery h2, .block-gallery h4, #galleryModal h2, #galleryModal h4 {
		color: #FFF;
	}

	.block-gallery .square-image-container div {
		opacity: 0;
		position: absolute;
		bottom: 0;
		left: 0;
		color: #FFF;
		z-index: 1;
		display: flex;
		justify-content: end;
		flex-direction: column;
		transition: opacity 0.3s ease-in-out;
		height: 100%;
		width: 100%;
		padding: 15px;
	}

	.block-gallery .square-image-container:hover div, .block-gallery .square-image-container:active div, .block-gallery .square-image-container.active div {
		opacity: 1;
		background: rgba(0,0,0,0.5);
	}

	#galleryModal .modal-dialog.image .modal-content {
		border: 0;
		border-radius: 0;
		box-shadow: 0 7px 14px 0 rgba(0, 0, 0, 0.7), 0 3px 6px 0 rgba(0, 0, 0, 0.07);
	}

		#galleryModal .modal-dialog.image .modal-content .caption {
			position: absolute;
			bottom: -3rem;
			width: 100%;
			text-align: center;
		}

			#galleryModal .modal-dialog.image .modal-content .caption span {
				background: rgba(0,0,0,0.7);
				color: #FFF;
				padding: 0.25rem 1rem;
				border-radius: 25px;
				border: 3px solid #FFF;
			}

	#galleryModal a.close.image {
		position: absolute;
		top: -15px;
		right: -15px;
		width: 30px;
		height: 30px;
		opacity: 1;
		color: #FFF;
		background: #000;
		border-radius: 50%;
		border: 3px solid #FFF;
		box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.75);
		z-index: 99;
		padding: 0 5px;
		cursor: pointer;
		line-height: 1;
		text-align: center;
	}

	.gallery a.close span {
		display: block;
		text-align: center;
		line-height: 20px;
		font-size: 1.5rem;
	}

	.block-three-button {
		background: var(--dark-red)
	}

	.block-faq {
		background: var(--light-grey);
	}

		.block-faq .accordion-item {
			border: none;
			box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 rgba(0, 0, 0, 0.15);
		}

			.block-faq .accordion-item:last-of-type {
				border-radius: 0;
			}

		.block-faq .accordion-item, .block-faq .accordion-button {
			background-color: transparent;
			font-size: 1.25rem;
			color: var(--dark-grey);
		}

		.block-faq .accordion-button {
			padding-top: 1.75rem;
			padding-bottom: 1.75rem;
			box-shadow: none;
		}

			.block-faq .accordion-button:not(.collapsed) {
				background-color: transparent;
				color: var(--dark-grey);
			}

		.block-faq p {
			font-size: 1.125rem;
			color: var(--dark-grey);
		}

	.block-carousel .gradient-overlay {
		background: linear-gradient(90deg, rgb(0, 0, 0), rgba(0,0,0,0.1));
	}

	.block-carousel h1 {
		text-transform: uppercase;
		font-weight: 600;
	}

	.block-keypoints {
		background: var(--blue);
	}

	.block-keypoints.white {
		background: #FFF;
	}

		/*.block-keypoints h4 {
	font-size: 1.125rem;
	text-transform: uppercase;
}
*/
		.block-keypoints i {
			font-size: 5rem;
			color: var(--light-red);
		}

		.block-keypoints h4, .block-keypoints p {
			color: #FFF;
		}

		.block-keypoints.white h4, .block-keypoints.white p {
			color: var(--dark-grey);
			text-transform: none;
		}

		.block-keypoints.white h4 {
			font-size: 1.5rem;
			text-align: center;
		}

	@media (min-width: 992px) {
		.block-keypoints i {
			font-size: 4.5rem;
		}
	}

	.block-sheltertypes h3 {
		font-size: 1.25rem;
		font-weight: 600;
	}

	.block-sheltertypes i.fa-sharp {
		color: var(--light-red);
	}

	.block-three-column-card-icons {
	}

		.block-three-column-card-icons h2 {
			font-size: 2rem;
		}
		@media (min-width: 992px) {
			.block-three-column-card-icons h2 {
				font-size: 2.5rem;
			}
		}
		.block-three-column-card-icons h2, .block-three-column-card-icons p {
			color: #FFF;
		}

		.block-three-column-card-icons .card-title {
			color: var(--light-red);
			font-size: 1.125rem;
		}

		.block-three-column-card-icons .card p {
			color: #717171;
		}

		.block-three-column-card-icons i {
			color: var(--light-red);
		}

	footer {
		background: var(--footer-grey);
	}

		footer h5 {
			font-size: 1.125rem;
			color: #FFF;
		}

		footer, footer p, footer a, footer li.nav-item a {
			font-weight: 400 !important;
			font-size: 1rem;
			color: rgba(255,255,255,0.55);
		}

			footer a:hover, footer li.nav-item a:hover {
				color: rgba(255,255,255,0.25);
				transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
			}

			footer a.fa-stack {
				color: #FFF;
			}