/****  General ****/
body{
    margin: 0;
    padding: 0;
    font-family: 'RotisSansSerif', Arial, Helvetica, sans-serif;
    font-size: 100%;
    line-height: 114.8%;
    color: #5d5d5d;
    background-color:#fff;
}

.mainInset{
    padding: 0 2rem 0 2rem;
}

h1,h2,h3,h4,h5,h6{
    font-family: "RotisSansSerif"!important;
    font-weight: 400!important;
    line-height: 1.24;
    margin-bottom: 0;
}
h1{
    font-size: 2.45rem; 
}
h1 + p{
    margin-top: 1.2rem;
}
h2{
    font-size: 1.6rem;
}
h2 + p{
    margin-top: .45rem;
}
h1 + h2, p + h2{
    margin-top: 1.45rem;
}
h2 span{
    font-size: 1.6rem;
    font-weight: 400;
}
h3
{
    font-size: 1.5rem;
}
h3 + p, h3 + ul{
    margin-top: .5rem;
}
p + h3, ul + h3{
    margin-top: 1.5rem;
}
p, a, li, ul, span, input, select, textarea{
    font-size: 1.2rem;
    line-height: 1.3;
    font-family: 'RotisSansSerif', Arial, Helvetica, sans-serif;
    font-weight: 400;
}
b, strong{
    font-weight: 600;
    font-family: 'RotisSansSerif', Arial, Helvetica, sans-serif;
}
p a{  
    opacity: 0.6;
}
a, a:focus, a:visited{
    color: #5d5d5d;
    transition: color 0.5s ease-in-out, opacity  0.5s ease-in-out;
}
a:hover {
    color: #cc123c;
    opacity: 1;
}
a img{
    transition: opacity 0.5s ease-in-out;
    will-change: opacity;
}
a:hover img{
    opacity: 0.5;
}
a.red{
    color: #cc123c;    
}
a.red:hover{
    color: inherit;
}

li{
    list-style: none!important;
}

ol{
    margin: 0;
}

h3 + ol{
    margin-top: .5rem;
}

[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url], [type=week], textarea{
    font-size: 1.2rem;
    box-shadow: none;
    font-weight: 100;
    border-color: rgba(93, 93, 93, 0.45);
}
[type=color]:focus, [type=date]:focus, [type=datetime-local]:focus, [type=datetime]:focus, [type=email]:focus, [type=month]:focus, [type=number]:focus, [type=password]:focus, [type=search]:focus, [type=tel]:focus, [type=text]:focus, [type=time]:focus, [type=url]:focus, [type=week]:focus, textarea:focus{
    box-shadow: none;
    border-color: #5d5d5d;
}
[type=checkbox]+label, [type=radio]+label, a.labelSize{
    vertical-align: text-top;
    font-size: 1rem;
    color: #5d5d5d;
    max-width: calc(100% - 3rem);
    vertical-align: text-top;
    margin-top: -0.1rem;
    /*line-height: 1.2;*/
}
a:not(.labelSize) + a.labelSize{
    margin-left: -.5rem;
}
[type=checkbox]+label a, [type=radio]+label a{
    opacity: 0.6;
    font-size: 1rem;    
}
[type=checkbox]+label a:hover, [type=radio]+label a:hover{
    opacity: 1;
}
input::placeholder{
    color: rgba(93, 93, 93, 0.45);
}
select, select option{
    border-color: rgba(93, 93, 93, 0.45);
    cursor: pointer;
    color: #5d5d5d;
}
textarea{
    resize: vertical;
}
span.new{
    font-size: 1.25rem;
    color: #cc123c!important;
}
p.error-required, p.error-reCaptcha{
    color: #cc123c;
    font-weight: 600;
}
.button, input.button, a.button, button, .button-group .button {
    background-color: #cc123c;
    color: white;
    border: none;
    outline: none;
    font-size: 1.1rem;
    font-weight: 400;
    padding: 1rem;
    cursor: pointer;
}
.button:focus, input.button:focus, a.button:focus, .button:hover, input.button:hover, a.button:hover {
    background-color: #c3123c;
}

