
/* ### ALLGEMEIN ### */
* {
    box-sizing: border-box;
    outline: none;
}
.clearfix::after,
#main .mod_search form,
.legend .row::after {
    clear:both;
    display:table;
    content: '';
}
.clearboth {
    clear:both;
}
html {
    font:16px 'Roboto Condensed','Helvetica','Helvetica Neue',sans-serif;
    color:#405354;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a {
    color:#405354;
}
nav a,
.mod_newslist a,
.mod_eventlist a,
.back a,
.mod_breadcrumb a,
.mod_sitemap a,
.download-element a,
.ce_hyperlink a,
.ce_lmf_mediathek_documentlist li a,
.ce_call_to_action_button a {
    text-decoration:none;
}
p {
    line-height:1.6;
}

#main li {
    line-height:1.6;
}
.startseite .mod_newslist p,
.mod_eventlist p,
.bild-ueberschrift p {
    line-height:1.2;
}
a img {
    -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
    transition: /*opacity*/ filter 0.3s ease-in;
}
footer a img {
    -webkit-filter: none;
    filter: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}
h2 {
    font-size: 1.75em;
}
h1,
.startseite h2 {
    font-size:2.6667em;
}
.startseite h1 {
    margin-bottom: .25em;
    font-size: 2.8vw;
    width: 51vw;
}
.startseite h1,
.startseite h2 {
    text-align:center;
}

ul {
    padding-left: 1em;
}
textarea {
    display:block;
    resize: vertical;
}
strong {
    font-weight: 700;
}
label {
    cursor: pointer;
}
figcaption {
    font-size:.889em;
    line-height:1.2;
    font-style:italic;
}
#main a:hover img {
    -webkit-filter: grayscale(50%); /* Safari 6.0 - 9.0 */
    filter: grayscale(50%);
    transition: /*opacity*/ filter 0.3s ease-out;
}
label a:hover,
p a:hover,
h3 a:hover,
h2 a:hover {
    color:#008c96;
    transition: color 0.3s ease-out;
}
label a,
p a,
h3 a,
h2 a {
    transition: color 0.3s ease-in;
}
.w50 {
    width:50%;
    float:left;
}
.w25 {
    width:25%;
    float:left;
}
.margin-top-1em {
    margin-top:1em;
}
.ce_text {
    overflow:hidden;
}
.margin-top-3em {
    margin-top:3em;
}
.margin-bottom-1em {
    margin-bottom:1em;
}
.article_inside h1 {
    margin:0 0 0.5em;
}



#main .mod_article:nth-of-type(2n),
#main .mod_article.article-grey {
    background-color:#ecedee;
}
.article_inside {
    width:90%;
    max-width:1254px;
    margin:2rem auto;
    padding:0 1em;
    box-sizing: content-box;
}

.acc50 {
    width:50%;
    margin-bottom:.75em;
}
.acc50 h3 {
    margin:0;
}
.acc50 .accordion {
    padding-left:1em;
}




.check-datenschutz label {
    font-size:.889em;
}

.ce_form {
    overflow:visible;
    text-align:left;
}

.widget.error {
    position: relative;    
}
.widget-captcha.error {
    clear: both;
    margin-bottom: 1.5em;
}
.widget.error input,
.widget.error textarea {
    background-color: #fbe5e8;
    border: 1px solid #de2640;
}
p.error {
    color: #de2640;
    margin: 0;
    font-size: 0.875em;
}
p.error + :valid {
    border-color: transparent;
}

