
html {
	height: 100%;
}
body {
	height: 100%;
	font-family: 'Raleway', sans-serif;
	font-size: 15px;
	line-height: 1.50;
	color: #333333;
	background-color: #ffffff;
	position: relative;
}


/* Text properties */

.site-name {
	font-family: 'Raleway', sans-serif;
	font-size: 34px;
	font-weight: 400;
}


h1 {
	font-size: 38px;
	font-weight: 700;
}
h2 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 0rem;
	margin-top: 0rem;
}
h3 {
	font-size: 28px;
	margin-bottom: 15px;
}
h4 {
	font-size: 1.2rem;
	font-weight: 700;
}


h1 span.blue,
h2 span.blue,
h3 span.blue,
h4 span.blue,
a span.blue {
	color: #296fad;
}
.text-colored {
	color: #296DAA;
}
a {
	color: #296DAA;
}
a:hover {
	color: #339BEB;
}
a:focus,
a:active {
	outline: none;
}

.lead1 {
    font-weight: 550;
}
.lead2 {
    font-size: 1rem;
}
.headtext1 {
    font-size: 4rem;
	font-weight: 700;
}

/* ClearFix
----------------------------------------------------------------------------- */
.clearfix {
  overflow: auto;
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}


/* Sections & Containers
----------------------------------------------------------------------------- */
.section {
    background-color: #ffffff;
    padding: 40px 0;
}

.spacer76 {
	padding-top: 76px;
}

/* Tabs & Pills
---------------------------------- */
.tab-content {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 20px;
}

.nav-tabs {
	margin-bottom: 0;
	border-bottom: 0px;
}


/* Class Properties
----------------------------------------------------------------------------- */

.fa2x {
	font-size: 1.5rem;
}

span.blue {
	color: #296fad;
}

span.purple {
	color: #aa47bc;
}

.greenil {
	color: #0B6623;
}


/* Backgrounds
----------------------------------------------------------------------------- */

.default-bg.blue {
	background-color: #296DAA;
}
.default-bg.grey {
	background-color: #909090;
}
.default-bg.greyblue {
	background-color: #345; 
}
.translucent-bg {
	color: #ffffff;
	overflow: auto;
}

.default-bg.blue h1,
.default-bg.blue h2,
.default-bg.blue h3,
.default-bg.blue h4,
.default-bg.blue h5,
.default-bg.blue h6,
.default-bg.greyblue h1,
.default-bg.greyblue h2,
.default-bg.greyblue h3,
.default-bg.greyblue h4,
.default-bg.greyblue h5,
.default-bg.greyblue h6,
.translucent-bg h1,
.translucent-bg h2,
.translucent-bg h3,
.translucent-bg h4,
.translucent-bg h5,
.translucent-bg h6 {
	color: #ffffff;
}

.translucent-bg blockquote footer {
	color: #cccccc;
}

.translucent-bg a:hover {
	text-decoration: none;
}
.translucent-bg {
	-webkit-background-size: cover !important; /* Safari */
	background-size: cover !important;
	background-position: 50% 0;
	background-repeat: no-repeat;
	z-index: 1;
	position: relative;
}
.translucent-bg .translucent-bg {
	margin-top: 80px;
	z-index: 3;
}
.translucent-bg:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
}
.translucent-bg.blue:after {
	background-color: rgba(85, 172, 238, 0.7);
}
.translucent-bg.grey:after {
	background-color: rgba(80, 80, 80, 0.6);
}
.translucent-bg .container {
	z-index: 3;
	position: relative;
	overflow: hidden;
}
.bg-image-1 {
	background: url("../img/bg-image-1.jpg") 50% 0px no-repeat;
}
.bg-image-2 {
	background: url("../img/bg-image-2.jpg") 50% 0px no-repeat;
}

/* Visible and Invisible objects */
.object-non-visible {
	opacity: 0;
	filter: alpha(opacity=0);
}
.object-visible,
.touch .object-non-visible {
	opacity: 1 !important;
	filter: alpha(opacity=100) !important;
}