form{
    margin-top: .75rem;
}

form .button {
    display: inline-block;
    width: 100%;
    margin: 2em 0;
}
.captcha {
    margin: 0.75em 0;
}

.informationP{
    color: #a9a9a9;
    font-size: .9rem;
}
.informationP a{
    color: #a9a9a9;
    font-size: .9rem;
    text-decoration: underline;
    opacity: 1;
}
.informationP a:hover{
    color: #cc123c;
}

/****    Header     ****/
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 2rem 0 2rem;
    height: 7.5rem;
    background-color: white;
    z-index: 100;
    transition: box-shadow 0.5s ease-in-out;
}
header[shadow="visible"]{
    box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1);
}
header .logoWrapper {
    height: 100%;
}
header .logoWrapper .logo {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
header .logoWrapper .logo img {
    height: 5rem;
    width: auto;
    shape-rendering: geometricprecision;
}
@media screen and (max-width: 64em){
    header .logoWrapper .logo img {
        height: 4.5rem;
    }
}

/****    Navigation     ****/
header:after{
    content: "";
    width: 100vw;
    height: 100%;
    left: 0;
    top: 0;
    background: white;
    position: absolute;
    z-index: -1;
}
.menu a {
    font-weight: 600;
    font-size: 1.2rem;
}
header .menu.simple li a, header .menu.simple li a:focus, header .menu.simple li a:visited{
    color: #5d5d5d;
    transition: color 0.5s ease-in-out, opacity  0.5s ease-in-out;    
}
header .menu.simple li a:hover{
    color: #cc123c;
    opacity: 1;   
}
header .menu.simple li a.is-active {
    color: #cc123c;
}
header .menu.lang-selector{
    margin-top: 1rem
}
header .menu.lang-selector a{
    font-weight: 400;
    background: none;
    padding: 0;
    font-size: 1.1rem;
}
header .menu.lang-selector li:last-child :before{
    content: "|";
    color: #5d5d5d;
    margin-right: .25rem;
    margin-left: .25rem;
}
header .menu.lang-selector .is-active>a {
    color: #cc123c;
}
header .menu.lang-selector .inactive>a {
    opacity: 0.3;
}
header .menu.lang-selector .inactive>a:hover {
    color: inherit;
    cursor: default;
}
header .menu.lang-selector li:hover + .is-active {
    color: green;
}
nav.mainNavigation .cell{
    position: absolute;
    transition: bottom 0.6s ease-in-out;
    bottom: 1rem;
    left: 1rem;
}
nav.mainNavigation .cell li{
    display: block;
}
#mainNavBurger{
    display: none;
    margin-top: 1.5rem;
    padding: 0;
    background: none;
}
#mainNavBurger .bar{
    width: 30px;
    height: 2px;
    background: #cc123c;
    margin-bottom: 6px;
    will-change: transform;
    transition: transform 0.8s ease-in-out;
}
#mainNavBurger[state="open"] .bar:first-child{
    transform: rotate(45deg) translateY(5px) translateX(5px);
}
#mainNavBurger[state="open"] .bar:nth-child(2){
    transform: scaleX(0);
}
#mainNavBurger[state="open"] .bar:last-child{
    transform: rotate(-45deg) translateY(-6px) translateX(6px);
}
@media screen and (max-width: 64em){
    nav.mainNavigation .cell{
        transition: transform 0.8s ease-in-out, padding 0.8s ease-in-out;
        will-change: transform;
        top: 0;
        left: 0;
        bottom: inherit;
        border-top: 2px solid #cc123c;
        z-index: -1;
        padding: 0rem 2rem;
        overflow: hidden;
        margin: 0;
        width: 100vw;
        background: white;
    }
    nav.mainNavigation .cell[state="open"]{
        box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1);
        padding: 2rem;
    }
    #mainNavBurger{
        display: block;
    }
}
@media screen and (max-width: 40em){
    nav.mainNavigation .cell .menu.simple{
        display: block;
    }
    nav.mainNavigation .cell .menu.simple li{
        margin: 0;
    }
}
/****    Content    ****/
.main-content ul.list{
    margin: 0;
    padding: 0;
    margin-top: .5rem;
    color: #383838;
}
.main-content ul.list li{
    position: relative;
    list-style: none;
    margin-bottom: .25rem;
    margin-left: 0.5rem;
}
.main-content ul.list li:before{
    position: absolute;
    content: "";
    background-image: url("../../images/icons/list-style.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100%;
    width: 0.35rem;
    top: 0.65rem;
    left: -1.1rem;
}
.main-content .leftside{
    padding-right: 3%;
}
.main-content .leftside >*:not(h1){
    opacity: 0.8;
}
.main-content ul.list li a{
    opacity: 0.6;
    color: #383838;
}
.main-content ul.list li a:hover{
    color: #cc123c;
    opacity: 1;
    /*border-bottom: 1px solid #cc123c;*/
}
.landscape{
    margin-bottom: 2.5rem;
    min-width: 100%;
    min-height: 14rem;
    object-fit: cover;
}
.main-content{
    margin-top: 7rem;
    min-height: calc(100vh - 15.25rem);
    margin-bottom: 3rem;
    position: relative;
}
.main-content .top-area{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    margin-bottom: -2rem;
}
.main-content .top-area .introImage{
    max-height: calc(56vh - 8.5rem);
    height: auto;
    width: auto;
    margin-right: -17vw;
}
#approach{
    transition: background 0s ease-in-out;
    padding: 2rem;
    margin-top: 2rem;
    box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1);
    z-index: 1;
}
#approach img{
    background: white;
}
#approach button{
    margin-top: 2rem;
    margin-right: .5rem;
    width: 7rem;
    max-width: calc(50% - 1rem);
    min-width: 5rem;
    background-color: #9a9a9a;
    transition: background 0.5s ease-in-out;
}
#approach button:hover{
    background: #cc123c;
}
#approach[state="open"]{
    transition: background 0.8s ease-in-out;
    margin-top: 0;
    position: fixed;
    top: 7rem;
    width: 100vw;
    left: 0;
    height: calc(100vh - 7rem);
    background: rgba(10, 10, 10, 0.31);
    display: flex;
    justify-content: center;
    align-items: center;
}
#approach[state="open"] img{
    background: white;
    width: 100%;
    max-width: 80%;
    height: 100%;
    max-height: 90%;
    padding: 2rem;
}
@media screen and (max-width: 40em){
    #approach[state="open"] img{
        max-width: 100%;
        max-height: 100%;
        padding: 1rem;
    }
    #approach[state="open"] button{
        bottom: calc(5% + 1.25rem);
        left: calc(10% + 0.75rem);        
    }
}
#approach[state="open"] button{
    margin-top: 0;
    position: absolute;
    bottom: calc(5% + 3rem);
    left: calc(10% + 2.75rem);
}
#approach[state="open"] button#print{
    margin-left: 8rem;
}

