
*, ::after, ::before {padding: 0; margin: 0; box-sizing: border-box;}
html {font-size: 20px; scroll-behavior: smooth;}
body {font-size: 0.75rem; color: #000; font-family: "Source Sans Pro", helvetica, sans-serif; border-top: 0.5rem solid #9f002d;}


h1,h2,h3 {line-height: 1.1;}
h1, .slogan, .sidebar h3 {font-weight: 200; color: #9f002d; font-size: 1.7rem;}
h1 {margin-bottom: 1rem; font-weight: 400; padding-top: 0.5rem;}
h2 {font-size: 1.5rem; font-weight: 200; border-bottom: 1px solid #dddddd; margin-bottom: 1rem; color: black; text-transform: uppercase; padding-bottom: 0.25rem;}
a {text-decoration: none;}
h3 {font-size: 1.5rem; font-weight: 600; padding-bottom: 0.1rem;}
* + h3 {padding-top: 2rem;}

.main {width: 100%; max-width: calc(69rem + 4vw); margin: 0 auto; position: relative; padding: 0 1rem 0 1rem;} 
img {max-width: 100%;}
img.featured_image {width: 100%;}
.content p, .content ul, .content ol {margin-bottom: 1rem; margin-top: 1rem;}
.content ol {margin-left: 1rem;}
.content a {color: black;}
.content #primary a {text-decoration: underline;}
.content a {text-decoration: underline;}
.content li a {text-decoration-color: rgba(0,0,0,0.25);}
.content h2 a {text-decoration: none;}

hr {height: 1px; background: #dddddd; border: 0;}

.content .tabs ul:not(.image-gallery) li {background: url("/img/icon-192x192.png") left 0.3rem / 0.75rem auto no-repeat; list-style: none; padding-left: 1.4rem;}
.content .tabs > * {max-width: 45rem;}

.content h2 {margin-top: 4rem;}
.content .carousel + h2 {margin-top: 2.5rem;}
h2 + h3 {padding-top: 0;}

.header {display: flex; width: 100%; margin: 1.8rem 0 1.4rem;}
.header > div a {text-transform: uppercase; font-size: 0.7rem; text-decoration: none; color: black;}
.header > div a img {display: inline-block; vertical-align: middle; position: relative; bottom: 0.1rem; margin-top: -2rem; }
.header > div:nth-child(1) {position: absolute;}

/* .sidebartabs .more-link .. */
.sidebartabs .more-link > a {
background: url("/img/icon-192x192.png") left 0.1rem / 0.75rem auto no-repeat;
list-style: none;
padding-left: 1.4rem;
font-weight: bold;
margin-left: 40%;
text-transform: uppercase;
}

/* Navigation - menu **/
.navigation ul {display: flex; gap: 0rem 1.5rem; flex-wrap: wrap;}
.navigation li {list-style: none;}
.navigation .nav_ul > li.active:not(:first-child) > a {border-bottom: 1px solid black;}
.navigation .nav_ul > li:first-child a {color: transparent; background: url(/img/home.png) left center no-repeat;}
.navigation ul li > ul {position: absolute; flex-direction: column; background: white; z-index: 99; margin-left: -1rem; padding: 0.15rem 0; display: none; box-shadow: 0rem 0rem 1rem rgba(0,0,0,0.1);}
.navigation ul li:hover > ul {display: flex;}
.navigation ul li > ul > li > a {padding: 0.2rem 1rem; border-bottom: 1px dotted black; font-weight: 300;}
.navigation ul li > ul > li > a:hover {color: rgba(0,0,0,0.5);}
.navigation ul li > ul > li:last-child > a {border: 0;}

.navigation a {display: block; padding: 0.1rem 0; text-transform: uppercase; color: black; font-size: 0.8rem;}
.content + .navigation {margin-top: 5rem;}

#menu{line-height: 1.8em;position: relative;}
#menuF {align-items: center; display: flex; flex-flow: row wrap; gap: 0rem 3rem; margin-bottom: 1rem;}
@media (max-width: 600px) {
	#menuF {gap: 0.5rem 1.5rem;}
}

#togglemenu{display: none;}
.toggle{display: flex!important;}

.slogan {padding: 0rem 0rem 0.75rem 0rem; font-size: 1.7rem; display: none;}
.content {display: flex; gap: 3rem; min-width: auto;}
@media (max-width: 800px) {
	.content {flex-direction: column;}
}
.carousel {border-top: 5px solid #eda201;}
.primary {flex-grow: 1;}

.tabs {border-left: 1px solid #eda201; border-top: 5px solid #eda201; padding: 1.75rem 0rem 1.75rem 1.75rem; margin: 0rem 0; font-size: 0.9rem; font-weight: 300; line-height: 1.5;}
.tabs h1 + p, blockquote {font-size: 1.05rem; margin-bottom: 1.5rem; font-weight: 300; line-height: 1.4;}

.sidebar {width: 13rem; min-width: 13rem;}
.sidebar h2:first-child {margin-top: 0;}
@media (max-width: 800px) {
	.sidebar {width: 100%;}
}
 @media (max-width: 600px) {
	.tabs {border-left: 0; padding-left: 0; padding-top: 0.65rem;}
}
.sidebar h3 {text-transform: uppercase; color: black; font-size: 1.5rem; margin-bottom: 0.35rem; margin-top: 2rem;}


.sidebartabs {border-left: 1px solid #eda201; border-top: 5px solid #eda201; padding: 1rem 0 1rem 1rem; margin: 0 0 1rem;}
.sidebartabs ul {margin: 0 ;}
.sidebartabs ul li {
	margin: 0;
	padding: 0.5rem 0;
	background: url("/img/icon-192x192.png") left 0.7rem / 0.6rem auto no-repeat;
	list-style: none; 
	padding-left: 1.3rem;
	border-bottom: 1px dotted black;
}
.sidebartabs ul li a {text-decoration: none;}
.sidebartabs ul li a:hover {color: rgba(0,0,0,0.5)}
.sidebartabs ul li:first-child {margin-top: -0.5rem;}
.sidebartabs p {margin: 0 0 1rem;}
.sidebartabs a {text-decoration: underline;}
.sidebartabs a:hover {text-decoration: none;}

blockquote {font-style: italic; margin: 2.5rem 0; padding: 0 1.5rem; color: #eda201; font-weight: 400; max-width: 37rem!important;}
@media (max-width: 600px) {
	blockquote {border-left: 1px solid #eda201;}
}


.newsletter-contact {font-weight: 200; font-size: 1.15rem; text-align: center; margin-bottom: 3rem; color: black; margin-top: 3rem; padding: 2rem; background: rgba(0,0,0,0.05);}

.content ul.image-gallery {display: grid; grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); gap: 1.5rem; margin-left: 0!important; margin-bottom: 2rem!important;}
.content .tabs + ul.image-gallery {margin-top: 2.5rem;}
.content ul.image-gallery li {list-style: none;}
.content ul.image-gallery li a {text-align: center; text-decoration: none;}
.content ul.image-gallery li a img {width: 100%; display: block;}
.content ul.services_overview {display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.5rem; margin-left: 0!important;}
.content ul.services_overview li {padding: 0; background: none; position: relative; padding-bottom: 70%; border-bottom: 0.3rem solid #eda201; list-style: none;}
.content ul.services_overview li img {position: absolute; display: block; width: 100%; height: 100%; object-fit: cover;}
.content ul.services_overview li span {
    position: absolute; 
    bottom: 0; 
    display: block; 
    padding: 0.5rem; 
    color: white; 
    background: rgba(0,0,0,0.5); 
    width: 100%; 
    font-weight: 300; 
    font-size: 1.1rem; 
    text-transform: uppercase;
    font-style: normal;
}

.footer {
    color: white; 
    background: #9f002d; 
    padding: 0 1rem; 
    font-size: 0.6rem; 
    text-align: center; 
    margin-top: 0.6rem;
	line-height: 2.5;
}

.big-text {font-weight: 200; margin-top: 5rem;}
.button, input[type="submit"] {
	text-decoration: none;
	text-align: center;
	font-weight: 700;
	padding: 0.75rem 2rem;
	display: inline-block;
	border-radius: 0.25rem;
	background: #E77051;
	color: #fff;
	border: 0;
	transition: .15s background-color ease,.15s color ease;
	cursor: pointer;
	font-size: 1.05rem;
	text-decoration: none!important;
}



/* CONTACT FORM */
form > div {display: flex; margin-bottom: 0.5rem;}
form > div * {flex-grow: 1;}
form > div label:first-child {
	width: 8rem; 
	flex-grow: 0; 
	padding: 0.25rem 0; 
	font-size: 1.05rem; 
	font-weight: 300; 
	line-height: 1.4;
	min-width: 8rem;
}
form > div input[type="checkbox"] {margin-right: 0.25rem;}
form > div textarea {min-height: 5rem;}
form > div input, form > div textarea {border: 1px solid silver; font-size: 0.9rem; font-family: "Source Sans Pro", helvetica, sans-serif; padding: 0.25rem; line-height: 1.4;}
@media (max-width: 800px) {
	form > div {flex-direction: column;}
}


details > summary {
	padding: 12px 6px;
	background-color: #ddd;
	border: none;
	box-shadow: 3px 3px 4px black;
	cursor: pointer;
	margin-bottom: 9px;
}
details > summary::-webkit-details-marker {display: none;}

#chat {display: none;}
