 [data-banner]{
	top: 20%;
}

canvas{
	width: 100%;
	height: 500px;
}

#sp-cookie-banner{
	background-color: #2f7e5e;
	z-index: 101;
}

.sp-main-content-content h1{
	margin-top: calc(30px*1);
}

.sp-text-bold{
	font-weight: bold;
	color: #2f7e5e;
}

.cr-icon{
	font-size: 3rem;
	color: #2f7e5e;
}

.cr-wrapper{
	margin-top: 30px;
}

.cr-wrapper li{
	text-align: left;
}

.sp-map{
	margin: 0 calc(30px*2) 30px;
}

.invalid{
	color: red;
}

.sp-main-content-intro{
	padding: calc(30px*2) calc(30px*1);
	background-color: #fafafa;
}

.sp-slide-text-box{
	
}

.sp-dialog-header{
	background-color:#2f7e5e;
}
.sp-des-page{
	padding: 0 calc(30px*10);
}

.sphere-dialog .sp-des-page{
	padding: 0;
}

.sp-main-content-content ~ .sp-des-page{
	margin-top: calc(30px*3);
	margin-bottom: calc(30px*3);
}

.sp-main-content-content{
	padding: 90px calc(30px*5);
	padding-bottom: 0;
}

.sp-main-content-content:last-child{
	padding-bottom: calc(30px*3);
}

.slides, .slide {
	height: 100vh;
}

.slide img{
	height: 80vh;
}

.sp-slide-logo{
	width: 300px;
	height: auto !important;
	margin-right: 30px;
}