#map{
    height: 24rem;
    margin-top: 3rem;
}
.approachIcon{
    height: 4rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}
.approachIcon.train{
    height: 3rem;
    margin-bottom: 2rem;
    margin-top: 3.5rem;
}
.approachIcon.sleep{
    height: 4.5rem;
    margin-bottom: 1rem;
}
#map p.error{
    display: none;
    margin-top: .9rem;
    color: #cc123c;
}
#map #toMaps{
    display: none;
}
#map p{
    font-size: .9rem;
    margin: 0;
    margin-bottom: .25rem;
}
#map h3{
    font-size: 1.2rem;
}
#map button{
    font-size: .9rem;
    padding: .7rem;
}
#map button + button{
    margin-left: .9rem;
}
#map input{
    font-size: .9rem;
    height: 2.1rem;
    margin-bottom: .8rem;
}
/****    HOME     ****/
.home .main-content a figcaption.text-center{
    display: inline-block;
    width: 100%;
    margin-top: .75rem;
    font-size: 1rem;
    font-weight: 600;
}
.home .main-content .top-area blockquote {
    border:none;
    margin-bottom: 24vh;
}
.home .main-content .top-area blockquote a{
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 1.24;
}
.home .main-content .top-area blockquote cite{
    font-size: 1rem;
    margin-top: 1rem;
    color: #b5b5b5;
}
.home .main-content .top-area blockquote cite:before{
    content: none;
}
.home .main-content .top-area blockquote, .home .main-content .top-area blockquote a {
    color: #cc123c;
}

