/* Hero - CSS */
		
#wave-conainer
{	 
	overflow: hidden;
	display: grid;
	height: 95vh;
	width: 100%;
	
	grid-row: 1;
	grid-column: 1;
	z-index: 3;
}

/* - */

.wave-item
{				
	position: absolute;

	left: 0;

	width: 2048px;
	height: 256px;

	transform: scaleX(5);
}

.wave-item-b
{
	left: 10239px;
}

/* - */


/* - */

.anim-block-1
{
	display: grid;
	grid-row: 1;
	grid-column: 1;

	position: relative;
	align-self: end;

	animation: hero 40s infinite linear;

	height: 256px;		

	top: 32px;
}

/* - */

.anim-block-2
{
	display: grid;
	grid-row: 1;
	grid-column: 1;

	position: relative;
	align-self: end;

	animation: hero-2 30s infinite linear;

	height: 256px;				
}

/* - */

.anim-block-3
{
	display: grid;
	grid-row: 1;
	grid-column: 1;

	position: relative;
	align-self: end;

	animation: hero-3 20s infinite linear;

	height: 256px;				
}

/* - */



/* - */

.st0
{
	fill: #FFF;
}

.st1
{
	fill: rgba(255,255,255,0.66);	
}

/* - */



/* - */

@keyframes hero
{
	0%
	{
		left: 0;
	}

	100%
	{
		left: -10240px;
	}	
}

@keyframes hero-2
{
	0%
	{
		left: 1024px;
	}

	100%
	{
		left: -9216px;
	}	
}   

@keyframes hero-3
{
	0%
	{
		left: 2048px;
	}

	100%
	{
		left: -8192px;
	}	
}   

/* - */

#hero-container
{
	display: grid;
}

#hero
{
	display: grid;
	
	background: #444;
	
	/*background: #111;*/
	
	grid-row: 3;
	grid-column: 1;
	z-index: 3;
	
	overflow: hidden;
	height: calc( 100vh + 400px );
	
	margin-bottom: 5vh;
}


@media( min-width: 768px )
{
	#hero
	{
		grid-row: 1;
	}
}

/* - Sub page */

.hero-sub-page #wave-conainer
{
	height: 60vh!important;
}

.hero-sub-page
{
	height: 60vh!important;
}



/* - */


.hero-img
{	
	grid-row: 1;
	grid-column: 1;
	z-index: 1;
	width: 100%;
}

.hero-cover {
    grid-row: 1;
    grid-column: 1;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: url("../img/slides/slide-1m.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.25;
    display: grid;
    overflow: hidden;
}
@media(min-width: 992px) {
    .hero-cover {
        background-attachment: fixed;
    }
}
@media(min-width: 768px) {
    .hero-cover {
        background: url("../img/slides/slide-1.jpg");
        background-size: cover;
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    }
}


.hero-more h2
{
	color: #fff;
}

.hero-more
{
	justify-content: center;
	margin-top: -385px;
	z-index: 10;
	align-content: start;
}

.hero-more-chevron
{
	color: #fff;
	font-size: 32px;
	justify-self: center;
	margin-bottom: -40px;
}

.inner-curve
{
	margin-top: -445px;
	z-index: 5;
}

/* - */

.hero-content
{
	display: grid;
	
	width: 512px;
	grid-row: 1;
	grid-column: 1;
	z-index: 6;
	align-self: end;
	justify-self: center;
	
	margin-bottom: 0px;
	
	transition: all ease 1.5s;	
	
	opacity: 0;
	
	max-width: 80vw;
}

.hero-content a
{
	margin-top: 32px;
	margin-bottom: -2px;
	
	justify-self: center;
	color: #F41EFB!important;
	background-color: #fff;
	padding: 12px 16px;
	text-decoration: none;
	font-size: 18px;
	border-radius: 32px;	
	transition: all ease .3s;	
}

.hero-content a h4
{	
	color: #F41EFB!important;
}

.hero-content a:hover
{
	background-color: rgba(255,255,255,0.6);
	transform: scale(0.95);
}

.hero-line
{
	grid-row: 1;
	grid-column: 1;
	z-index: 6;
	width: 2px;
	height: 0px;
	background-color: #fff;
	
	align-self: end;
	justify-self: center;
	
	transition: height ease 1.5s;
}

/* - */

.hero-content p
{
	color: #fff;
	text-align: center;
	justify-self: center;
}

.hero-content h3
{
	color: #fff;
	letter-spacing: 2px;
	font-weight: 400;
	justify-self: center;
}

.hero-content h1
{
	color: #fff;
	letter-spacing: 4px;
	font-weight: 700;
	justify-self: center;
	margin: 4px 0 16px;
	font-size: 40px;
	text-align: center;
}

.hero-content h4
{
	color: #fff;
}





.hero-sub-page 
{
	height: calc(40vh + 400px ) !important;
}

.sub-hero-content
{				
	margin-bottom: 40vh!important;
}

.inner-curve
{				
	margin-top: -445px;
	z-index: 5;
}

.bottom-element
{
	padding-bottom: 33vw;
	margin-bottom: -25vw;
}











	
.half-circle-mask {
	position: relative;
	width: 100%;
	height: 25vw;
	overflow: hidden;
}

.half-circle-mask::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10vw;
    width: 120vw;
    height: 100%;
    background-size: cover;
    background-position: center;
    /*background-attachment: fixed;*/
    border-top-left-radius: 50% 100%;
    border-top-right-radius: 50% 100%;
    z-index: 10;
}
@media(min-width: 768px) {
    .half-circle-mask::before {
        background: url("../img/slides/slide-1.jpg");
        background-size: cover;
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    }
}

	
.half-circle-mask::after
{
	content: "";
	position: absolute;
	top: 0;
	left: -10vw;
	width: 120vw;
	height: 100%;
	
	background: #444;
	opacity: 0.8;
	
	border-top-left-radius: 50% 100%;
	border-top-right-radius: 50% 100%;
	z-index: 11;
}



	
	#footer
	{
		background-image: url("../img/slides/slide-1.jpg"); 
		background-size: cover;
		background-position: center;
		background-attachment: fixed;
	}
	
	#footer::after
	{
		content: "";
		
		background:  #F41EFB;
		opacity: 0.8;
		
		z-index: 11;
		
		grid-row: 1;		
		grid-column: 1;

		width: 100%;
	}
	
	/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
	
	@media( min-width: 768px )
	{
		#footer::after
		{
			grid-column: 1 / span 3;
		}
	}
	
	/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
	
	#footer .workspace {
    grid-row: 1;
    grid-column: 2;
    z-index: 12;
    width: 100%
}

@media(min-width: 768px) {
    #footer .workspace {
        grid-column: 2;
    }
}

@media(min-width: 1200px) {
    #footer .workspace {
        margin-top: -325px;
    }
}


	#footer .heading
	{
		justify-content: center;
		margin-bottom: 32px;
	}
	
	#footer h2, #footer h1 
	{
		color: #fff;
		/*color: color-mix(in lab,  #F41EFB 40%, #111 60%);*/
	}
		
@media(max-width: 768px) {
    .half-circle-mask::after {
        opacity: 1;
    }

    #footer {
        background: none;
        background-color: #357336; (primary colour)
    }
}