.sp-sitebar{
	position: fixed;
	width: 100%;
	box-sizing: border-box;
	z-index:3;
	background: linear-gradient( to right, #2f7e5e 0%, #2f7e5ecc 80%, #2f7e5ecc 90%, #2f7e5e 100% )
}

header{
	background-color: rgba(0,0,0,0.18);
	position: fixed;
	box-sizing: border-box;
	width: 100%;
	backdrop-filter: blur(12px);
	transition: background-color .5s ease-in-out,box-shadow .5s ease-in-out;
	top: calc(30px*1.5);
	z-index: 3;
}

.sp-content-image-top, .sp-content-image-top img{
	height: calc(30px*12);
}

.sp-content-text-top{
	top: 65%;
}

.sp-content-text-top-sub{
	top: 75%;
}

.sp-menu-item{
	color: #fff;
}

.fps-logo{
	font-size: 3rem;
	color: #fff;
	font-weight: bold;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
}

.sp-slide-title {
	padding: 15px;
	font-size: 8rem;
	text-transform: none;
	font-weight: bold;
	top: 40%;
}

.sp-slide-intro {
	font-size: 2rem;
	position: relative;
	top: unset;
	left: unset;
	transform: none;
	color: #909090;
	padding: 60px;
	text-shadow: none;
	transition:  all 0.5s ease;
	background: #fafafa;
	text-align: center;
	display: none;
	width: 100%;
}

.slide:not(.active){
	opacity: 0;
}

.slide.active *{
	opacity: 1;
}

.slide.active .sp-slide-intro{
	display: block;
}

.sp-article .slide.active .sp-slide-intro{
	display: flex;
}

.slide:not(.active) .sp-slide-intro,.slide:not(.active) .sp-slide-title, .slide:not(.active) .sp-slide-logo,  .slide:not(.active) img{
	opacity: 0;
}

.sp-main-content-box {
	width: 30%;
}

.sp-login-box{
	margin-top: calc(15px*8);
}

.sp-article{
	position: relative;
}

.sp-article-teaser-title{
	font-size: 1.5rem;
	margin-bottom: 15px;
}

.sp-article-teaser{
	padding-bottom: 0;
}

.sp-article-teaser-content {
	font-size: 1.3rem;
}

.sp-article-teaser-btn{
	margin: 15px 0;
}

.sp-article-title{
	font-size: 1.8rem;
	margin-bottom: 15px !important;
}

.sp-article-price{
	font-size: 1.6rem;
	backdrop-filter: blur(8px);
	padding: 15px;
	position: absolute;
	color: #fff;
	font-weight: bold;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
}

.sp-article-teaser-img, .sp-article-teaser-img img{
	height: 500px;
}

.sp-article-image img{
	height: 800px;
}

.sp-article-price {
	backdrop-filter: blur(20px);
	padding: 30px;
	width: 400px;
	box-sizing: border-box;
	box-shadow: 1px 1px 4px rgba(0,0,0,0.5);
	background-color: rgba(0,0,0,0.2);
}

.sp-article-content{
	font-size: 1.4rem;
	line-height: 1.8rem;
}

.sp-facilities, .sp-services{
	font-size: 1.3rem;
	color: #2f7e5e;
	font-weight: bold;
	margin-top: 15px;
}

.sp-facilities{
	margin: 0;
}

.sp-facilities{
	color: #fff;
	background-color: #2f7e5ecc;
	padding: 15px 0;
	backdrop-filter: blur(8px);
}

.sp-services{
	margin-top: 0;
}

.sp-services > div{
	width: 15%;
	padding: 15px;
}

.sp-services-title{
	font-size: 1.6rem;
	font-weight: bold;
	margin: 30px 0;
	color: #2f7e5e;
}

.sp-facility-icon{
	font-size: 2.8rem;
	margin-bottom: 5px;
}

.sp-margin-sl{
	margin-left: 5px;
}

.sp-article-btns{
	margin-top: 60px;
}

.sp-article .slides, .sp-article .slide, .sp-article .slide > img{
	height: 800px;
}

.sp-article .sp-slide-title{
	right: 20%;
	left: auto;
}

.sp-article .sp-slide-intro{
	top: auto;
	left: auto;
	width: 100%;
	bottom: 120px;
	transform: none;
	color: #fff;
	background-color: #2f7e5ecc;
	backdrop-filter: blur(8px);
	padding: 5px 0;
}

.fen-helper{
	margin-top: 5px
}

/* 
.sp-des-page {
  margin-top: calc(30px*5);
}
*/


@media (min-width: 360px) and (max-width: 1024px) {
	.sp-slide-logo{
		width: 100px;
	}
	
	.sp-menu-item {
		color: #fff;
		font-size: 0.8rem;
	}
	
	.sp-facilities > div, .sp-services > div{
		width: 50%;
		margin: 10px 0;
	}
	
	.sp-article-price {
		padding: 5px;
		right: 50%;
		transform: translateX(50%);
	}

	.sp-article-price {
		width: 80%;
		font-size: 1.2rem;
	}
	
	.sp-teaser-data .sp-article-teaser-content{
		width: 100%;
		margin: 0;
	}
	
	.sp-article-teaser-btn {
		margin: 15px 0;
		margin: 15px auto;
	}

	.sp-facilities, .sp-services {
		font-size: 1.1rem;
	}

	.sp-facility-icon {
		font-size: 2.2rem;
	}

	.sp-services > div{
		margin: 15px 0;
	}
	
	.sp-slide-intro-desc{
		width: 100%;
	}
	
	.fps-logo{
		font-size: 2rem;
	}
	
	header {
		padding: 5px;
	}
	
	header > * {
		margin-bottom: 5px;
	}
	
	.slide img{
		height: 70vh;
	}
	
	.sp-slide-after{
		height: 30vh;
	}
	
	.sp-slide-title {
		font-size: 1.8rem;
		left: 50%;
		transform: translate(-50%);
		padding: 5px;
		text-align: center;
		width: 80%;
	}
	
	.sp-slide-intro{
		padding: 15px;
		text-align: center;
		font-size: 1.2rem;
		width: 100%;
	}

	.sp-main-content-content h1 {
		font-size: 2rem;
		line-height: 2.2rem;
		margin-bottom: 5px;
	}

	.sp-main-content-content {
		padding: 15px 15px;
	}
	
	.sp-footer-content {
		margin: 5px;
	}

	.sp-footer-title {
		margin-bottom: 5px;
	}
	
	footer {
		padding: 15px;
	}
	
	.sp-sitebar {
		padding: 0 15px;
	}
	
	.sp-contact-box {
		margin: 30px 0;
	}

	.sp-map {
		margin: 0 15px 30px;
	}

	.sp-map > .sp-map-title {
		margin-top: 0;
		text-align: center;
		margin: top 0;
	}

	.sp-contacts {
		margin: 0px 15px;
		padding-top: 30px;
	}

	.sp-map > .sp-map-title {
		margin-bottom: 15px;
		padding-top: 0;
	}
	.sp-login-box{
		margin-top: calc(15px*8);
	}
	[data-banner]{
		top: 20% !important;
	}
	
	.sp-main-content-intro {
		padding: 15px;
	}

	.sp-main-content-box {
		margin: 30px 0;
		width: 100%;
	}
	
	.sp-article{
		padding: 15px;
	}	
	
	.sp-main-content-box {
		margin: 30px 0;
		width: 100%;
	}
	
	.sp-facility-icon {
		font-size: 0.8rem;
	}
	.sp-article .sp-slide-intro {
			font-size: 0.8rem;
	}
	
	.sp-facilities > div, .sp-services > div {
			width: 20%;
	}
	
	.sp-services > div {
			margin: 5px 0;
	}
	
	.sp-article .sp-slide-title {
		right: auto;
		left: 0%;
		top: 0;
		width: 100%;
	}

	.sp-article .sp-slide-title {
		transform: none;
		padding: 0;
	}

	.sp-article-price {
		line-height: 1.8rem;
		width: 100%;
		font-size: 1.1rem;
	}
	
	.sp-slide-title {
		top: 25%;
	}
	
}


@media (min-width: 1440px) and (max-width: 2560px) {
	
	.sp-facilities > div{
		width: 13%;
		font-size: 1.2rem;
	}
		
	.sp-facility-icon {
		font-size: 1.5rem;
	}
	
	.sp-services > div {
		margin: 5px 0;
		width: 13%;
		font-size: 1.2rem;
	}

	.sp-service-icon {
		font-size: 1.5rem;
	}
	
  .sp-article-price {
    line-height: 1.8rem;
    font-size: 1.1rem;
  }
  
	.sp-article .sp-slide-title{
		right: 25%;
	}
	
	
}


@media (min-width: 1025px) and (max-width: 1920px) {
	

	header {
		padding: 15px calc(30px*4);
	}
	
	.sp-slide-intro-desc{
		padding: [DEFAULT-UNIT];
	}

	.sp-main-content-content {
		padding: calc(30px*2) calc(30px*4);
	}

	.sp-content-text-top, .sp-content-text-top-sub {
		left: calc(30px*4);
	}

	.sp-slide-intro{
		font-size: 1.5rem;
	}
	
	.sp-article .sp-slide-intro h2{
		font-size: 1.8rem;
	}
	
	.h-map img{
		max-width: 25%;
	}

	.sp-sitebar > * > * {
		padding: 0 calc(30px*4);
	}

	.sp-article .sp-slide-intro {
		font-size: 0.8rem;
	}
	
	.sp-facilities > div{
		width: 13%;
		font-size: 1.2rem;
	}
		
	.sp-facility-icon {
		font-size: 1.5rem;
	}
	
	.sp-services > div {
		margin: 5px 0;
		width: 13%;
		font-size: 1.2rem;
	}

	.sp-service-icon {
		font-size: 1.5rem;
	}
	
	.sp-article .sp-slide-title {
		right: auto;
		left: 0%;
		top: 0;
		width: 100%;
	}

	.sp-article .sp-slide-title {
		transform: none;
		padding: 0;
	}
	
	.sp-article-price {
		line-height: 1.8rem;
		width: 100%;
		font-size: 1.1rem;
	}

	.sp-article {
		padding: calc(30px*1) calc(30px*4);
	}

	.sp-article .sp-slide-intro {
		font-size: 1rem;
	}

}

@media only screen and (min-device-width: 375px) and (max-device-width: 767px) {
	.sp-slide-title {
		top: 25%;
	}
	
	.sp-sitebar > * > * {
		font-size: 0.7rem;
	}
	
	.sp-menu {
		width: auto;
	}
	
	header{
		height: calc(15px*6);
	}
	
	.sp-login-box{
		margin-top: calc(15px*9);
	}
	
	.sp-main-content-intro {
		padding: 15px;
	}

	.sp-main-content-box {
		margin: 30px 0;
		width: 100%;
	}
	
	.sp-facility-icon {
		font-size: 0.8rem;
	}
	
	.sp-article	.sp-slide-intro {
		font-size: 0.8rem;
	}
		
	.sp-facilities > div, .sp-services > div {
		width: 30%;
	}
	
	.sp-services > div {
		margin: 5px 0;
	}
	

@media only screen and (min-device-width: 956px) and (max-device-width: 1470px) {

	.sp-margin-t {
		margin-top: 10px;
	}

	.sp-des-page {
		padding: 20px;
	}

.sp-flex-end {
  justify-content: center;
}

.sp-home-grid > *:nth-child(2) {
	flex-grow: 1;
	flex-basis: unset;
}
}