.home .main-content .menu.visit-also {
    position: absolute;
    bottom: -3.75rem;
    left: 0;
}
.home .main-content .menu.visit-also a {
    padding: 0;
    margin-right: 1rem;
    font-size: 1rem;
    color: #989898;
}
.home .main-content .menu.visit-also li:not(.inactive) a:hover {
    color: #cc123c;
}
.home .main-content .menu.visit-also li.inactive a{
    cursor: default;
    margin-right: .5rem;
}
.home .main-content .menu li:not(:last-child):not(.inactive) a::after {
    content: '|';
    display: inline-block;
    margin-left: .5rem;
    margin-right: -.5rem;
    color: #989898;
}

@media all and (max-width: 40em){
    .homeRedirects >div:last-child{
        margin-bottom: 3rem;
    }
    .home .main-content .menu.visit-also li + li{
        margin-top: .5rem;
    }
}

/****    NEWSLETTER     ****/
.newsletter .landscape, .newsletter_iframe .landscape{
    margin-bottom: 1.5rem;
}
.newsletter .button-group.multiple-con-button, .newsletter_iframe .button-group.multiple-con-button{
    display: block;
    text-align: center;
}
.newsletter .button-group.multiple-con-button a.button.subpage-btn, .newsletter_iframe .button-group.multiple-con-button a.button.subpage-btn {
    background: transparent;
    color: #5d5d5d;
    transition: all 0.5s ease-in-out;
    font-weight: 400;
    border: none;
    padding: 0;
    width: auto;
    font-size: 1.2rem;
    font-weight: 600;
}
.newsletter .button-group.multiple-con-button a.button.subpage-btn:first-child:after, .newsletter_iframe .button-group.multiple-con-button a.button.subpage-btn:first-child:after{
    content: "/";
    margin-left: .75rem;
    color: #cacaca;
}
.newsletter .button-group.multiple-con-button a.button.subpage-btn:last-child, .newsletter_iframe .button-group.multiple-con-button a.button.subpage-btn:last-child  {
    margin-left: .5rem
}
.newsletter .button-group.multiple-con-button a.button.subpage-btn.sw-active ,.newsletter_iframe .button-group.multiple-con-button a.button.subpage-btn.sw-active {
    color: #cc123c;
}
.b2b form .footnote {margin-top: 1em; font-size: 80%;}