#main select {
    width:100%;
    position:relative;
    padding:.5em .75em;
    border:0;
    font-size: 1em;
    font-family:'Roboto Condensed','Helvetica','Helvetica Neue',sans-serif;
    color:#405354;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    cursor: pointer;
    z-index: 11;
    background-color: transparent;
}
.legend {
    font-size:.889em;
    font-weight: 400;
}
.kontaktformular fieldset legend {
    margin-bottom:1.5em;
}
form:invalid .widget-submit button {
    background-color: #9fa9a9;
    cursor: not-allowed;
    -webkit-box-shadow: none;
    box-shadow: none;
    
}
.kontaktformular fieldset {
    padding: 0;
}
fieldset.checkbox_container fieldset span,
fieldset.checkbox_container.chk-multi span {
    margin-bottom:1em;
}
.kontaktformular fieldset.woher,
.select.woher {
    background-color:#ecedee;
    border-radius:3px;
    width: calc(50% - 0.375em);
}
.widget-select {
    background-color:#ecedee;
    border-radius:3px;
}
.select-wrapper {
    position:relative;
    background-color:#fff;
    border-radius:3px;
}
.select-wrapper .select-icon {
    width:1.75em;
    height:100%;
    right:0;
    top:0;
    position:absolute;
    background:#008c96 url("/files/aci-laser/img/select.svg") center center no-repeat;
    border-top-right-radius:3px;
    border-bottom-right-radius:3px;
    z-index: 10;
}
.kontaktformular fieldset.woher input {
    background-color:#fff;
}
fieldset.woher {
    padding:.75em 1em;
}
.kontaktformular fieldset.woher > div.widget > label,
.kontaktformular fieldset.woher > div.widget > select,
.kontaktformular fieldset.woher > div.widget > input,
.widget-select > label,
.widget-select > .select-wrapper {
    width:50%;
    float:left;
}
.kontaktformular fieldset.produktliste fieldset {
    width: 33.333%;
    float: left;
    padding-right: 1em;
}
.kontaktformular fieldset.produktliste fieldset:nth-of-type(3n) {
    padding-right: 0;
}
.widget-select label,
.widget-text label {
    font-weight: 400;
}
.widget-select {
    padding:.75em 1em;
}
fieldset .widget-select {
    padding:0;
}
.widget {
    margin-bottom:.5em;
}
.widget-explanation.produkte {
    font-size:1.278em;
    font-weight: 700;
}
.kontaktformular fieldset.woher > div.widget {
    clear:both;
}
.kontaktformular .widget.widget-text label,
.widget.widget-textarea label,
form#support .widget-textarea label,
form#support .widget-text label,
fieldset#ctrl_40 legend {
    display: none;
}
.kontaktformular fieldset .widget.widget-text label {
    display: block;
}
.ce_form input:focus,
.mod_search input:focus,
textarea:focus {
    -webkit-box-shadow:0 0 0 1px #008c96;
    box-shadow:0 0 0 1px #008c96;
}
.w25 .w25 {
    width:100%;
}
form div.widget.w50:nth-of-type(2n + 1) {
    padding-left:.375em;
}
form div.widget.w50:nth-of-type(2n) {
    padding-right:.375em;
} 
form#support .widget-text.w50 {
    clear: both;
    padding: 0;
} 
form#support .widget-textarea,
form#support .widget-text {
    padding: 0;
    width: 50%;
}
form#support div.select.woher{
    width: 50%;
}


.check-datenschutz a {
    text-decoration:underline;
}

fieldset {
    margin:0;
    border:0;
}
input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=email],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input:not([type]),
textarea {
    padding:.5em .75em;
    background-color:#ecedee;
    -webkit-box-shadow:0 0 0 0;
    box-shadow:0 0 0 0;
    font-family:'Roboto Condensed','Helvetica','Helvetica Neue',sans-serif;
    color:#405354;
    border: none;
    font-size: inherit;
}


form button,
input[type=submit],
.button,
.back a,
p.ticketlink a,
.download-element a,
button.download,
.ce_lmf_mediathek_documentlist li a,
.ce_call_to_action_button a {
    padding:.75em 2em;
    background-color:#008c96;
    background-image:none;
    -webkit-box-shadow:0 2px 0 0 #19444F;
    box-shadow:0 2px 0 0 #19444F;
    border-radius:3px;
    font:1em 'Roboto Condensed','Helvetica','Helvetica Neue',sans-serif;
    color:#fff;
    border: none;
    transition: opacity 0.3s ease-out;
    cursor: pointer;
    display: inline-block;
}
form:focus-within input:invalid:not(:focus):placeholder-shown,
form:focus-within textarea:invalid:not(:focus):placeholder-shown {
    background-color: #fbe5e8;
}