/* FadeIn */
.fadeIn {
  opacity: 0;
  animation: fadeIn 3s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* Banners
----------------------------------------------------------------------------- */

/* Parallax Banner Image */
.banner-image {
	/* The image used */
	background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("../img/bg-image-2.jpg");
  
	/* Set a specific height */
	height: 60%;
  
	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.banner-image-error {
	/* The image used */
	background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("../img/bg-image-1.jpg");
  
	/* Set a specific height */
	height: 60%;
  
	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
  
.banner-text {
	text-align: center;
	position: absolute;
	top: 30%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}

.banner-title {
	color: #ffffff;
	font-size: 7rem;
	font-weight: 500;
}

.banner-caption {
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: 400;
}
  
.ml2 .letter {
	display: inline-block;
	line-height: 1em;
	opacity: 0;
	transition: opacity 0s linear;
  }

.ml3 .letter {
	display: inline-block;
	line-height: 1em;
	opacity: 0;
	transition: opacity 0s linear;
}

@media (max-width:767px) {
	.ml3 {
		display: none;
	}
}

/* Media Settings */
@media (max-width:767px) {
	.site-name {
		display: none;
	}
}

/* Image Size Restrictions */
.imaxhw50 {
	max-width:50px;
	max-height:50px;
}

.imaxh320 {
	max-height:320px;
}



/* Assign JQuery 3 Smooth Scroll function to HTML (overrides default scroll - doesn't work on Safari, IE or Edge) 
html {
	scroll-behavior: smooth;
  } */


/* Carousel Fit Images
----------------------------------------------------------------------------- */
.carousel-inner .carousel-item {
   max-height: 92vh;
}

.carousel-inner .carousel-item > img {
   align-self: flex-end;
   background: black;
}

.carousel-caption {
  transform: translateY(-50%);
  bottom: auto;
  top: 50%;  
}

	


/* Nav-Link styling in NavBar
----------------------------------------------------------------------------- */
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,1.0);
	font-size: 1.1rem;
	padding: 10px 20px;
}

.navbar-dark .navbar-nav .nav-link.active {
  color:#296fad;
}

.navbar-dark .navbar-nav .nav-link:focus {
	color:#296fad;
}
	
.navbar-dark .navbar-nav .nav-link:hover {
	color:#c6ccd8;
}

.navbar-dark .navbar-nav .active>.nav-link {
	color:#296fad;
}

/* Change Navbar Colour on Scroll */
.fixed-top {
	  transition: background-color 200ms linear;
}

.fixed-top .navbar-brand .black-image {
	display: none;
}

.fixed-top .navbar-brand .white-image {
	display: inline-block;
}

.fixed-top.scrolled .navbar-brand .white-image {
	display: none;
}

.fixed-top.scrolled .navbar-brand .black-image {
	display: inline-block;
}

.fixed-top.scrolled {
  background-color: #fff !important;
  transition: background-color 200ms linear;
}

.fixed-top.scrolled .nav-link {
  color:#666666;
}

.fixed-top.scrolled .nav-link:focus {
  color:#666666;
}

.fixed-top.scrolled .nav-link.active {
  color:#296fad;
}

.fixed-top.scrolled .nav-link:hover {
  color:#000000;
}

.fixed-top.scrolled .navbar-brand {
  color:#555555;
}

.fixed-top.scrolled .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(166,166,166, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.fixed-top.scrolled .navbar-toggler {
  border-color:#bbbbbb;
} 
/* End */





/* Accordian Panel Collapse Styling
---------------------------------- */
.panel-group .panel {
	-webkit-border-radius: 0px;
	border-radius: 0px;
	border: none;
}
.panel-default > .panel-heading {
	padding: 0;
	outline: none;
	border: none;
	-webkit-border-radius: 0; /* Safari */
	border-radius: 0;
	width: 100%;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
	border: 1px solid #f0f0f0;
	border-top: none;
	background-color: #fafafa;
}
.panel-heading a {
	font-weight: 400;
	padding: 12px 35px 12px 15px;
	display: inline-block;
	width: 100%;
	background-color: #296DAA;
	color: #ffffff;
	position: relative;
	text-decoration: none;
}
.panel-heading a.collapsed {
	color: #ffffff;
	background-color: #333333;
}
.panel-heading a:after {
	font-family: "Font Awesome 5 Free";
	content: "\f146";
	position: absolute;
	right: 15px;
	font-size: 14px;
	font-weight: 300;
	top: 50%;
	line-height: 1;
	margin-top: -7px;
}
.panel-heading a.collapsed:after {
	content: "\f0fe";
}
.panel-heading a:hover {
	text-decoration: none;
	background-color: #296DAA;
	color: #ffffff;
}
.panel-title a i {
	padding-right: 10px;
	font-size: 16px;
}


/* Contact Form List and Text
----------------------------------------------------------------------------- */
.contact-text {
	font-size: 1.2rem;
}
.list-icons {
	padding: 0;
	margin: 20px 0;
	list-style: none;
	font-size: 1.2rem;
}
.list-icons li {
	padding: 0 0 15px 0;
}
.input-group>.input-group-append {
    flex: 0 0 8%;
}
.input-group .input-group-text {
    width: 100%;
}

/* Social Links
---------------------------------- */
.social-links {
	padding: 0;
	list-style: none;
	margin: 15px 0;
}
.social-links li {
	margin: 10px 25px 10px 0;
	display: inline-block;
	font-size: 36px;
}

/* Buttons
---------------------------------- */
.btn-1 {
	padding: 8px 15px;
	font-size: 14px;
	line-height: 1.42857143;
	min-width: 160px;
	text-align: center;
	border-radius: 0;
	text-transform: uppercase;
	-webkit-transition: all 0.2s ease-in-out; /* Safari */
	transition: all 0.2s ease-in-out;
}
.btn-2 {
	color: #296DAA;
	border: 1px solid #cccccc;
}
.btn-2:hover {
	color: #ffffff;
	background-color: #296DAA;
	border-color: #296DAA;
}

/* Google Maps
----------------------------------------------------------------------------- */
#map {
    width: 100%; height: 400px; margin-top: 40px; margin-bottom: 40px;
}

.info-window {
    font-family: 'Montserrat', sans-serif;
}
.info-content {
    color: #999;
}

/* Card Flip
----------------------------------------------------------------------------- */
.card-flip > div {
	backface-visibility: hidden;
	transition: transform 300ms;
	transition-timing-function: linear;
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
  }
  
  .card-front {
	transform: rotateY(0deg);
  }
  
  .card-back {
	transform: rotateY(180deg);
	position: absolute;
	top: 0;
  }
  
  .card-flip:hover .card-front {
	transform: rotateY(-180deg);
  }
	
  .card-flip:hover .card-back {
	transform: rotateY(0deg);
  }

  .flip-card-img {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
  }

/* Gallery
----------------------------------------------------------------------------- */
.my-shuffle {
	position: relative;
	overflow: hidden;
  }
  
  /* Make vertical gutters the same as the horizontal ones */
  .image-item {
	margin-bottom: 30px;
  }
  
  /* Ensure images take up the same space when they load */
  /* https://vestride.github.io/Shuffle/images */
  .aspect {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
  }
  
  .aspect__inner {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
  }
  
  .aspect--16x9 {
	padding-bottom: 56.25%;
  }
  
  .aspect--9x80 {
	padding-bottom: calc(112.5% + 30px);
  }
  
  .aspect--32x9 {
	padding-bottom: calc(28.125% - 8px);
  }
  
  .image-item img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
  }

/* Hover Over "data-target" changes pointer on Image Modals
----------------------------------------------------------------------------- */
a:not([href]):hover { cursor: pointer;}