/****    BREAKS     ****/
@media screen and (max-width: 1760px){
    .newsletter_iframe iframe#iframe{
        height: 1250px;
    }
}
@media screen and (max-width: 75em){
	.newsletter_iframe iframe#iframe{
		height: 75rem;
	}
}
@media screen and (max-width: 64em){
    .main-content .top-area{
        display: block;
        align-items: center;
        justify-content: center;
        margin: 0
    }
    .main-content .top-area .introImage{
        max-height: calc(56vh - 8.5rem);
        height: auto;
        width: auto;
    }
    .home .main-content .top-area blockquote{
        margin-bottom: 4rem;
    }
    .home .main-content .top-area blockquote a{
        font-size: 2rem;
    }
}
@media screen and (max-width: 40em){
    .home .main-content a figcaption.text-center{
        margin-bottom: 2rem
    }
    .newsletter .button-group.multiple-con-button a.button.subpage-btn {
        display: block;
        margin-left: 0!important;
        margin-bottom: .5rem;
    }
    .newsletter .button-group.multiple-con-button a.button.subpage-btn:after {
        display: none;
    }
    .home .main-content .menu li{
        width: 100%;
    }
    .home .main-content .menu li:not(:last-child):not(.inactive) a::after {
        display: none;
    }
    .newsletter_iframe iframe#iframe{
		height: 70rem;
	}
}
@media screen and (max-width: 450px){
    .newsletter_iframe iframe#iframe{
		height: 74rem;
	}
}
/****    Footer     ****/
footer  {
    display: block;
    border-top: 2px solid #cc123c;
    padding-top: 1rem;
    margin-bottom: 1.5rem;
    margin-top: 5rem;
}
footer .menu.simple a{
    font-size: 1rem;
    color: #989898;
}
footer .menu.simple a.is-active{
    color: #cc123c;
}
footer .menu.simple a:hover{
    color: #cc123c;
}
footer .menu.simple li{
    margin-right: .5rem;
    margin-left: 0;
}
/****    Cookie     ****/
#cookieAlert{
    transition: transform 0.8s ease-in-out;
    will-change: transform;
    position: fixed;
    top: 100vh;
    left: 0;
    background: #eaeaea;
    padding: 1rem 2rem;
    width: 100%;
    z-index: 1000;
}
#cookieAlert p,#cookieAlert a,#cookieAlert button{
    font-size: 1rem;
    font-weight: 600;
}
#cookieAlert button a{
    transition: color 0.8s ease-in-out;
    color: #cc123c;
}
#cookieAlert button.more{
    pointer-events: visiblePainted;
}
#cookieAlert button{
    transition: background 0.8s ease-in-out, color 0.8s ease-in-out;
    background: none;
    border: 2px solid #cc123c;
    color: #cc123c;
}
#cookieAlert button:hover{
    background: #cc123c;
    color: white;
}
#cookieAlert button:hover a{
    color: white;
}
#cookieAlert button:first-child{
    margin-left: 1rem;
}
#cookieAlert p{
    margin: 0;
}
#cookieAlert a{
    color: inherit;
    line-height: 1;
}
@media screen and (max-width: 64em){
    #cookieAlert button:first-child{
        margin-left: 0;
    }
    #cookieAlert button{
        margin-top: 1rem;
    }
}
/****    Jobs-Fix     ****/
.page-class-container.jobs .main-content .row{
    max-width: none;
}
.page-class-container.jobs .menu.simple li{
    margin-left: 0;
}
.page-class-container.jobs .work-with-us-container .main .introduction > *{
    font-weight: 400;
    margin-top: 1rem;
}
.page-class-container.jobs ul.breadcrumbs a{
    color: #5d5d5d;
    font-weight: 600;
}
.page-class-container.jobs ul.breadcrumbs a:hover{
    color: #cc123c;
}
.page-class-container.jobs ul.breadcrumbs a.active{
    color: #cc123c;
}
.page-class-container.jobs .work-with-us-container .navigation{
    margin: 1rem 0 2rem 0;
    width: 100%
}
.page-class-container.jobs .work-with-us-container .job-class-container .initiative-application h2{
    margin-bottom: .5rem;
    padding: 0 13%;
    font-size: 1.6rem;
    line-height: 1.24;
}
.page-class-container.jobs .work-with-us-container a{
    color: #5d5d5d;
}
.page-class-container.jobs .work-with-us-container a:hover{
    color: #cc123c;
}
.page-class-container.jobs .or-sentence{
    text-transform: lowercase;
}
.page-class-container.jobs .or-sentence p{
    margin-top: 0.8rem;
}
.page-class-container.jobs .navigation.footer{
    display: none;
}
.page-class-container.jobs .work-with-us-container .main .accordion > h2{
    padding: 0;
    margin-bottom: .5rem;
    padding-bottom: .5rem;
    margin-top: 1rem;
    font-size: 1.3rem;
}
.page-class-container.jobs .work-with-us-container .main .accordion > h2.on{
    line-height: 1.2;
}

