.photocredit {
    font-size: .85rem !important;
    position: absolute;
    bottom: 11px;
    right: 48px;
    display: block;
    height: 30px;
    opacity: 0;
}
@media (max-width: 1450px) {
	.photocredit {
		right: 20px;
	}
}
#hero {
	overflow: hidden;
}
.slash-container {
	position: absolute;
	top: 0;
	left:0;
	display: block;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	background: #000;
	animation-name: slash-container;
	opacity: 0;
	z-index: -1; 
	transform: scalex(-1);
}
.slash-container, .slash, .slash2, .slashtop, .slashbottom {
	animation-duration: 2.75s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
}

@keyframes slash-container {
  0% { 
		top:0;
		left: 0;
		opacity: 1;
		background: #000;
		z-index: 10000;
	}
  50% {
		top:0;
		left: 0;
		opacity: 1;
		background: #000;	
		z-index: 10000;	
	}
  51% {
		top:0;
		left: 0;
		opacity: 1;
		background: none;	
		z-index: 10000;
	}
  79% {
		top:0;
		left: 0;
		opacity: 1;
		background: none;	
		z-index: 10000;
	}
  97% { 
		opacity: 1;
		top:0;
		left: 0; 
		background: none;
		z-index: 10000;
	}
  98% { 
		z-index: -1;
		opacity: 0;	
		background: none;	
	}
}

.slash, .slash2 { 
    transform: skew(32deg);
    background: rgb(255 53 0);
    width: 50px;
	height: 20px;
    top: 50%;
	margin-top: -10px;
	display: block;
	position: absolute;
}

.slash {
	left: 50%;
	margin-left: -49px;
	animation-name: slash;
}

.slash2 {
	left: 50%;
	margin-left: -1px;
	animation-name: slash2;
}

@keyframes slash {
  0% { 
		width: 50px;
		margin-left: -49px;
		height: 20px;
		margin-top: -10px;
		left: 50%;
	}
  5% { 
		width: 50px;
		margin-left: -49px;
		height: 20px;
		margin-top: -10px;
		background: rgb(0 0 0);
		left: 50%;
	}
  10% { 
		width: 50px;
		margin-left: -49px;
		height: 20px;
		margin-top: -10px;
		left: 50%;
		background: rgb(255 53 0);
	}
  41% {
		width: 100vw;
		margin-left: -100vw;
		height: 120vh;
		margin-top: -60vh;
		left: 50%;		
	}
  45% {
		width: 100vw;
		margin-left: -100vw;
		height: 120vh;
		margin-top: -60vh;
		left: 50%;		
	}
  80% {
		width: 100vw;
		margin-left: -100vw;
		height: 120vh;
		margin-top: -60vh;
		left: 40%;
	}
  95% {
		width: 100vw;
		margin-left: -100vw;
		height: 120vh;
		margin-top: -60vh;
		left: -150vw;
		background: rgb(255 53 0);
	}
  100% { 
		background: rgb(0 0 0);
		left: -150vw;
	}
}

@keyframes slash2 {
  0% { 
		width: 50px;
		margin-left: -1px;
		height: 20px;
		margin-top: -10px;
		left: 50%;
	}
  5% { 
		width: 50px;
		margin-left: 0px;
		height: 20px;
		margin-top: -10px;
		background: rgb(0 0 0);
		left: 50%;
	}
  10% { 
		width: 50px;
		margin-left: -1px;
		height: 20px;
		margin-top: -10px;
		left: 50%;
		background: rgb(255 53 0);
	}
  41% {
		width: 100vw;
		margin-left: -1px;
		height: 120vh;
		margin-top: -60vh;
		left: 50%;		
	}
  45% {
		width: 100vw;
		margin-left: -1px;
		height: 120vh;
		margin-top: -60vh;
		left: 50%;		
	}
  80% {
		width: 100vw;
		margin-left: -1px;
		height: 120vh;
		margin-top: -60vh;
		left: 60%;
		
	}
  95% {
		width: 100vw;
		margin-left: -1px;
		height: 120vh;
		margin-top: -60vh;
		left: 250vw;
		background: rgb(255 53 0);
		
	}
  100% { 
		background: rgb(0 0 0);
		left: 250vw;
	}
}

.tcover {
    background: rgb(255 53 0);
    width: 100vw;
	height: 50vh;
    top: 50%;
	left: 0;
	display: block;
	position: absolute;
}

.tcover.slashtop {
	margin-top: -50vh;
	animation-name: slashtop;
}

.tcover.slashbottom {
	margin-bottom: -50vh;
	animation-name: slashbottom;
}

@keyframes slashtop {
  0% { 
		opacity: 0;
	}
  25% { 
		opacity: 0;
	}
  26% { 
		opacity: 1;
	}
  35% {
		top: 50%;
	}
  92% {
		top: -5%;
	}
  100% {
		top: -10%;
	}
}

