/*---|| RESET CSS ||---*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline
}

body {
	line-height:1;
	overflow-x:hidden!important;
	color:var(--blue);
}

button {
	outline:0
}

ol,ul {
	list-style:none
}

blockquote,q{
	quotes:none
}

blockquote:before,blockquote:after,q:before,q:after{
	content:'';content:none
}

img {
	max-width:100%;
	height: auto;
}

q{
	display:inline;font-style:italic
}

q:before{
	content:'"';font-style:normal
}

q:after{
	content:'"';font-style:normal
}

textarea,.woocommerce form .form-row select, 
input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"], input[type="radio"],
.post-password-form input {
	-webkit-appearance:none;
	appearance:none;
	border-radius:0
}

table{
	border-collapse:collapse;
	border-spacing:0;
}

th,td{
	padding:2px
}

big{
	font-size:120%
	}
	
small,sup,sub{
	font-size:80%
}

sup{
	vertical-align:super
}

sub{
	vertical-align:sub
}

dd{
	margin-left:20px
}

kbd,tt{
	font-family:courier;
	font-size:12px
}

ins{
	text-decoration:underline
}

del,strike,s{
	text-decoration:line-through
}

dt{
	font-weight:bold
}

address, cite, var {
    font-style: normal!important;
}

address,cite,var{
	font-style:italic
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
	display:block
}

*{
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-webkit-tap-highlight-color:transparent
}

.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{
	clip:rect(1px, 1px, 1px, 1px);
	position:absolute !important
}

.hide-desktop, .tab-accordion .text, .no-nav #header, .no-nav .pum-trigger  {
	display:none;
}
/*-CLOSE-*/

/*---|| CSS-SCHRIFTART ||---*/