.page-class-container.jobs .work-with-us-container .main h2.accordion::before, .page-class-container.jobs .work-with-us-container .main h3.accordion::before, .page-class-container.jobs .work-with-us-container .main .accordion > h2::before{
    filter: grayscale(1);
}
.page-class-container.jobs .work-with-us-container .row.headline > h2{
    margin: 0;
    text-align: left;
}
.page-class-container.jobs .work-with-us-container.subpage .row.headline > h2{
    margin-left: calc(10% + .5rem);
}
.page-class-container.jobs .work-with-us-container.home .row.headline > h2{
    margin-left: 1rem;
    margin-top: 6rem;
}
.page-class-container.jobs .work-with-us-container .not-satisfied-text-container{
    text-align: left;
    padding: 0;
}
.page-class-container.jobs .work-with-us-container.subpage .not-satisfied-text-container{
    margin-left: calc(10% + .5rem);
}
.page-class-container.jobs .work-with-us-container.home .not-satisfied-text-container{
    margin-left: 1rem;
}
.page-class-container.jobs .work-with-us-container .top.header .text h2, .page-class-container.jobs.subpage .top.header .text h2{
    margin-top: 0;
}
.page-class-container.jobs .work-with-us-container .main .accordion .search-term{
    margin: 1rem 0 0 0;
    padding: 0;
}
.page-class-container.jobs .main-content .open-positions ul:not(.character) li, .page-class-container.jobs .main-content ul.main-list li,.page-class-container.jobs .newest-results ul:not(.character) li,.page-class-container.jobs .search-result ul:not(.character) li{
    position: relative;
    list-style: none;
    margin-bottom: .25rem;
    margin-left: 0.5rem;
}
.page-class-container.jobs .main-content .open-positions ul:not(.character) li:before, .page-class-container.jobs .main-content ul.main-list li:before, .page-class-container.jobs .newest-results ul:not(.character) li:before,.page-class-container.jobs .search-result ul:not(.character) li:before{
    position: absolute;
    content: "";
    background-image: url("../../images/icons/list-style.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100%;
    width: 0.35rem;
    top: 0.65rem;
    left: -1.1rem;
}
.page-class-container.jobs .single-result li p {line-height: 1.2;}

.page-class-container.jobs .main-content ul.main-list li:before{
    top: 0.75rem;
}
.page-class-container.jobs .work-with-us-container .top.header .text{
    color: #5d5d5d;
}
.page-class-container.jobs .work-with-us-container .top.header .text h1{
    font-size: 2.5rem;
}
.page-class-container.jobs .work-with-us-container .top.header .text h2{
    font-size: 1.7rem;
}
.page-class-container.jobs .work-with-us-container ul.character{
    margin: 0;
}
.page-class-container.jobs .work-with-us-container ul.character li{
    position: relative;
}
.ui-tooltip{
    position: absolute;
    background: white;
    padding: 1rem;
    box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1);
    max-width: 30rem;
    left: 0;
}
.ui-tooltip >*{
    font-size: 1rem;
}
@media screen and (min-width: 64em){
    .page-class-container.jobs .work-with-us-container .search-result .not-satisfied-text-container{
        margin-left: calc(10% + 1rem);   
    }
    .page-class-container.jobs .work-with-us-container .search-result .row.headline{
        margin-left: 9%;
    }
    
}
@media screen and (min-width: 64em){
    .page-class-container.jobs .replace-me.after.end{
        margin-bottom: -3rem;
    }
    .page-class-container.jobs .row.line3 .medium-5{
        margin-top: -6.25rem;
    }
}
/****    Newsletter    ****/
.page-class-container.newsletter .multiple-con-container{
    padding-top: 2rem;
}
/****    International    ****/
nav#letters ul {
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 64em){
    nav#letters ul {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    nav#letters ul li:first-child{
        margin-left: .5rem;
    }
}
nav#letters ul li{
    list-style: none;
    float: left;
    cursor: pointer;
    transition: color 0.5s ease-in-out;
    font-weight: 600;
}
nav#letters ul li:hover, nav#letters ul li[state="active"]{
    color: #cc123c;
}
nav#letters ul li + li:before{
    content: "/";
    color: #cacaca;
    margin-left: .5rem;
    margin-right: .5rem;
}
ul#partners{
    margin-top: 2.5rem;
}
ul#partners li{
    list-style: none;
}
ul#partners li.partner{
    margin-bottom: 1.5rem;
}
ul#partners li.partner ul{
    margin-left: 0;
}
ul#partners li.partner h2{
    margin-bottom: .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #cacaca;
    color: #cc123c;
}
ul#partners li.partner h2{
    margin-top: 2rem;
}
ul#partners li.partner ul h3{
    font-size: 1.35rem;
    margin-bottom: .5rem;
}
ul#partners li.partner ul li.tel, ul#partners li.partner ul li.mail,  ul#partners li.partner ul li.fb{
    margin-top: .5rem;
}
ul#partners li.type{
    text-align: right;
}
@media screen and (max-width: 40em){
    ul#partners li.type{
        text-align: left;
        margin-top: 1rem;
    }    
}
/****    Presse    ****/
.page-class-container.presse a + a button,.page-class-container.press a + a button{
    margin-left: 1rem;
}
@media screen and (max-width: 40em){
    .page-class-container.presse a + a button,.page-class-container.press a + a button{
        margin-left: 0rem;
        margin-top: 1rem;
    }
}
/****    Events    ****/
#events {
    margin-top: 2.5rem;
}
.eventsIntro .grid-x{
    margin-top: .75rem;
}
#events .eveHead{
    border-bottom: 1px solid #cacaca;
}
#events .eveHead p{
    margin-bottom: .75rem;
    font-weight: 600;
}
#events .event {
    border-bottom: 1px solid #cacaca;
    padding-bottom: 2rem;
    padding-top: 2rem;
    position: relative;
    transition: background-color 0.2s ease-in-out;
}
#events .event:hover {
    background-color: whitesmoke;
}
#events .event .bookedOutMessage, #events .event .canceledMessage{
    display: none;
}
#events .event[bookedout="yes"]>*:not(.buttonGroup), #events .event[canceled="yes"]>*:not(.buttonGroup){
    opacity: .6;
}
#events .event[bookedout="yes"] .buttonGroup, #events .event[canceled="yes"] .buttonGroup{
    position: relative;
}
#events .event[bookedout="yes"] .buttonGroup>*:not(.bookedOutMessage), #events .event[canceled="yes"] .buttonGroup>*:not(.bookedOutMessage){
    pointer-events: none;
    display: none;
}
#events .event[bookedout="yes"] .buttonGroup .bookedOutMessage, #events .event[canceled="yes"] .buttonGroup .canceledMessage{
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 1rem);
    padding: 1rem;
    background-color: #b7b7b7;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 1rem;
    cursor: not-allowed;
}
#events .event[bookedout="yes"] .buttonGroup .bookedOutMessage, #events .event[canceled="yes"] .buttonGroup .canceledMessage:hover{
    background-color: #b7b7b7;
}
#events .event button{
    width: 100%;
    padding-right: .5rem;
    padding-left: .5rem;
    transition: background-color 0.5s ease-in-out;
}
#events .event button.furtherInfo{
    background-color: white;
    color: #cc123c;
    border: 1px solid #cc123c;
    transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out;
}
#events .event button:hover{
    background-color: #b3022a;
}
#events .event button.furtherInfo:hover{
    background-color: #cc123c;
    color: white;
}
#events .event form{
    margin: 0;
}
#events .event form + a button{
    margin-top: .75rem;
}
#events .disclaimer{
    text-align: center;
    margin-top: 4rem;
}
#eventsRegister .eventsIntro .date{
    margin-top: 2rem;
    margin-bottom: 1rem;
}
#eventsRegister .eventsIntro .description{
    margin-top: .5rem;
}
#eventsRegister .eventsIntro .furtherInfo{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
#eventsRegister #eventsRegisterForm .attendee{
    overflow: hidden;
    visibility: hidden;
}
#eventsRegister #eventsRegisterForm .attendee .attendeeDescription{
    float: left;
}
#eventsRegister #eventsRegisterForm .attendee .remvAttendee{
    margin-left: 1rem;
    float: left;
    color: #cc123c;
    cursor: pointer;
}
#eventsRegister #eventsRegisterForm .attendee[state="prepared"]{
    height: 0;
    visibility: visible;
    transition: height 0.5s ease-in-out;
}
#eventsRegister #eventsRegisterForm #addAttendee{
    margin-bottom: 1rem;
    transition: opacity 0.5s ease-in-out;
    margin-right: .75rem;
}
#eventsRegister #eventsRegisterForm #addAttendee[state="visible"]{
    opacity: 1;
}
#eventsRegister #eventsRegisterForm #addAttendee[state="invisible"]{
    opacity: 0;
    width: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    pointer-events: none;
}
button.backToEvents{
    margin-top: 1rem;
}
#eventsRegister #eventsRegisterForm #removeAttendee[state="visible"]{
    opacity: 1;
    pointer-events: all;
}
#eventsRegister #eventsRegisterForm #removeAttendee[state="invisible"]{
    opacity: 0;
}