@keyframes slashbottom {
  0% { 
		opacity: 0;
	}
  25% { 
		opacity: 0;
	}
  26% { 
		opacity: 1;
	}
  35% {
		top: 50%;
	}
  92% {
		top: 105%;
	}
  100% {
		top: 110%;
	}
}

.pulldown{
	animation-name: pulldown;
	animation-duration: .5s;
	animation-fill-mode: forwards;
	animation-delay: 2.5s;
	animation-iteration-count: 1;
	top:-60px;
}

@keyframes  pulldown {
  0% {top: -60px; opacity: 0; filter: blur(3px)}
  60% {top: 30px; opacity: 1; filter: blur(3px)}
  100% {top: 20px; opacity: 1; }
}

.zoom_in {	
	animation-name: zoom_in;
	animation-duration: 1.35s;
	animation-fill-mode: forwards;
	animation-delay: 1.35s;
	animation-iteration-count: 1;
	transition: .25s ease-in-out;
}
@keyframes zoom_in {
  0%	{ scale: 1.2; }
  100%	{ scale: 1; }
}
.slide.one {
	 scale: 1.2;
}
.delayin {
	animation: delay_in 1.85s;
	animation-delay: 1.85s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes  delay_in {
  0% {opacity:0; filter: blur(3px)}
  55% {opacity:0; filter: blur(3px)}
  80% {opacity:1;}
  100% {opacity:1;}
}

img#maple {
    width: 30px;
    height: auto;
    position: absolute;
    right: 50%;
    margin-right: -15px;
	opacity: .3;
	transition: all .5s;
	filter: brightness(0) saturate(100%) invert(0%) sepia(2%) saturate(3%) hue-rotate(340deg) brightness(102%) contrast(100%) !important;
}

.dark img#maple {
	filter: brightness(0) saturate(100%) invert(100%) sepia(97%) saturate(10%) hue-rotate(188deg) brightness(103%) contrast(103%) !important;
}
.pull-up {
	animation-name: pullup;
	animation-duration: .25s;
	animation-fill-mode: forwards;
	animation-delay: 3.05s;
	animation-iteration-count: 1;
	bottom:-60px;
}
@keyframes pullup {
  0% {bottom: -60px;}
  100% {bottom: 95px; }
}

.fade-in {
	animation-name: fadein;
	animation-duration: .25s;
	animation-fill-mode: forwards;
	animation-delay: 4.05s;
	animation-iteration-count: 1;
	opacity: 0;
}
@keyframes fadein {
  0% {opacity: 0;}
  100% {opacity: .3; }
}

/* these are not being used ----------------------------------------------- */
/*sunset*/
.sunset #herob{
	/*background-image: linear-gradient(255deg, rgb(0 0 0 / 68%) , rgb(0 0 0 / 0)), url(/_img/hero-city.jpg);*/
	background-image: linear-gradient(255deg, rgb(0 78 255 / 11%) , rgb(2 16 28 / 99%)), url(/_img/hero-city.jpg);
}
.sunset .clouds {
	display: none;
}
/*cliffs*/
.cliffs #herob{
	background-image: linear-gradient(255deg, rgb(0 78 255 / 11%) , rgb(2 16 28 / 99%)), url(/_img/hero-shore-blur-cloudbase.jpg);
}
.cliffs2 #herob {
    background-image: linear-gradient(0deg, rgb(3 32 69 / 43%), rgb(255 255 255 / 74%) 59%), url(/_img/hero-shore-blur-cloudbase.jpg);
}
/*none*/
.none #herob{
    background-image: linear-gradient(255deg, rgb(255 255 255 / 78%) , rgb(243 243 243 / 73%));
	background-size: unset;
}
/*forest*/
.forest #herob{
	background-image: linear-gradient(255deg, rgb(0 78 255 / 11%) , rgb(2 16 28 / 59%)), url(/_img/forest.jpg);
}

/*video*/
.video #herob{
	background: #000;
	color: #FFF;
}
/* end  not being used ----------------------------------------------- */
.video .herovideo{
	display: block;
}





/*clouds*/
#hero .responsive {
	z-index: 2;
}
@keyframes clouds-loop-1 {
  to {
    background-position: -1000px 0;
  }
}
.clouds-1 {
  background-image: url("/_img/clouds_2.png");
  animation: clouds-loop-1 40s infinite linear;
}

@keyframes clouds-loop-2 {
  to {
    background-position: -1000px 0;
  }
}
.clouds-2 {
  background-image: url("/_img/clouds_1.png");
  animation: clouds-loop-2 30s infinite linear;
}

@keyframes clouds-loop-3 {
  to {
    background-position: -1579px 0;
  }
}
.clouds-3 {
  background-image: url("/_img/clouds_3.png");
  animation: clouds-loop-3 127s infinite linear;
}
@media (max-width:1000px){
	.clouds-1 {
		background-image: url("/_img/clouds_2m.png");
	}
	.clouds-2 {
		background-image: url("/_img/clouds_1m.png");
	}
}
@media (max-width:600px){
	.clouds-1 {
		background-image: url("/_img/clouds_2s.png");
	}
	.clouds-2 {
		background-image: url("/_img/clouds_1s.png");
	}
}

