/* cmsms stylesheet: mainsol-bw modified: Mittwoch, 17. September 2025 09:35:39 */
@import url("/fonts/font.css");    
* {
margin : 0;
padding : 0;
}
html, body {
font-family : 'Ubuntu';
line-height : 150%;
color: #444545;
font-size : 93%;
width : 100%;
max-width : 100%;
background : none;
}
p {margin-bottom: 1em;}

.top-container {
  background-color: #fff;
  padding: 1em 0 0 0;
  text-align: center;
}

.top-container img {width: 14em;}

.autor {
position : absolute;
bottom : 2em;
right : 2em;
font-size : 80%;
}
.autor a {
color : #fff;
}
.noshadow {
width: 80% !important;
}
.smallink {
font-size : 80%;
}
.skiplink{
position:absolute;
top:-9999px;
left:-9999px;
font-size:0;
line-height:0;
}
.termin {
background : #f39200;
padding : 2em;
width : 100%;
color : #fff;
}
.tdli {
padding-right : 1em;
}
.logo {
margin: 1em 0 0.8em;
}
.menuright {
position: absolute;
right: 5%;
top: 4.5em;
}
.menuright ul {
padding : 0;
margin : 0;
list-style-type : none;
}

.menuright li {
width : 2em;
float : right;
margin-left : 1.5em;
text-align : center;
padding-top : 0.3em;
}
.menuright img {
width : 100% !important;

}
.mleft {
position : absolute;
top: 5em;
left : 5%;
letter-spacing : 0.05em;
text-transform: uppercase;
}

.box {
background : rgba(255,255,255,0.9);
display : none;
padding : 2em;
color : #fff;
position : absolute !important ;
top : 1.5em;
right : 0;
z-index : 2004;
text-align : left;
width : 30%;
animation-duration : 0.5s;
animation-name : opa;
box-shadow : 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgbA(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11);
border-radius : 2px;
}
.box a {
color : #000;
padding : 0.3em;
display : block;
width : 100%;
height : 1em;
}
.box:target {
outline : none;
display : block;
}
@keyframes opa {
from {
opacity : 0;
}
to {
opacity : 0.9;
}
}
.oben {
position : fixed;
right : 0;
bottom : 1em;
z-index : 100;
width : 2em;
}
.oben img {
width : 100%;
height : auto;
}

.cont {
width : 70%;
min-height : 18em;
margin : 0 auto;
padding : 3em 0 5em 0;
}
.news {
padding : 2em;
margin-bottom : 2em;
background : #f3f2ee;
}
.news h3 {
font-size : 150% !important ;
}
.thumb {
display : inline;
width : 100% !important ;
}
#thumblist {
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
padding : 0;
}
.closeall {
position : absolute;
width : 100%;
height : 100%;
display : block;
z-index : 102 !important ;
}
.previous {
position : absolute;
left : 4em;
top : 2em;
width : 2.5em !important ;
z-index : 150 !important ;
}
.next {
display : block;
position : absolute;
left : 8em;
top : 2em;
width : 2.5em !important ;
z-index : 150 !important ;
}
.exit {
display : block;
position : absolute;
top : 2em;
right : 4em;
width : 2.5em !important ;
z-index : 150 !important ;
}
.cont h3 {
font-size : 125%;
margin : 1em 0 0.5em 0.75em;
}
.cont ul {
margin : 0 0 0 2em;
}
@keyframes fadeIn {
from {
opacity : 0;
transform : translate3d(0,3%,0);
}
to {
opacity : 1;
transform : translate3d(0,0,0);
}
}
.fadeIn {
animation-name : fadeIn;
animation-duration : 1s;
}
ul {
margin : 5% 0 0 5%;
}
a {
text-decoration : none;
color : #8ea695;
}
h2, .cont h1 {

display : block;
margin-bottom : 1em;
text-align : center;
font-size : 180%;
line-height : 120%;
font-weight : bold;
letter-spacing : 0.05em;
text-transform: uppercase;
}