/* plus-jakarta-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  src: url('font/plus-jakarta-sans-v7-latin-500.eot'); /* IE9 Compat Modes */
  src: url('font/plus-jakarta-sans-v7-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('font/plus-jakarta-sans-v7-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('font/plus-jakarta-sans-v7-latin-500.woff') format('woff'), /* Modern Browsers */
       url('font/plus-jakarta-sans-v7-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('font/plus-jakarta-sans-v7-latin-500.svg#PlusJakartaSans') format('svg'); /* Legacy iOS */
}
/* plus-jakarta-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  src: url('font/plus-jakarta-sans-v7-latin-700.eot'); /* IE9 Compat Modes */
  src: url('font/plus-jakarta-sans-v7-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('font/plus-jakarta-sans-v7-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('font/plus-jakarta-sans-v7-latin-700.woff') format('woff'), /* Modern Browsers */
       url('font/plus-jakarta-sans-v7-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('font/plus-jakarta-sans-v7-latin-700.svg#PlusJakartaSans') format('svg'); /* Legacy iOS */
}
/*-CLOSE-*/


/*---|| DEFAULT WIDTH > 1680px ||---*/

:root {
--grey: #8ba3b7;
--grey-light: #e2e8ee;
--blue: #1a2f4f;
--font-small: 20px;
--font-standard: 25px;
--font-medium: 27px;
--font-big: 40px;
}

/*---|| ALLGEMEINE STYLING-ANGABEN ||---*/

h1, h2, h3, p, a, li, table, td, tr {
	font-family: 'Plus Jakarta Sans';
}

h1, h2, h3 {
	line-height:120%;
}

strong, h1, h2, h3 {
	font-weight:700;
}

h1 {
	font-size: var(--font-big);
	margin-top: 40px;
	margin-top:0;
}


h2 {
	font-size: var(--font-big);
}

h2.small {
	font-size:20px;
	margin-bottom: 40px;
	margin-top: 10px;
	color: var(--grey)!important;
	text-transform:uppercase;
	letter-spacing: 7.2px;
	line-height:150%;
}

h2.small br {
	display:none;
}

h3 {
	font-size: var(--font-medium);
	line-height:140%;
}

p, a {
	font-size: var(--font-standard);
	line-height:160%;
}

td {
	line-height:140%;
}

h3 + h3 {
	margin-bottom:35px;
}

h3.blue {
    background: var(--blue);
    color: white;
    padding: 12px 5px;
    letter-spacing: 5px;
    text-transform: uppercase;
    font-weight: 700!important;
    font-size: var(--font-small)!important;
}

.orange, .orange * {
	color: #f39869!important;
}

.orange.margin-bottom {
	margin-bottom:15px;
}

.wrap {
	flex-wrap: wrap;
}

p.light, p.light * {
	color: var(--grey)!important;
}

p.light.margin-right {
	margin-right:20px;
}

.small, .small p, .small h3, .small a, table td {
	font-size:  var(--font-small);
}

.small a {
	color:black;
	padding:0!important;
}

.small li li {
	list-style-type:disc;
	margin: 15px 0;
	line-height:160%;
}

.small li ul {
	padding-left:20px;
}

p.smaller {
    font-size: 16px;
    color: var(--grey);
    border-top: 2px solid var(--grey-light);
    padding-top: 10px;
}
.center {
	text-align:Center;
}

.left-align h1 {
    text-align: Center;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 5px;
    font-size: var(--font-medium);
}

.small h3 {
	margin-top:50px;
	margin-bottom:12px;
}

a {
	text-decoration:none;
}

.no-gap-bottom {
	margin-bottom:3px;
}

.gap {
	margin-bottom:20px;
}

.gap-top {
	margin-top:30px;
}

.gap-bottom {
	margin-bottom:30px;
} 

.dark-background {
	background: var(--blue);
}

.light-background {
	background: var(--grey-light);
}

.dark-background * {
	color:white;
}

.section {
	display:flex;
	justify-content: center;
	align-items:center;
	position:relative;
}

.section > div {
	flex:1 1 0;
}

.inner-container {
	max-width:1280px;
	padding: 100px;
}

.text-holder {
	position:absolute;
	background:white;
	padding:40px;
	box-shadow:0px 0px 10px 0px rgba(0,0,0,0.3);
	border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;
	left:100px;
	top:100px;
}

.text-holder p {
	line-height:140%;
}

.text-holder .button {
	background:var(--blue);
	color:white;
	padding:20px 30px;
	display:block;
	margin-top:40px;
	font-weight:700;
}

.text-holder .button:hover {
	background: var(--grey);
	color: white;
}

.text-holder .red {
	color: red;
	margin-top:20px;
}

.map-holder img, .map-holder picture {
	object-fit:cover;
	width:100%;
	height:100%;
	min-height:500px;
	margin-bottom:-7px;
}

.laser div.inner-container div p {
    flex-basis: calc(100% - 400px);
}

.laser div.inner-container div {
	display:flex;
	gap:60px;
	margin-top: 100px;
}

.laser picture {
	flex-basis: 400px;
	margin-bottom:-105px;
}

.laser .logo-intros {
	margin: 40px auto 40px;
    display: block;
}

div.icon {
	display:flex;
	align-items:center;
	margin-bottom:15px;
}

a, a:hover, img, .button, table td {
	transition: all ease-in-out 0.5s;
	-webkit-transition: all ease-in-out 0.5s;
	-moz-transition: all ease-in-out 0.5s;
}

a:hover {
	color: var(--grey);
}

.right a:hover {
	padding-left:5px;
}

.icon:hover img {
	width:30px;
}

img.icon {
	width: 24px;
	height:auto;
	margin-right:20px;
}

.button.instagram {
	background: #db3790 url(images/verlauf.webp) center center no-repeat!important;
	background-size:cover!important;
}

.button.whatsapp {
	background: #00d46c!important;
}

.button.google {
	background: #4285f4!important;
}

.button.instagram:hover {
	opacity:0.5;
}

img.logo {
    width: 100%;
    height: 100%;
    max-width: 450px;
    display: block;
	margin-top:50px;
	margin-bottom:-20px;
	margin-left:auto;
	margin-right:auto;
	padding: 0 30px;
}

.home img.logo {
    margin: -50px auto 0;
	max-width: 700px;
}

.button, .button a  {
	border-radius:5px;
	border-radius:5px;
	overflow:hidden;
	font-size: 20px;
    letter-spacing: 5px;
	text-transform: uppercase;
	text-align:Center;
}

.button {
	display: table;
    margin: 100px auto 0;
}

.button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	color:white;
	border:none;
	padding: 20px 30px!important;
}

.button.border a {
    border: 2px solid var(--grey);
	width:100%;
}

.button.border:hover a {
	opacity:0.5;
}

.button.border {
    margin: 50px 0 00;
}

#footer .inner-container {
	display: flex;
    width: 100%;
    justify-content: center;
	padding: 30px;
	margin:0 auto;
}

