/**
 * @file
 * media above 0em - Default style
 */
@-ms-viewport{
    width: device-width;
}
/* @group Global styles */
body{
   font: 700 italic 2.4rem/1.3 "Lato", sans-serif;
   color: #2f4ba1;
   background: white url(../../images/bg-mille.jpg);
}
a{
   text-decoration: underline;
   color: #2f4ba1;
   background-color: transparent;

}
a:hover{
   text-decoration: underline;
   color: black;
}
a:active{
   color: black;
}
a.read-more-link{
   font-weight: 400;
}
a.read-more-link::after{
   content: "…";
}
[class*="content"] ul{
   padding-left: 2.5rem;
}
figure img{
   width: 100%;
   height: auto;
   display: block;
}
.page-wrapper{
   margin: 0 auto;
   max-width: 108rem;
   padding: 0 2rem;
}
.has-aside.aside-before > .grid{
   flex-direction: row-reverse;
}
.button{
   text-decoration: none;
   display: inline-block;
   margin: 1rem 0;
   padding: 1.6rem 2.5rem;
   font-weight: normal;
   font-size: 1.6rem;
   color: white;
   background-color: transparent;
   border: 1px solid white;
   transition: all 0.3s ease;
}
.button:hover{
   background-color: rgba(0, 0, 0, 0.7);
   border-color: rgba(0, 0, 0, 0.7);
   color: white;
}
a.button{
   text-decoration: none;
}
.button.button-xxl{
   background-color: #007dc8;
   border: none;
   border-radius: 10px;
   font-style: normal;
   font-size: 2.8rem;
   margin: 1em 0;
}
.button.button-xxl:hover{
   background-color: rgba(0, 0, 0, 0.7);
   border-color: transparent;
   color: white;
}

figure{
   margin: 1em 0;
}
figure.no-space{
   margin: 0;
}
.float-left{
   margin: 0 1.5rem 0.5rem 0;
   float: left;
}
.float-right{
   margin: 0 0 0.5rem 1.5rem;
   float: right;
}
[class*="section--"]{
   padding-top: 2rem;
   padding-bottom: 2rem;
}
#page-header + .section--header{
   padding-top: 0;
}
a.link-layer{
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background-color: transparent;
}
[class*="content"][class*="theme--highlight"]{
   background-color: #5970b5;
   color: white;
   padding-top: 3.5rem;
   padding-bottom: 3.5rem; 
}
[class*="content"].theme--highlight-strong{
   background-color: #007dc8;
}
.is-big{
   font: normal 900 1.1em Montserrat;
}
.is-bigger{
   font: normal 900 1.2em Montserrat;
}
[class*="content"] a[href*="tel:"]{
   text-decoration: none;
}
/* @end */
/* @group page header */
#page-header > .page-wrapper{
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
}
#page-header .site-logo{
   margin: 1.8rem 0 1rem;
   width: 9.5rem;
   flex: 0 0 auto;
}
/* @end */
/* @group tpl aside */
.content--aside{
   padding: 5rem 2.5rem;
   background-color: #004f9f;
   color: white;
   font-style: normal;
   font-weight: 400;
   font-size: 0.9em;
   hyphens: auto;
}
.content--aside > *:first-child{
   margin-top: 0;
}
.content--aside > *:last-child{
   margin-bottom: 0;
}

.content--aside a{
   color: white;
   text-decoration: underline;
}
.has-aside > .grid > aside > figure:first-child{
   margin-bottom: 0;
}
/* @end */
/* @group tpl link-xxl */
.section--link-xxl .layout-wrapper{
   background-color: rgb(48,76,162);
   color: white;
   background-repeat: no-repeat;
   background-position: right;
   background-size: contain;
   padding: 2.5rem 35% 2.5rem 4rem;
   box-sizing: border-box;
}
.section--link-xxl .layout-wrapper.order-reverse{
   padding: 2.5rem 4rem 2.5rem 35%;
   background-position: left;
}
.section--link-xxl h2{
   font: normal 900 4.8rem Montserrat;
   margin: 0 0 0.5em;
}
.section--link-xxl .content{
   font-style: normal;
   font-weight: 400;
   font-size: 3rem;
}
.section--link-xxl .content p{
   margin: 0.6em 0;
}
.section--link-xxl .content > *:first-child{
   margin-top: 0;
}
.section--link-xxl .content > *:last-child{
   margin-bottom: 0;
}
/* @end */
/* @group tpl global */
[class*="section--"][style*="background-image"]{
   background-repeat: no-repeat;
   background-size: cover;
}
[class*="section--"][style*="background-image"] > .page-wrapper > header{
   padding: 3rem 0;
}
[class*="section--"] header{
   font-style: normal;
   line-height: normal;
   color: white;
}
[class*="section--"] .supheader{
   font-size: 2rem;
   margin: 0;
}
[class*="section--"] header h2{
   font-family: Oswald;
   font-weight: 700;
   font-size: 3rem;
   margin: 0 0 0.2em;
   line-height: normal;
}
.section--teaser-tiles{
   background-color: rgba(0, 79, 159, 0.5);
}
/* @end */
/* @group tpl content */
article.section--content header{
   color: inherit;
}
/* @end */
/* @group tpl header */
.section--header dl{
   height: 20rem;
   padding: 1rem 0;
   box-sizing: border-box;
   margin: 0;
   background-position: center;
   background-size: cover;
   display: flex;
   align-items: center;
   flex-direction: column;
   justify-content: center;
   color: white;
   font-family: Montserrat;
   font-weight: 900;
   font-style: normal;
   text-align: center;
}
.section--header dt{
   font-size: 3rem;
   line-height: normal;
}
.section--header dd{
   font-size: 2rem;
}
/* @end */
/* @group page footer */
#page-footer{
   color: white;
   background: transparent url(../../images/bg-f.jpg) no-repeat center/cover;
   font-style: normal;
   font-weight: 400;
}
#page-footer a{
   color: white;
   background-color: transparent;
   text-decoration: none;
}
#page-footer b{
   font-weight: normal;
}
.grid.section--footer > *{
   flex: 0 1 33.3333%;
   box-sizing: border-box;
}
#page-footer .section--footer header h2{
   text-transform: uppercase;
   margin: 3.5rem 0;
}
.footer-top [class*="menu--footer"]{
   font-size: 2.6rem;
}
[class*="menu--footer"] a{
   display: block;
   padding: 0.1em 0;
}
.footer-end .grid{
   justify-content: start;
   flex-direction: row-reverse;
   align-items: center;
}
.footer-end .grid > *{
   margin: 0;
   padding-top: 1em;
   padding-bottom: 1em;
   font-size: 2rem;
}
.menu--footer--03{
   display: flex;
   flex-wrap: wrap;
}
.menu--footer--03 > li a{
   display: block;
   padding: 0 0.2em;
}
.menu--footer--03 > li:nth-child(n+2) > *::before{
   content: "·";
   display: inline-block;
   padding: 0 0.3em 0 0;
}
/* @end */
/* @group Page specific styles */
#de--content--map{
   margin: 0;
   padding-bottom: 0;
}
/* @end */
/* @group captcha */
.captcha-message{
   padding: 1.5rem;
   background-color: #ffb6c1;
   color: #930016;
   font-weight: bold;
}
/* @end */