.hidden {
opacity : 0;
}
.visible {
opacity : 1;
}


.slide {
width : 100%;
height : 100%;
min-height : 100%;
margin : 0 auto;
position : relative;
overflow : hidden;
top : 0;
left : 0;
pointer-events : none !important ;
}
.slide ul {
position : relative;
margin : 0 auto;
height : 100%;
min-height : 100%;
}
.slide ul li {
width : 100%;
list-style : none;
position : absolute;
z-index : 1000000;
height : 100%;
top : 0;
left : 0;
}

.parallax {
width : 100%;
height : 25em;
background-position : center center !important ;
background-repeat : no-repeat;
background-attachment : scroll;
background-size : cover !important ;
margin-bottom : 2em;
}
.parasmall {
height :20% !important ;
}
.parallax h1, .title span {
position: absolute;
letter-spacing : 0.05em;
text-transform: uppercase;
color: #fff;
width: 100%;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
padding-top: 2em;
line-height: 150%;
font-size: 300%;
font-weight: bold;
}


.anker {
display : block;
position : relative;
top : -8em;
visibility : hidden;
}
.bigwrap {
padding : 1em 0 1em 0;
}
.bigwrap a {color: #969797;}
.dark {
background-image: url(https://c-mainsol.de/uploads/images/logo-back.png);
background-repeat : no-repeat;
background-color : #eff0ee;
background-position: 10% 0.5em; 
}


.mitte {
clear : both;
width : 100%;
overflow : hidden;
hyphens: auto;
}


h3 {
font-size : 115%;
margin : 0.9em 0 0.3em;
}
.bigh3 {
text-transform: uppercase;
font-size: 150%;
letter-spacing: 1px;
font-weight : bold;
margin-bottom: 1em; 
}

.mitte img {
width : 100%;
height : auto;
}
@media screen {
#menu-mob, .mob {
display : none;
}
}

.center {
margin : 0 auto;
text-align : left;
width : 85%;
max-width: 1440px;
padding : 2% 0 2% 0;
font-size: 120%;
line-height: 150%;
}
.sub {
padding : 0 !important ;
margin: 0;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
list-style-type : none;
font-size: 90%;
}

.sub li {
float : left;
margin-right : 0.5em;
}
.sub a {
color : #626566;
padding-left : 0.5em;
letter-spacing : 0.05em;
}

h1 {
display : inline;
margin-bottom : 1em;
font-size : 200%;

}
.headcenter {
width : 80%;
position : relative;
height : 90%;
}


.pic {
display : block;
float : left;
width : 27%;
margin : 0 3em 2em 0;
display : inline-block;
vertical-align : middle;
letter-spacing : 0.05em;
text-transform: uppercase;
color: #444545 !important;
}
.pic img {
object-fit: cover;
height: 12em;}
.lightbox2 .pic {
width : 22%;
float : none;
margin-bottom : 0;
margin-left : 3em;
}
.lightbox2 {
position : fixed;
display : block;
overflow : hidden;
z-index : 101;
width : 100%;
min-height : 100% !important ;
height : auto !important ;
height : 100% !important ;
overflow-y : scroll;
top : 0;
left : 0;
background : rgba(0,0,0,0.8);
opacity : 0;
pointer-events : none;
text-align : center !important ;
transition : all 0.3s;
scrollbar-width : none;
}
.lightbox2::-webkit-scrollbar {
display : none;
}
.lightbox2 img {
margin-top : 2em;
float : left;
}
.lightbox2:target {
opacity : 1;
pointer-events : auto;
}
.description {
position : relative;
z-index : 150 !important ;
width : 70%;
max-width : 800px;
min-height : 30em;
margin-left : auto;
margin-right : auto;
margin-top : 1em;
margin-bottom : 3em;
padding : 6em 5em;
background : #fff;
text-align : left;
}
.description ul {
margin-bottom : 1em !important ;
}
.center li {
margin-bottom: 0.25em;
}
.teampic {
float : right !important;
width : 25% !important;
margin : 0 0 1em 1em !important;
}

.description h3 {
font-size : 130%;
}
.menu  {
background: #444545;
width : 100%;
letter-spacing : 0.05em;
word-spacing: -0.15em;
text-transform: uppercase;
position: relative;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1000;

display : flex;
flex-wrap : wrap;
justify-content : center;
text-align : center; 
overflow: hidden;
}
.menu ul {
list-style-type : none;
list-style-image : none !important ;
text-align : center;
padding: 0.8em 0 0.8em 0;
margin: 0;
}
.menu li {
float : left;
list-style-type : none;
text-align : center;
}
.menu a {

display : block;
margin-right : 1em;
font-weight : normal;
color: #fff;
font-size : 105%;
transition : color 1s ease, font-size 1s ease;
}
.menu a:hover {
font-size : 97%;
font-weight: bold;
}
.menu a.currentpage, .menu a.activeparent {
font-size : 97%;
font-weight: bold;
text-decoration: underline;
}

.li-text {
float : left;
width : 45%;
margin-bottom : 1.5em;
hyphens: auto;
}
.re-text img {
float : right;
box-shadow : 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11);
border-radius : 2px;
}
figure, .rightpic  {
float : right;
width : 48% !important ;
margin : 0 0.5em 1.5em 1.5em;

}