#footer a, #footer p {
	font-size:var(--font-small);
	margin: 0 10px;
	padding:0!important;
}

.section.map-holder {
    min-height: 500px;
}

.location br {
	display:none;
}

.columns {
	display:flex;
	flex:1 1 0;
	gap:80px;
	justify-content: center;
	margin-top:50px;
	flex-wrap:wrap;
}

.columns.price {
	flex-wrap:wrap;
}

.columns > div {
	text-align:center;
}

.columns.price > div {
	max-width: 500px;
    width: 100%;
}

.columns .icon {
	height:100px;
	width:100px;
	margin-right:0;
}

.columns h3 {
	font-size: var(--font-standard);
	margin-top:15px;
	font-weight: 500;
}

#wrapper {
    min-height: calc(100vh - 90px);
    display: flex;
    flex-direction: column;
}

table {
	width:100%;
}

table td:first-child {
	text-align:left;
	padding-right:15px;
}

table td:last-child {
	text-align:right;
	padding-left:15px;
	font-weight:700;
}

table tr:hover td {
	background: var(--grey-light);
}

table tr:first-child td {
	border-top:0;
}

table td {
    padding: 15px 10px;
    border-top: 2px solid var(--grey-light);
	cursor:default!Important;
}

.linktree {
	flex-direction:column;
	padding: 0 30px;
}

.linktree .button a {
    letter-spacing: 0;
    text-transform: none;
}

.linktree .button:not(:first-child) {
	margin-top:20px;
}

.linktree .button {
	background: var(--blue);
    width: 100%;
    max-width: 400px;
    text-align: center;
}

.linktree .button:hover {
	opacity:0.7;
}



/*-CLOSE-*/

/*-CLOSE-*/

/*---|| MAX-WIDTH = 1680px ||---*/
@media screen and (max-width:1680px) {
:root {
    --font-big: 37px;
}

h2.small {
    letter-spacing: 5.5px;
}

.inner-container {
    padding: 80px;
}


}
/*-CLOSE-*/

/*---|| MAX-WIDTH = 1440px ||---*/
@media screen and (max-width:1440px) {
.section {
    display: block;
}

img.logo {
	max-width:360px;
}

#wrapper > .section .inner-container {
	position:relative;
	max-width:100%;
}

#wrapper > .section .left.inner-container {
	padding-bottom:0;
}

#wrapper > .section .right.inner-container > div:first-child {
	text-align:Center;
	margin-top:40px;
}

h3 + h3 {
    margin-bottom: 15px;
}

#wrapper > .section .right.inner-container > div {
    display: table;
    text-align: left;
    margin: 0 auto;
	width: 100%;
    max-width: 430px;
}

#wrapper > .section .left {
	z-index:2;
	margin-bottom:-33px;
}

.button.instagram {
    margin-top: 80px;
}

.text-holder {
    top: 80px;
    left: 80px;
}

.columns {
	padding:0 35px;
}

.button.border {
    margin: 40px auto 0!important;
}

.button.border span {
    display: none;
}

}

/*-CLOSE-*/