input:invalid:not(:focus):not(:placeholder-shown),
textarea:invalid:not(:focus):not(:placeholder-shown)  {
    background-color: #fbe5e8;
    border: 1px solid #de2640;
} 
form:focus-within input:invalid ~ label,
form:focus-within input:invalid ~ .checkmark {
    color: #de2640;
    border-color: #de2640;
}

form button:hover,
input[type=submit]:hover,
form button:active, 
input[type=submit]:active, .button:active
.button:hover,
.back a:hover,
p.ticketlink a:hover,
.download-element a:hover,
button.download:hover,
.ce_call_to_action_button a:hover,
header .level_1 > li.kontakt > a:hover {
    color:#fff;
    background-color: #008c96;
    background-position: 0 0!important;
    opacity: 0.8;
    transition: opacity 0.3s ease-out;
}
input.submit:hover {
    opacity: 0.5;
    transition: opacity 0.3s ease-out;
}
.radio_container > span,
.checkbox_container > span,
.checkbox_container > fieldset > span {
    position:relative;
    display:block;
    line-height:1;
}
.radio_container > span .checkmark {
    width:1.111em;
    height:1.111em;
    left:0;
    top:0;
    position:absolute;
    background-color:#fff;
    border: 2px solid #9fa9a9;
    border-radius:50%;
    transition: background-color 0.3s ease-in;
}
.checkbox_container > span .checkmark,
fieldset.checkbox_container fieldset > span .checkmark{
    width:1em;
    height:1em;
    left:0;
    top:0;
    position:absolute;
    background-color:#fff;
    border: 2px solid #9fa9a9;
    border-radius:2px;
    transition: background-color 0.3s ease-in;
}

.radio_container input:checked ~ .checkmark {
    background: url("/files/aci-laser/img/radio-btn.svg") center center no-repeat;
    background-size: 60%;
    background-color: #fff;
}
.radio_container input:checked ~ .checkmark::after {
    opacity: 1;
    transition: opacity 0.3s ease-out;
}
.checkbox_container input:checked ~ .checkmark {
    background:#008c96 url("/files/aci-laser/img/checkmark.svg") center center no-repeat;
    border-color:#008c96;
}
.radio_container > span .checkmark:hover {
    background-color:#cfd4d4;
    transition: background-color 0.3s ease-out;
}
.radio_container > span .radio,
.checkbox_container > span .checkbox,
fieldset.checkbox_container fieldset span .checkbox {
    position:absolute;
    opacity: 0;
}
.radio_container > span label,
.checkbox_container > span label,
fieldset.checkbox_container fieldset span label {
    position:relative;
    padding-left:1.75em;
    z-index: 5;
}
.checkbox_container label {
    display:inline-block;
} 
.info-wrapper {
    position:relative;
}
.info-wrapper a {
    left:-2.5em;
    top:.55em;
    position:absolute;
    line-height:1;
    text-decoration:none;
}
.info-wrapper a .ti-info {
    padding:.25em;
    background-color:#008c96;
    border-radius:50%;
    color:#fff;
}

.widget.error input {
    background-color: #fbe5e8;
    box-shadow: 0 0 0 1px #de2640;
}
p.error {
    color: #de2640;
    margin: 0.5em 0;
    top: -2.5em
}

.ce_hyperlink {
    margin-bottom:1em;
}


/* ### Colorbox ### */
#cboxLoadedContent {
    border:0;
}
#cboxTitle {
    position: absolute;
    bottom: -32px;
    top: unset;
    color: #fff !important;
}
#colorbox {
    overflow:visible;
}
#cboxOverlay {
    /* width: 100vw; */
    background-color:rgba(0,0,0,.7);
}
#cboxClose::before {
    font:2.5rem 'themify';
    color:#fff;
    content: "\e646";
    cursor: pointer;
    transition: color 0.3s ease-in;
}
#cboxClose {
    right:5rem;
    top:5rem;
    position:fixed;
}
#cboxNext:hover::before,
#cboxPrevious:hover::before,
#cboxClose:hover::before,
#search .ti-close:hover::before,
#menu .ti-close:hover::before {
    color:#008c96;
    transition: color 0.3s ease-out;
}
#cboxContent {
    margin-top:0;
    background: transparent;
}
#cboxWrapper {
    overflow:visible;
}