figure img {

filter: grayscale(100%);
}
figcaption {
font-size: 95%;
font-style: italic;
text-align: center;
padding: 0.6em;
color: gray;
line-height: 105%;
}
.dark figcaption {
color: #000 !important;}

.li-text img, .rightpic, figure img {
box-shadow : 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11);
border-radius : 2px;
}
.li-text img, .re-text img {
width : 100%;
height : auto;
border : #f3f2ee solid 4px;
margin-bottom : 0.5em;
}
.re-text {
float : right;
width : 42%;
margin-left : 3%;
margin-bottom : 1em;
hyphens: auto;
}
.re-text ul, .li-text ul, .mitte ul {
margin : 0.5em 0 0.5em 1em;
}
a.more {
display : inline-block;
background : #707172;
color: #fff !important;
text-align : center;
font-weight : normal;
text-transform : uppercase;
letter-spacing : 2px;
padding : 0.7em 1em 0.5em 1em;
font-size : 110%;
margin-bottom : 15px;
}
.thumblist {
overflow : hidden;
width : 100%;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
min-height : 100%;
z-index : 10;
}
footer {
font-size : 90%;
background : #525254;
color : #dfe0e0;
}
footer ul {
margin: 0;
padding: 0;
list-style-type: none;}
footer li {
margin: 0 !important;
padding: 0;}
.foo {
margin-bottom : 0 !important ;
}
footer a {
color : #dfe0e0;
}
.foot {
float : left;
margin-right : 9em;
margin-bottom : 2em;
}
.shariff {
width : 20em;
}
.share {
width : 100% !important ;
text-align : center;
display : flex;
flex-wrap : wrap;
}
.required {
float : left;
width : 45%;
margin-right : 4%;
}
label {
float : left !important ;
display : block;
margin-bottom : 0.5em;
}
input, textarea, select {
width : 100%;
margin-bottom : 0.5em;
border: 1px solid #aecddd;
padding-left : 0.3em;
height : 1.5em;
font-size : 100%;
box-sizing : content-box;
font-family : 'ubuntu';
}
textarea {
height : 6em;
clear : both !important ;
float : none;
}
.cms_checkbox {
width : 1em;
clear : both;
float : left;
margin-right : 0.5em;
margin-bottom : 0;
}
.cms_submit {
width : 60%;
height : 2em;
color : #fff;
border: none !important;
}
.cms_submit.fbsubmit, .search-button {
background : #707172;
color : #fff;
font-size : 100%;
}
.search-button {
font-size : 100%;
}
.search-input {
border: 1px solid silver;}
.kontakt .required {
float : none !important ;
width : 100% !important ;
}
.captcha {
width : 45%;
clear : both;
float : none;
}
.captcha img {
clear : both;
box-shadow : none !important ;
width : 40% !important ;
height : auto !important ;
float : none;
margin : 0.5em 0 0.5em 0;
filter: grayscale(100%);
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: url(desaturate.svg#greyscale);
filter: gray;
-webkit-filter: grayscale(1);
border: 2px solid silver;
}
.kontakt .captcha {
width : 100%;
float : none !important ;
}
.confirm, .error_message {
position : absolute !important;
background : rgba(255,255,255,0.95);
padding :2%;
top : -0.4em;
left : 5%;
border : solid 1px;
max-width: 80%;
z-index : 10000;
box-shadow : 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11);
}
@media screen and (max-width: 53em) {
html, body {
min-height: 100% !important;
height: 100% !important;
}
.parallax {
background-attachment : scroll !important;
background-position : center center !important;
height: 40% !important;
}

.description {
width : 70% !important ;
max-width : 70% !important ;
}
.center {
width : 90% !important ;
}
.menu {
display : none;
}
.top-container img {width: 10em;}
.mleft {

top: 0.5em

} 
.logo {margin-top: 2em;}

.menuright {
top: 0;
}
.menuright li {
width: 1.5em;
margin-left: 0.5em;
}

#res-call {
position : relative;
z-index : 1000;
}
#mobsearch {
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
}
.mobinpt {
width : 10em;
}
.noshadow {
width: 95% !important;
}



