.pricelist-color{
	color:#000000;
	text-transform:uppercase;
	font-size:1.2em;
}
/******************************************************************************/
/*  */
.h1, h1{
	font-size:2.0rem;
}
.diagram{
	max-height: 275px;
}
.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e") !important;
}
.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e") !important;
}
.carousel .carousel-control-prev-icon, .carousel .carousel-control-next-icon {
    width: 40px;
    height: 40px;
}
/******************************************************************************/
/* Default background color */
body {
	background-color:rgb(248, 246, 244);
}
.fancybox-bg {
	background: rgba(216, 214, 213, 0.99);
}
.home-page-no-scroll{
	overflow:hidden;
}
.navbar{
	background-color: rgb(248, 246, 244);
}
.page-footer{
	background-color: rgb(248, 246, 244);
}
.side-nav.side-nav-light{
	background-color: rgb(248, 246, 244);
}
a {
	color:#bab7b7;
}
a:hover,a:focus{
	color:#bab7b7;
	
}
.side-nav .social a:hover{
	opacity:0.4;
}
a.body-link {
	color: #333333;
}
a.body-link:hover, a.body-link:focus{
	color: #545353;
	border-bottom: 2px solid #d96c00;
}
.fancybox-caption__body {
	font-size:20px;
}
/******************************************************************************/
/* Animated Mnu Button - animated-icon1 */
.animated-icon1, .animated-icon2, .animated-icon3 {
	width: 30px;
	height: 20px;
	position: relative;
	margin: 0px;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;
}
.animated-icon1 span, .animated-icon2 span, .animated-icon3 span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	border-radius: 9px;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}
.animated-icon1 span {
	background: #7b7a7a;
}
.animated-icon2 span {
	background: #7b7a7a;
}
.animated-icon3 span {
	background: #7b7a7a;
}
.animated-icon1 span:nth-child(1) {
	top: 0px;
}
.animated-icon1 span:nth-child(2) {
	top: 10px;
}
.animated-icon1 span:nth-child(3) {
	top: 20px;
}
.animated-icon1.open span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}
.animated-icon1.open span:nth-child(2) {
	opacity: 0;
	left: -60px;
}
.animated-icon1.open span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
/* Icon 3*/
.animated-icon2 span:nth-child(1) {
	top: 0px;
}
.animated-icon2 span:nth-child(2), .animated-icon2 span:nth-child(3) {
	top: 10px;
}
.animated-icon2 span:nth-child(4) {
	top: 20px;
}
.animated-icon2.open span:nth-child(1) {
	top: 11px;
	width: 0%;
	left: 50%;
}
.animated-icon2.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.animated-icon2.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.animated-icon2.open span:nth-child(4) {
	top: 11px;
	width: 0%;
	left: 50%;
}
/* Icon 4 */
.animated-icon3 span:nth-child(1) {
	top: 0px;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
}
.animated-icon3 span:nth-child(2) {
	top: 10px;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
}
.animated-icon3 span:nth-child(3) {
	top: 20px;
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
}
.animated-icon3.open span:nth-child(1) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 0px;
	left: 8px;
}
.animated-icon3.open span:nth-child(2) {
	width: 0%;
	opacity: 0;
}
.animated-icon3.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 21px;
	left: 8px;
}

/******************************************************************************/
/* Streak photos */

.streak.streak-photo {
    background-attachment: fixed;
}
.flow-text-cols-2 {
   -webkit-column-count: 2;
      -moz-column-count: 2;
           column-count: 2;

   -webkit-column-gap: 50px;
      -moz-column-gap: 50px;
           column-gap: 50px;
}

/******************************************************************************/
/* Deafult page Intro picture */

.jarallax {
    min-height: 520px;
}
/* Owl Carousel adjusts */