/*---|| MAX-WIDTH = 1024px ||---*/
@media screen and (max-width:1024px) {
	.columns {
		gap:50px;
		padding: 0;
	}
	
	.columns > div:has(table), table {
		width: 100%;
		max-width: 500px;
	}
	
	.laser picture {
		flex-basis: auto;
		margin-bottom: 0;
		order: 2;
	}
	
	.laser div.inner-container div {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-top: 40px;
		gap:40px;		
	}
	
	.laser p {
		text-align:left;
	}
	
}
/*-CLOSE-*/

/*---|| MAX-WIDTH = 700px ||---*/
@media screen and (max-width:700px) {
.inner-container, .text-holder {
    padding: 50px;
}

	
.laser div.inner-container div {
	margin-bottom: -60px;
}

.home img.logo {
    margin: -10px auto 0;
}

img.logo {
	margin-bottom:20px;
}

.button.instagram {
    width: 100%;
    text-align: center;
}

.text-holder {
    position: relative;
    left: 0;
    top: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: center;
	order:2;
}

.button.border {
    margin: 40px auto 25px!important;
}

.section.map-holder {
    display: flex;
    flex-direction: column;
}

.columns {
	padding:0;
}

.columns h3 {
	margin-top:10px;
}

table td:first-child {
    padding-right: 5px;
}

table td:last-child {
    padding-left: 5px;
	white-space:nowrap;
}

}
/*-CLOSE-*/

/*---|| MAX-WIDTH = 600px ||---*/
@media screen and (max-width:600px) {
.button.instagram span {
	display:none;
}

.button.instagram {
	margin-top: 70px;
}

.inner-container, .text-holder {
    padding: 40px;
}


h2.small br, h1 span {
	display:Block;
}

h1 span {
    font-size: 25px;
    margin-top: -5px;
}
}
/*-CLOSE-*/

/*---|| MAX-WIDTH = 500px ||---*/
@media screen and (max-width:500px) {
:root {
    --font-big: 30px;
	--font-medium: 22px;
	--font-standard: 20px;
	--font-small: 15px;
}

h3 + h3 {
    margin-bottom: 5px;
}

h2.small {
    letter-spacing: 5px;
    margin-bottom: 25px;
    margin-top: 25px;
}

h1 span {
	margin-top:0;
}

.button a {
    padding: 15px 20px!important;
    font-size: 15px;
    font-weight: 700;
}

.button.instagram {
    margin-top: 50px;
}

.inner-container, .text-holder {
    padding: 50px 30px;
}
#wrapper > .section .right.inner-container > div {
    text-align: left;
    margin: 0;
}

#wrapper > .section .right.inner-container > div:first-child {
    text-align: left;
}

.location br {
	display:inline;
}

div.location {
	margin-bottom:20px!important;
}

.location span {
	display:none;
}

.gap-top {
    margin-top: 20px;
}

div.icon {
    display: flex;
    align-items: center;
}

#footer .inner-container {
    flex-direction: column;
    text-align: center;
}

#footer a, #footer p {
    margin: 10px 0!Important;
}

table td {
    display: block;
    text-align: center!important;
    width: 100%;
}

table td:first-child {
    padding-right: 10px;
    padding-bottom: 0;
	padding-top:20px;
}

table td:last-child {
    border-top: 0;
    padding-top: 5px;
    padding-bottom: 20px;
}

.button, .button a {
    font-size: var(--font-small);
    letter-spacing: 3px;
}

.text-holder .button {
	padding:15px;
}

.linktree .button:first-child {
    margin-top: 50px;
}

.button.border {
    margin: 20px auto 0px!important;
    width: 100%!important;
    max-width: 100%!important;
}

.button.border a {
    width: 100%; 
}

}
/*-CLOSE-*/

/*---|| MAX-WIDTH = 400px ||---*/
@media screen and (max-width:400px) {
	.linktree .button span {
		display:none;
	}
	
	.linktree .button:not(:first-child) {
		margin-top:10px;
	}
	
	.linktree .button img {
		margin-right:10px;
	}
	
}
/*-CLOSE-*/