.management{
    margin-top: 2rem;
    margin-bottom: 2rem;   
}

.noMargin{
    margin: 0;
}
ul.eveBreadCrumbs{
    padding: 0;
    margin: 0;
    margin-bottom: 1rem;   
}
ul.eveBreadCrumbs li{
    float: left;
    color: #a9a9a9;
    font-size: 1rem;
}
ul.eveBreadCrumbs li a{
    font-size: 1rem;
    color: #a9a9a9;
}
ul.eveBreadCrumbs li a:hover{
    color: #cc123c;
}
ul.eveBreadCrumbs li:last-child{
    float: none;
}
@media screen and (min-width: 40em){
    #events .eveHead p + p,#events .event .cell + .cell{
        padding-left: 1rem;
    }
}
@media screen and (min-width: 64em){
    .eventsIntro .grid-x .cell:first-child{
        padding-right: 1rem;    
    }
    .eventsIntro .grid-x .cell + .cell{
        padding-left: 1rem;
    }
    #events .event p{
        margin-bottom: 0;
    }
}
@media screen and (max-width: 64em){
    #events .event .cell:last-child{
        padding-left: 0;
    }
    #events .event[bookedout="yes"]{
        padding-bottom: 4.75rem;
    }
    #events .event[bookedout="yes"] .buttonGroup .bookedOutMessage{
        margin: 0;
        width: 100%;
    }
    #subNewsletter{
        height: 1075px;
    }
}
@media screen and (max-width: 40em){
    #events .event:nth-child(2){
        border-top: 1px solid #cacaca;
        padding-top: 1rem;
    }
    #events .event .cell.time{
        text-align: right;
    }
}