.clouds {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  opacity: 0.4;
  pointer-events: none;
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 1;
  opacity: .075;
}

.clouds-1,
.clouds-2,
.clouds-3 {
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 500px;
}

.hintro {
    bottom: 26vh;
    position: absolute;
    width: 700px;
    left: 0;
    margin-left: 0;
	text-align: left;
	z-index: 2;
}
@media (max-width: 800px){
	.hintro {
		width: 90%;
		left: 5%;
		margin-left: 0;
	}
}
.heroblock {
	position: absolute;
	bottom: 120px;
	width: calc(100% - 40px);
	left: 2%;
}
.heroblock.box-group > a {
	background: rgb(255 255 255 / 47%);
    margin: 10px 20px 10px 0;
    border: 1px solid rgb(255 255 255 / 12%);
    transform: skew(-18deg, 0deg);
	padding: 11px 20px 0;
	box-sizing: border-box;
}
.heroblock.box-group a > span {
    transform: skew(18deg, 0deg);
	font-weight: 700;
	display: block;
}
.dark .heroblock.box-group > a {
	background: rgb(0 0 0 / 28%);
}
.heroblock.box-group > .textfield {
	padding: 0px;
	font-weight: 700;
}
.heroblock.box-group > p.textfield {
	margin: 0;
	padding: 0;
}

.dark .heroblock.box-group > .textfield  h2 {
    /*color: #daff00;
	font-weight: 400;*/
}


/* carousel*/
/* Basic Reset and Box-Sizing for Easier Layout */
* {
    box-sizing: border-box;
}

/* 1. Wrapper to contain and hide overflow */
.carousel-wrapper {
    /* Optional: Set a max-width for the whole component */
    max-width: 100%; 
    margin: 0 auto;
	padding: 20px 0;
    overflow: hidden; /* Hides the duplicated items initially */
}

/* 2. Container to establish the Flex context */
.carousel-container {
    display: flex;
	height: 170px;
}

/* 3. The Track to be animated */
.carousel-track {
    display: flex;
    /* This width is crucial: it should be 200% of the content's total width 
       since we duplicated all items. Using fit-content is easier. */
    width: fit-content; 
    
    /* Animation Properties */
    animation: scroll-left 40s linear infinite;
    /* Adjust '30s' for speed (lower = faster) */
}
.carousel-track:hover {
	animation-play-state: paused;
}

/* 4. The 330px wide items */
.carousel-item {
    min-width: 330px; /* **REQUIRED WIDTH** */
    height: 150px; /* Example height */
    padding: 20px;
    margin-right: 20px; /* Space between items */
    background-color: rgb(0 0 0 / 63%);
	/*border: 1px solid rgb(255 255 255 / 18%);
	background-color: rgb(175 36 0 / 82%);*/
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5em;
    flex-shrink: 0; /* Important: Prevents items from shrinking */
	border-radius: 3px;
	position: relative;
	transition: all .125s ease-in-out;
}
.carousel-item:hover {
    /*height: 160px;
    top: -5px;*/
	background-color: rgb(175 36 0 / 82%);
	border: none;
}

/* Keyframes for the continuous scrolling effect */
@keyframes scroll-left {
    0% {
        /* Start position: 0 (The beginning of the first set of items) */
        transform: translateX(0);
    }
    100% {
        /* End position: -50% (The beginning of the second, duplicated set) */
        /* This makes the second set perfectly replace the first one for a seamless loop */
        transform: translateX(-50%);
    }
}

/* stlying options */
.carousel-wrapper.skew div.carousel-item {
	transform: skew(-18deg, 0deg);
}
.carousel-wrapper.skew div.carousel-item span {
	transform: skew(18deg, 0deg);
}
/* end carousel */

/*Themes----------------*/
.dark .slider-container{
	background-color: #272727;
}
.dark .slider-container p, .dark .slider-container, .dark .slider-container ul, .dark .slider-container a, .dark .slider-container a:hover, .ocean a:hover, .dark .slider-container a:focus {
	color: #FFF;
}
/*.dark .slider-container h1, .dark .slider-container h2, .dark .slider-container h3, .dark .slider-container h4, .dark .slider-container h5 {
	color: #daff00;
}*/
.dark .slider-container .intro {
	opacity: .9;
}
.dark .slider-container .logo {
	background-image: url(/_img/logo-name.svg);
}
.dark .slider-container .lbl_container {
	border-color: rgb(255 255 255 / 18%);
}
.dark .slider-container a.menu_icon_link img, a.menu_icon_link:hover img, a.menu_icon_link:focus img {
	filter: invert(1) !important;
}
.dark.light .slider-container a.menu_icon_link img {
    filter: none;
}