.owl-nav .owl-prev, .owl-nav .owl-next {
    /*top: 40%;*/
}
.owl-copy-outer{
	position:absolute;
	bottom:0;
	left:15px;;
}
.owl-copy-inner{
	
}
.owl-title-text{
	color: #fff;
	font-size:1.5em;
}
.owl-subtitle-text{
	
}
/******************************************************************************/
/* Metal Text Effects */

.metal-text,
.metal-text a{
	
	background: linear-gradient(#ffffff, #9b9ea2);
	-webkit-background-clip:text !important;
	color: transparent !important;
	
}
.metal-text a:hover{
	
    color: #0056b3 !important;
    text-decoration: none;
    transition: all 0.2s ease-in-out;

}
.text-billboard{
	font-size:5em;
}
.text-billboard-sub{
	font-size:3em;
}
.down-arrow{
	position:absolute;
	bottom:20px;
	left:45%;
}
/******************************************************************************/
/*  */
.grey-text{
	color:#7b7a7a !important;
}
/******************************************************************************/
/* Simple 3x3 Image grid ala masonry - but which works */
.gallery {

	-webkit-column-count: 4; /* Chrome, Safari, Opera */
	-webkit-column-gap: 10px;
    -moz-column-count: 4; /* Firefox */
	-moz-column-gap: 10px;
    column-count: 4;
	column-gap: 10px;
	  
}	
.gallery-item{ 

	width: 100%; 
	padding: 0;	/* use mb-n margin inline instead */
	
}
@media (min-width: 576px) and (max-width: 991px) {
		
	.gallery {

		-webkit-column-count: 2; /* Chrome, Safari, Opera */
		-moz-column-count: 2; /* Firefox */
		column-count: 2;
	}
		
}
@media (max-width: 575px) {
		
	.gallery {

		-webkit-column-count: 1; /* Chrome, Safari, Opera */
		-moz-column-count: 1; /* Firefox */
		column-count: 1;
	}
		
}
/******************************************************************************/
/* Fills the parent <div class='fill-container fill'> with best part of contained image */
.fill-container{
	min-height: 200px !important;
	max-height: 200px !important;
}
.fill {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden
}
.fill img {
    flex-shrink: 0;
    min-width: 100%;
    min-height: 100%
}
.img-fill img {
  object-fit: cover;
  width:300px;
  height:300px;
}
/******************************************************************************/
/* Stripe Section - fills page */
.stripe-section{

	margin-left: calc(50% - 50vw);
    width: 100vw;
	background-color:#fff;
	
}
/******************************************************************************/
/* */
.img-max-height{
	
	max-height: 400px;
	
}
/******************************************************************************/
/* Weird right margin appearing for all page elements other than top nav!?! */
html { overflow-x: hidden; }
/******************************************************************************/
/* Image Grid */

.grid-container {
	display: grid;
	display: -ms-grid;
	grid-template-columns: repeat(3, 1fr);
	-ms-grid-columns: ( 1fr )[3];
	grid-auto-rows: 450px;
	-ms-grid-rows: ( 450px )[3];
	grid-column-gap: 15px;
	grid-row-gap: 15px;
	grid-auto-flow: row dense;
	place-items: stretch;
}

@media (min-width: 576px) and (max-width: 991px) {
		
	.grid-container {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 400px;
		grid-column-gap: 15px;
		grid-row-gap: 15px;
		grid-auto-flow: row dense;
		place-items: stretch;
	}	
		
}
@media (max-width: 575px) {
	
	.grid-container {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-auto-rows: 450px;
		grid-column-gap: 15px;
		grid-row-gap: 15px;
		grid-auto-flow: row dense;
		place-items: stretch;
	}
	
}
.grid-item{
	
	position:relative;
	
}
/* This crap is for IE :( */
.grid-item:nth-child(4n+1){
    -ms-grid-column: 1;
}
.grid-item:nth-child(4n+2){
    -ms-grid-column: 2;
}
.grid-item:nth-child(4n+3){
    -ms-grid-column: 3;
}
.grid-item:nth-child(4n+4){
    -ms-grid-column: 4;
}
.grid-item:nth-child(-n+4){
    -ms-grid-row: 1;
}
.grid-item:nth-child(n+5):nth-child(-n+9){
    -ms-grid-row: 2;
}
.grid-item:nth-child(n+9):nth-child(-n+14){
    -ms-grid-row: 3;
}


.grid-item img{
	
	padding: 0px;
	object-fit: cover;
	width: 100%;
	height: 100%;
	
}
.grid-mask{ /* add to the anchor that wraps the image and caption */
	
	/*position: absolute;*/
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-align:center;
	background: rgba(0, 0, 0, 0);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
	
}
.grid-mask:hover{
	background-image: linear-gradient(to bottom right,#002f4b,#dc4225);
    opacity: .6; 
}
.grid-caption{
	visibility:hidden;
	position: absolute;
    top: 50%;
    width: 100%;
	color: #fff;
	
}
.grid-mask:hover .grid-caption{
	visibility:visible;
}
/******************************************************************************/
/* Card Grid */
.card-overlay{
	position:relative;
}
.card-mask{ /* add to the anchor that wraps the image and caption */
	
	position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-align:center;
	background: rgba(0, 0, 0, 0);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
	
}
.card-mask:hover{
    opacity: .6; 
}
.card-mask > i{
	top:50%;
}
/******************************************************************************/
/* Masonry / Packery Grid */


.masonry-grid-sizer,
.masonry-grid-item {
    width: 31%;
}
.masonry-grid-item-width-2 {
    width: 65%;
}
.masonry-grid-item-width-3 {
    width: 99%;
}
.masonry-gutter-sizer{
	width: 3%;
}
.masonry-grid-item img{
		width: 100%;
	}
@media (max-width: 575px) {
	.masonry-grid-sizer,
	.masonry-grid-item {
		width: 98%;
	}
	.masonry-gutter-sizer{
		width: 4%;
	}
}
@media (min-width: 576px) and (max-width: 767px) {
	.masonry-grid-sizer,
	.masonry-grid-item {
		width: 98%;
	}
	.masonry-gutter-sizer{
		width: 4%;
	}
}

/* To change the amount of columns on larger devices, uncomment the code below 

 @media (min-width: 768px) and (max-width: 991px) {
  .masonry-grid-sizer,
  .masonry-grid-item {
    width: 25%;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .masonry-grid-sizer,
  .masonry-grid-item {
    width: 25%;
  }
}
@media (min-width: 1200px) {
  .masonry-grid-sizer,
  .masonry-grid-item {
    width: 25%;
  }
} 
*/
/******************************************************************************/
/* Home Page Carousel */
@media (min-width: 800px) and (max-width: 850px) {
	.navbar:not(.top-nav-collapse) {
		/*background: #1C2331!important;
		background: linear-gradient(0deg, rgba(27, 28, 29, 0.9960121268656716) 22%, rgba(27,45,75,1) 94%);
		*/
	}
}
@media (max-width: 575px) {
	.mt-carousel{
		margin-top:20%;
	}
}
@media (min-width: 576px) and (max-width: 767px) {
	.mt-carousel{
		margin-top:13%;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	 .mt-carousel{
		margin-top:20%;
	}
}
@media (min-width: 992px) {
		
	.mt-carousel{
		margin-top:13%;
	}

}
@media (min-width: 1200px) {
		
	.mt-carousel{
		margin-top:11%;
	}
	
	

}

.carousel,
.carousel .carousel-inner,
.carousel .carousel-inner .active,
.carousel .carousel-inner .carousel-item,
.view,body,html{
	height:100%
}

/******************************************************************************/
/* navbar mostly transparent: background-color:rgba(0,0,0,0.2) 
	remove transparency background-color:rgba(0,0,0);

*/
.navbar{
	box-shadow: none;
}
.navbar-brand{
	padding:0;
}
.navbar-brand img{
	max-height: 26px;
	margin-top: 4px;
}
.nav-link>span{
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 14px;
	font-weight: 500;
	
}
.nav-separator{

	color: #bab7b7;
	margin-top: 10.5px;
	font-size: 11px;
	padding-left:1.5px;
	padding-right:1.5px;

}
.navbar-nav .nav-link{
	padding-left:0.1em !important;
	padding-right:0.1em !important;
}
.navbar .nav-item .nav-link {
    color:#7b7a7a;
}
.navbar .nav-item .nav-link:hover {
    color:#313140;
}
.nav-item > a:hover span{
	border-bottom: 2px solid #d96c00;
}
.nav-item > a span.active{
	border-bottom: 2px solid #d96c00;
	color:#313140;
}
.navbar-nav{
    margin-top: 0px;
}
.always-on{
	display:block !important;
}
.side-nav{
	top:72px;
}
/* tweak the page margins (left, right) */
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl {
	max-width:78%;
	margin-top:160px;
 }

/******************************************************************************/
/* Side Nav  */
.side-nav .logo-wrapper img {
 
    padding-right: 10px;
    padding-left: 10px;
	
}
.side-nav .collapsible li a:hover {
    background-color: rgba(221, 221, 221, 0.15);
}
.side-nav .collapsible {
/* cos on some phones the sidebar won't scroll all the way to the bottom!! Which is crap by the way. */ 
    margin-bottom: 120px;
}
.side-nav {
	box-shadow: none;
}
#sidenav-overlay{
	z-index:1039;
	top:72px;
	background-color: rgba(0, 0, 0, 0);
}
.side-nav .collapsible a {
    font-size: 1.0rem;
}
@media (max-width: 768px){
	
	.double-nav .button-collapse {
		margin-left: 0;
		left: 0;
	}
	.side-nav{
		top:62px;
	}
}


/******************************************************************************/
/* removes caret from mega-menu nav elements */
.dropdown-toggle:after{
	visibility: hidden;
}
/******************************************************************************/
/* Brand / logo  */
.w-brand-center img{
	width: 80%;
    margin-top: 10px;
    margin-bottom: 10px;
}
.w-brand-xs img{
	width: 75%;
    margin-top: 5px;
    margin-bottom: 5px;
}
.w-no-wrap{
	flex-wrap: nowrap !important;
}
/******************************************************************************/
/* Metal Text Effects */

.metal-text,
.metal-text a{
	
	background: linear-gradient(#ffffff, #9b9ea2);
	-webkit-background-clip:text !important;
	color: transparent !important;
	
}
.metal-text a:hover{
	
    color: #0056b3 !important;
    text-decoration: none;
    transition: all 0.2s ease-in-out;

}

/******************************************************************************/
/* Home Page Images with text overlay */

.img-container{
  position:relative;
  display:inline-block;
}
.img-container img{
display:block
 }
.img-container .text-overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent;
  opacity:1.0;	/* set to '0.0' for full tranparency */
  transition:opacity 500ms ease-in-out;
}
.img-container:hover .text-overlay{
  opacity:0.4;
}
.text-overlay span{
	
	position:absolute;
	color:#fff;
	text-align: center;
    width: 100%;
	top:40%;
	text-transform: uppercase;
	
}
.img-container .nav-text-overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent;
  opacity:1.0;	/* set to '0.0' for full tranparency */
  font-weight: 900 !important;
  transition:opacity 500ms ease-in-out;
}
.img-container:hover .nav-text-overlay{
  opacity:0.2;
}
.nav-text-overlay span{
	position:relative;
	top: 35%;
	font-weight: 700;
	font-size: 1.2vw;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */

}
/******************************************************************************/
/* Truncate after n lines + ... */
.text-lines-2 {
  overflow: hidden;
  position: relative; 
  line-height: 1.2em;
  /* max-height = line-height (1.2) * lines max number (2) */
  max-height: 2.4em; 
  text-align: justify;
  word-break: break-all;
  padding-right: 1em;
}
.text-lines-3 {
  overflow: hidden;
  position: relative; 
  line-height: 1.2em;
  /* max-height = line-height (1.2) * lines max number (3) */
  max-height: 3.6em; 
  text-align: justify;
  word-break: break-all;
  padding-right: 1em;
}
.text-lines-4 {
  overflow: hidden;
  position: relative; 
  line-height: 1.2em;
  /* max-height = line-height (1.2) * lines max number (4) */
  max-height: 4.8em; 
  text-align: justify;
  word-break: break-all;
  padding-right: 1em;
}
[class*=text-lines]:before {
  content: '...';
  position: absolute;
  right: 5px;
  bottom: 0;
}

/******************************************************************************/
/*  */
footer.page-footer {
	color:#bab7b7;
}
footer.page-footer a {
  color:#bab7b7;
}
footer.page-footer .footer-copyright {
    overflow: hidden;
    color:#bab7b7;
   background-color: rgb(248, 246, 244);
}
.list-group-footer{
	display:block;
	margin-right:20px;
}
@media (max-width: 768px) {
	footer .list-group-horizontal{
		flex-direction:column;
	}
}
.back-to-top {

    margin: 0;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 70px;
    height: 70px;
    z-index: 100;
    display: none;
    text-decoration: none;

}

/******************************************************************************/
/* really useful */
.pt-10{padding-top :10px;}
.pt-15{padding-top :15px;}
.pt-20{padding-top:20px;}
.pt-30{padding-top: 30px;}
.pt-40{padding-top: 40px;}
.pt-50{padding-top: 50px;}
.pt-60{padding-top: 60px;}
.pt-70{padding-top: 70px;}
.pt-80{padding-top: 80px;}
.pt-90{padding-top: 90px;}
.pt-100{padding-top: 100px;}
.pt-120{padding-top: 120px;}
.pt-130{padding-top: 130px;}
.pt-140{padding-top: 140px;}
.pt-150{padding-top: 150px;}
.mt-10{margin-top :10px;}
.mt-15{margin-top :15px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top: 30px;}
.mt-40{margin-top: 40px;}
.mt-50{margin-top: 50px;}
.mt-60{margin-top: 60px;}
.mt-70{margin-top: 70px;}
.mt-80{margin-top: 80px;}
.mt-90{margin-top: 90px;}
.mt-100{margin-top: 100px;}
.mt-120{margin-top: 120px;}
.mt-130{margin-top: 130px;}
.mt-140{margin-top: 140px;}
.mt-150{margin-top: 150px;}
.mt-160{margin-top: 160px;}
.mt-200{margin-top: 200px;}
.mt-40p{margin-top: 40%;}
.mt-50p{margin-top: 50%;}
.mt-60p{margin-top: 60%;}
.mt-70p{margin-top: 70%;}
.mt-80p{margin-top: 80%;}
.mt-90p{margin-top: 90%;}
.mb-10{margin-bottom: 10px;}
.mb-15{margin-bottom: 15px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-50{margin-bottom: 50px;}
.rm-10{margin-right:10px;}
.rm-20{margin-right:20px;}
.rm-30{margin-right:30px;}
.rm-40{margin-right:40px;}
.rm-50{margin-right:50px;}

.width-100{	width:100%;}
.width-75{	width:75%;}
.width-50{	width:50%;}
.width-25{	width:25%;}
/******************************************************************************/
/******************************************************************************/
/* IE10+ !! */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    
	.nav-link > span{
		background: transparent !important;
		color: #57565d !important;
	}
	
	.metal-text, .metal-text a{
		background: transparent !important;
		color: #ffffff !important;
		
	}
	.grid-item{
		margin:8px;
	}
	
	.ie-adjust-rm-01{
		margin-right:30%;
	}

	.ie-adjust-mt-01{
		margin-top: -150px;
	}

}
@media (min-width: 576px) and (max-width: 1200px) and (-ms-high-contrast: none), (-ms-high-contrast: active){
	
}