#cboxLoadedContent {
    border-radius:3px;
}
#cboxLoadingGraphic {
    background-image:url("../img/loading.svg");
    background-position:center center;
    background-repeat:no-repeat;
    transform-origin: 50% 50%;
    animation: rotieren 1s linear infinite;
}
@keyframes rotieren {
    0%   {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
@-webkit-keyframes rotieren {
    0%   {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
#cboxPrevious::before {
    font:2.5rem 'themify';
    color:#fff;
    content: '\e64a';
    cursor: pointer;
    transition: color 0.3s ease-in;
}
#cboxNext::before {
    font:2.5rem 'themify';
    color:#fff;
    content: '\e649';
    cursor: pointer;
    transition: color 0.3s ease-in;
}
#cboxNext,
#cboxPrevious,
#cboxClose {
    width:auto;
    height:auto;
    background: none;
    text-indent: 0;
}
#cboxPrevious {
    left:-5em;
}
#cboxNext {
    right:-5em;
}











@media screen and (max-width: 600px) {

    h1 {
        font-size:1.75em;
    }

    .kontaktformular fieldset.woher > div.widget > label,
    .kontaktformular fieldset.woher > div.widget > select,
    .kontaktformular fieldset.woher > div.widget > input,
    .widget-select > label,
    .widget-select > .select-wrapper {
        width:100%;
    }

    .article_inside {
        margin: 2em auto;
    }
    .article_inside .last {
        padding-bottom: 1em;
    }

    .messetermine .mod_eventlist .wrapper {
        width: calc(100% - 120px);
    }
}





@media screen and (max-width: 438px) {

    #main,
    .ce_form .rueckruf,
    footer {
        font-size:.875em;
    }
    #header-wrapper,
    #breadcrumb .inside,
    #menu ul.level_1,
    .article_inside,
    footer .inside {
        width:100%;
        box-sizing: border-box;
    }
}











/* IE */

.ie9 #menu ul.level_2.menu-active,
.ie9 #search,
.ie10 #menu ul.level_2.menu-active,
.ie10 #search,
.ie11 #menu ul.level_2.menu-active,
.ie11 #search
 {
    background-color: #405354;
} 
@media screen and (max-width: 1023px) {
    .ie10 .menu-active#menu,
    .ie11 .menu-active#menu {
       background-color: #405354;     
    }
}

select::-ms-expand {
    display: none;
}

.ie #cboxNext:before,
.ie #cboxPrevious:before,
.ie #cboxClose:before {
    font-family: 'themify';
    font-size: 2.5rem;
}

.ie #cboxTitle {
    top: auto;
    color: #008c96;
}
.ie9 .mod_lmf_slider {
    z-index: 1;
}
.ie9 .select-wrapper .select-icon {
    display: none;
}
.ie9 .ce_laser .ce_lmf_slider_image_formatted_title,
.ie9 .ce_workstation .ce_lmf_slider_image_formatted_title,
.ie9 .ce_zubehoer .ce_lmf_slider_image_formatted_title,
.ie9 .slick-dots,
.ie9 .slick-prev,
.ie9 .slick-next {
    z-index: 1000;
}



/* Safari */


.safari input[type="search"] {
    -webkit-appearance: textfield;
}

.safari input[type="search"]::-webkit-search-decoration,
.ios input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
.ios input[type=text], 
.ios input[type=password], 
.ios input[type=date], 
.ios input[type=datetime], 
.ios input[type=email], 
.ios input[type=number], 
.ios input[type=search], 
.ios input[type=tel], 
.ios input[type=time], 
.ios input[type=url], 
.ios input:not([type]), 
.ios select, 
.ios textarea {
    font-size: 16px;
    -webkit-appearance: none;   
}