/****    Data Protection    ****/
.datenschutzerklaerung ol, .data-protection-statement ol{
    margin-left: 1.25rem;
} 
.datenschutzerklaerung ol li ,.data-protection-statement ol li{
    margin: inherit;
    list-style: inherit!important;
} 

/****    404    ****/
@media screen and (max-width: 40em){
    #onImage{
        position: absolute;
        top: 4.5vw;
        left: 0;
        width: 100%;
    } 
}
/****    PRINT    ****/
#printContainer{
    display: none;
}
.page-class-container[state="print"]{
    display: none;
}
#printContainer[state="print"] #approachMap{
    width: 100%;
    height: 100%;
}
#printContainer[state="print"]{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
#printContainer[state="print"] .center{
    height: 50vh;
    display: flex;
    justify-content: center;
}
#printContainer[state="print"] #approachTxt{
    width: 100%;
    height: 50vh;
    font-size: 1rem;
}
#printContainer[state="print"] #approachTxt > .cell p, #printContainer[state="print"] #approachTxt > .cell a{
    font-size: 1rem;
}
#printContainer[state="print"] #approachTxt > .cell h3{
    font-size: 1.25rem;
}
@media print {
    #cookieAlert{
        display: none;
    }
}

/*IE*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .page-class-container.jobs .main-content .open-positions ul:not(.character) li:before, .page-class-container.jobs .main-content ul.main-list li:before, .page-class-container.jobs .newest-results ul:not(.character) li:before,.page-class-container.jobs .search-result ul:not(.character) li:before{
        height: 6px;
        width: 6px;
        top: 10px;
    }
    .work-with-us-container .main .accordion > h2.on ~ div, .work-with-us-container .main .accordion .search-term{
        font-size: 1.2rem;
    }
}