.sm {
width : 36% !important ;
}
#menu-mob {
display : block;
position : fixed;
top : 10%;
right : 1.6em;
width : 0.5em !important ;
z-index: 1000;
}
.sidenav {
display : block;
height : 100%;
width : 0;
position : fixed !important ;
z-index : 999999 !important ;
top : 0;
left : 0;
 background: #444545;
overflow-x : hidden !important ;
transition : 0.5s;
padding-top : 60px;
margin-bottom : 60px;
}
.sidenav a {
padding : 8px 8px 8px 32px;
text-decoration : none;
font-size : 120%;
color : #fff;
display : block;
transition : 0.3s;
}
.sidenav a:hover, .offcanvas a:focus {
background : none;
}
.sidenav .closebtn {
position : absolute !important ;
top : 0.5em;
right : 25px;
font-size : 36px;
margin-left : 50px;
}
#menu-mob ul {
list-style-type : none;
margin-bottom : 5%;
float : none;
}
#menu-mob li {
float : none;
margin : 0;
}
#menu-mob img {
width : 2.5em;
margin-top : -1em;
float : left;
}
.pic {
width: 40%;
}

footer {
padding-bottom : 2.5em !important ;
}
.foot {
float : none !important ;
}
}
@media screen and (max-width: 700px) {
.parallax h1, .title span {
font-size : 6vw;
}
.rightpic, figure {
float : none !important ;
width : 95% !important ;
margin : 0 0 1.5em 0;
}
.box {
right: 5%;
width: 80%;}
.teampic {
width : 35% !important;
}
label, .own, .required, input, cms_select, .captcha {
width : 100%;
}
.chk label {
width : 80%;
}
.li-text img, .re-text img {
margin : 1em 0 1em 0;
}
.center {
width : 80% !important ;
}
.li-text, .re-text {
width : 100%;
float : none;
margin : 0 0 0.3em 0;
}
.thumblist {
overflow : visible !important ;
}
.pic {
width : 80% !important ;
}
.sm {
width : 86% !important ;
}
.back img {
width : 70%;
text-align : left;
}
}
@media screen and (max-width: 450px) {

.cont h1 {
font-size : 140% !important ;
}


h2 {font-size: 140% !important;}
.pic {
width : 60% !important ;
margin-right : 0 !important ;
float: none !important;
}
.teampic {width: 100% !important;}
}



@media screen and (min-width: 1440px) {
html, body {
font-size: 98%;}
}
