/*
---------------------------------
    CHC Core
    Version: 2020-06-14
--------------------------------- */

	/* =General
	----------------------------------------------- */
	@charset "utf-8";
	@import url("/assets/public_fonts.css"); 
	@import url("/assets/public_colors.css");
	
	* { margin: 0px; padding: 0px }

	body    { 	
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 18px;
    min-width: 0px;
    color: #171718;
		background-color: #fff;
		text-align: center;
	}


	.raw {
		font-family: "Courier New",Courier,Fixed;
		font-size: 18px;
		font-weight: normal;
		background-color: #171718;
		color: #fff;
		text-align: left;
		padding: 20px;
	}
			
	.raw::-moz-selection { /* Code for Firefox */
  	color: #000;
  	background: rgba(255,255,0,0.8);
	}

	.raw::selection {
  	color: #000;
  	background: rgba(255,255,0,0.8);
	}			
			
	#overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(255,255,255,0.8);
    transition: opacity 500ms;
    z-index: 90;
    text-align: center;
	}

	h1 {
	    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	    color: #171718;		
	    font-weight: 600;
	    font-size: 52px;
	    letter-spacing: -1px;
	    margin-bottom: 32px;
	}		

	h2 {
	    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	    font-weight: 800;
	    font-size: 36px;
	    letter-spacing: -1px;
	    margin-top: 20px;
	    margin-bottom: 20px;
	    color: #171718;
	}

	h3 {
	    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	    font-size: 24px;
	    font-weight: 800;
	    color: #171718;
	    margin-top: 20px;
	    margin-bottom: 10px;
	}

	h4 {
	    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	    font-size: 18px;
	    line-height: 1.3em;
	    font-weight: 600;
	    color: var(--themeColor1);

	}

	h5 {
	    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	    color: var(--themeColor1);
	    font-weight: 200;
	    font-size: 20px;
	    line-height: 1.1em;
	    letter-spacing: -1px;
	}

	ul {
		margin-left: 40px; 
		padding-left: 0;
	}

	a {
    text-decoration: none;
    color: var(--themeColor1);
	}

	.hide {
	    display: none;
	    visibility: hidden;
	}

	.show {
	    display: block;
	    visibility: visible;
	}

	.rotate {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
	}

	#errorDialogue {
    position: absolute;
    top: 0px;
    right: 0px;

    animation:errorDialogue 3s 1;
    -webkit-animation:errorDialogue 3s 1;
    animation-fill-mode: forwards;
    
    animation-delay:2s;
    -webkit-animation-delay:3s; /* Safari and Chrome */
    -webkit-animation-fill-mode: forwards;
    
    z-index: 999;
	} 

	@keyframes errorDialogue{
    from {opacity :1; z-index: 999; }
    to {opacity :0; z-index: 0; }
	}

	@-webkit-keyframes errorDialogue{
    from {opacity :1; z-index:999; }
    to {opacity :0; z-index: 0; }
	}

	p.speechBubble:empty {
		display: none;
	}

	p.speechBubble {
    position: relative;
    min-width: 400px;
    min-height: 50px;
    padding: 20px;
    text-align: center;
    color: var(--themeColor1);
    font-size: 36px;
    line-height: 36px;
    background-color: #fff;
    border: 8px solid var(--themeColor1);
    -webkit-border-radius: 30px;
    border-radius: 30px;
    -webkit-box-shadow: 2px 2px 4px #888;
    box-shadow: 2px 2px 4px #888;
    animation-fill-mode: forwards;
    animation-delay:2s;
    -webkit-animation-delay:1s; /* Safari and Chrome */
    -webkit-animation-fill-mode: forwards;
    z-index: 999;
	}

	p.speechBubble:before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    right: 30px;
    top: 90px;
    border: 25px solid;
    border-color: var(--themeColor1) var(--themeColor1) transparent transparent;
    animation-fill-mode: forwards;
    animation-delay:2s;
    -webkit-animation-delay:1s; /* Safari and Chrome */
    -webkit-animation-fill-mode: forwards;
    z-index: 999;
	}

	p.speechBubble:after {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    right: 38px;
    top: 90px;
    border: 15px solid;
    border-color: #fff #fff transparent transparent;
    animation-fill-mode: forwards;
    animation-delay:2s;
    -webkit-animation-delay:1s; /* Safari and Chrome */
    -webkit-animation-fill-mode: forwards;
    z-index: 999;
	}



	.heroImage {
		margin: auto;
		margin-bottom: auto;
		margin-bottom: 50px;
		border: 0;
		width: 98%;
		max-width: 1300px;
	}



	
	/* ------ SLIDESHOW ------------ */
	
	#slideContainer {
		position: relative;
		display: block;
		margin: auto;
		margin-top: 20px;
		width: 100%;
		max-width: 1500px;
		height: 100%;
		max-height: 600px;
		text-align: center;
		background-color: #fff;
	}
	
	.slides {
	    padding: 0;
			width: 100%;
			max-width: 1500px;
			height: 100%;
			max-height: 600px;
	    display: block;
	    margin: 0 auto;
	    position: relative;
	}

	.slides * {
	    user-select: none;
	    -ms-user-select: none;
	    -moz-user-select: none;
	    -khtml-user-select: none;
	    -webkit-user-select: none;
	    -webkit-touch-callout: none;
	}

	.slides input { display: none; }

	.slide-container { display: block; }

	.slide {
    top: 0;
    opacity: 0;
		width: 100%;
		max-width: 1500px;
		height: 100%;
		max-height: 600px;
    display: block;
    position: absolute;

    transform: scale(0);

    transition: all .7s ease-in-out;
	}

	.slide img {
	    width: 100%;
	    height: 100%;
	}
	
	#slideContainer label {
		padding: 0;
	}
	
	.image-holder	{
		position: absolute;
		top: 0;
		left: 0;	
		width: 100%;
		height: 100%;
		background-image: url(/common/images/spacer.gif);
		background-size: cover;
		background-repeat: no-repeat;
	}
	
	.slideNav label {
	    width: 10vw;
	    height: 100%;
	    display: none;
	    position: absolute;
			padding: 0;
	    opacity: 0;
	    z-index: 9;
	    cursor: pointer;

	    transition: opacity .2s;

	    color: #FFF;
	    font-size: 15vw;
	    text-align: center;
	    line-height: 600px;
	    font-family: "Varela Round", sans-serif;
	    background-color: rgba(255, 255, 255, .3);
	    text-shadow: 0px 0px 15px rgb(119, 119, 119);
	}

	.slide:hover + .slideNav label { opacity: 0.5; }

	.slideNav label:hover { opacity: 1; }

	.slideNav .next { right: 0; }

	input:checked + .slide-container  .slide {
	    opacity: 1;

	    transform: scale(1);

	    transition: opacity 1s ease-in-out;
	}

	input:checked + .slide-container .slideNav label { display: block; }

	.slideNav-dots {
	    width: 100%;
	    bottom: 20px;
	    height: 11px;
	    display: block;
	    position: absolute;
	    text-align: center;
	    padding: 0;
	}

	.slideNav-dots .slideNav-dot {
	    top: -5px;
	    width: 11px;
	    height: 11px;
	    margin: 0 4px;
	    position: relative;
	    border-radius: 50%;
	    display: inline-block;
	    background-color: rgba(255, 255, 255, 0.6);
	}

	.slideNav-dots .slideNav-dot:hover {
	    cursor: pointer;
	    background-color: rgba(255, 255, 255, 0.8);
	}

	input#img-1:checked ~ .slideNav-dots label#img-dot-1,
	input#img-2:checked ~ .slideNav-dots label#img-dot-2,
	input#img-3:checked ~ .slideNav-dots label#img-dot-3,
	input#img-4:checked ~ .slideNav-dots label#img-dot-4,
	input#img-5:checked ~ .slideNav-dots label#img-dot-5,
	input#img-6:checked ~ .slideNav-dots label#img-dot-6,
	input#img-7:checked ~ .slideNav-dots label#img-dot-7 {
	    background: rgba(255, 255, 255, 0.8);
	}

	.bannerZone {
		position: absolute;
		display: none;
		
		/* --- center bottom --- */
		bottom: 100px;
		left: calc(50vw - 250px);
		
		/* --- top left --- */
		/* top: 30px; */
		/* right: 100px; */
		
		width: 500px;
		height: 100px;
		border-radius: 10px;
		background-color: rgba(255,255,255,0.5);
	}
	.slideBanner {
		position: absolute;
		top: 10px;
		left: 20px;
		font-size: 36px;
		font-weight: 800;
		letter-spacing: -2px;
		color: #333;
		/* text-shadow: 1px 1px 0px #fff; */
		text-align: left;
	}
	
	.slideTagline {
		position: absolute;
		top: 50px;
		left: 30px;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: -1px;
		color: #32465A;
		/* text-shadow: 1px 1px 0px #fff; */
		text-align: left;
	}


	#featureOverZone {
		position: absolute;
		top: 582px;
		left: 0;
		width: 100%;
		height: 500px;
		text-align: center;
		overflow: hidden;
	}

	.featureOver {
		position: relative;
		display: inline-block;
		margin: auto;
		margin-top: 0px;
		width: 300px;
		height: 500px;
		padding: 20px;
		text-align: left;
		background-color: rgba(255,255,255,0.5);
	}



