@CHARSET "UTF-8";

body {
    margin: 0;
    font-family: 'Source Sans Pro', Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #333;
    background-color: #fff;
}

* {
    box-sizing: border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}

:root {
    --contentMaxWidthDesktop1: 1200px;
    --contentMaxWidthDesktopFull: 100%;
    --bodyFontFamily: 'Source Sans Pro', Verdana, Geneva, sans-serif;
    --bodyFontSize: 16px;
    --bodyFontWeight: 400;
    --bodyColor: #333;
    --formFontSize: 14px;

    --headerGraphicsBorderOffsetHorizontal: 1rem;
    --headerGraphicsBorderOffsetVertical: 1rem;
    --headerGraphicsBorderOffsetHorizontalx2: 2rem;
    --headerGraphicsBorderOffsetVerticalx2: 2rem;
}

.contentWidth {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}






.headerLanguagePickContainer {
    position: absolute;
    top: -1px;
    right: 5em;
}
.headerLanguagePickContainer a {
    float: left;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    font-size: 1em;
    color: #000;
    padding: 0.5em;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 0 0 10px 10px;
    /*background-color: #56c2f0;*/
    /*border: 1px solid #42aadf;*/
    /*opacity: 0.7;*/
}
.headerLanguagePickContainer a img {
    height: 1em;
    width: auto;
    border: 0;
}
.headerLanguagePickContainer a span {
    padding-left: 0.3em;
}
.headerLanguagePickContainer a:hover,
.headerLanguagePickContainer a.selected {
    color: #000;
    background-color: rgba(255, 255, 255, 0.7);
    padding-top: 0.8em;
}




.headerGraphics {
    width: 100%;
    height: auto;
    min-height: 10rem;
    position: relative;
}
.headerGraphics .borderLine {
    position: absolute;
    left: var(--headerGraphicsBorderOffsetHorizontal);
    top: var(--headerGraphicsBorderOffsetVertical);
    width: calc(100% - var(--headerGraphicsBorderOffsetHorizontalx2));
    height: calc(100% - var(--headerGraphicsBorderOffsetVerticalx2));
    border: 2px solid #00b0ff;
}
.headerGraphics .leftBottom,
.headerGraphics .rightTop {
    position: absolute;
    background-color: #fff;
}
.headerGraphics .leftBottom {
    left: 0;
    bottom: 0;
    padding: 1rem 1rem 0 0 ;
}
.headerGraphics .rightTop {
    right: 0;
    top: 0;
    padding: 0 0 1rem 1rem;
}
.headerGraphics .leftBottom img,
.headerGraphics .rightTop img {
    width: 8rem;
    height: auto;
}
.headerGraphics .centerLogo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.headerGraphics .centerLogo img {
    width: 15rem;
    height: auto;
}
.headerGraphics .description {
    font-family: 'Exo 2';
    font-weight: 700;
    font-size: 1rem;
    color: #00b0ff;
    padding: 0 1rem 0 1rem;
    background-color: #fff;
}
.headerGraphics .centerBottom {
    position: absolute;
    bottom: calc(var(--headerGraphicsBorderOffsetVertical) - calc(var(--headerGraphicsBorderOffsetVertical) * 0.3));
    left: 50%;
    transform: translatex(-50%);
}
.headerGraphics .rightBottom {
    position: absolute;
    bottom: calc(var(--headerGraphicsBorderOffsetVertical) - calc(var(--headerGraphicsBorderOffsetVertical) * 0.3));
    right: var(--headerGraphicsBorderOffsetHorizontalx2);
}
.headerGraphics .rightBottom .logo,
.headerGraphics .rightBottom .description {
    text-align: center;
    /*text-transform: uppercase;*/
}
.headerGraphics .rightBottom .logo img {
    width: 3rem;
    height: auto;
}

.userSignedInInfoSectionContainer {
    float: left;
    width: 100%;
    padding-top: 0.5rem;
}
.userSignedInInfoSectionContainer .userSignedInInfoSection {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
}
.userSignedInInfoSectionContainer .userSignedInInfoSection > div {
    padding: 0 0.5rem;
}
.userSignedInInfoSectionContainer .userSignedInInfoSection > div > div.overflowPaddingCompensation {
    padding: 0.05rem 0;
}


.modalMapContainer {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /*display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;*/
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 10000;
}
.modalMapContainer div {
    /*flex-grow: 0;*/
    padding-top: 3rem;
    width: 100%;
}
.modalMapContainer div img {
    width: 100%;
    height: auto;
}













.colorWarning {
    color: #c8513f;
}
.colorLessImportant {
    color: #777;
}

.textBold {
    font-weight: 600;
}
.textNormal {
    font-weight: 400;
}

.alignLeft {
    text-align: left;
}
.alignCenter {
    text-align: center;
}
.alignRight {
    text-align: right;
}

.clearfix::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

a.linkText {
    color: #036cb4;
}
a.linkText:hover {
    text-decoration: none;
}
a.linkText:visited {

}
a.interface {
    text-decoration: none;
    color: inherit;
}
a.interface:hover {
    text-decoration: underline;
}
a.interface:visited {

}
a.linkButton {
    display: inline-block;
    margin-top: 1.5em;
    margin-bottom: 2em;
    padding: 0.8em 2em 1em 2em;
    border: 1px solid #fff;
    background: none;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.11em;
}
a.linkButton.filled {
    background-color: #222;
    border-color: #222;
    color: #fff;
}
a.linkButton.colorInvert {
    border: 1px solid #222;
    color: #222;
}
a.linkButton.noMargin {
    margin-top: 0;
    margin-bottom: 0;
}
a.linkButton:hover { animation: linkButtonHover 0.3s forwards; }
a.linkButton.colorInvert:hover { animation: linkButtonColorInvertHover 0.3s forwards; }

@keyframes linkButtonHover {
    from {
        background: none;
        color: #fff;
    }
    to {
        background: #fff;
        color: #000;
    }
}
@keyframes linkButtonColorInvertHover {
    from {
        background: none;
        color: #222;
    }
    to {
        background: #222;
        color: #fff;
    }
}

button {
    cursor: pointer;
    margin-top: 1.5em;
    margin-bottom: 2em;
    padding: 0.8em 2em 1em 2em;
    border: 1px solid #fff;
    background: none;
    color: #fff;
    transition: all 0.2s linear;
}
button.small {
    padding: 0.2em 1em 0.3em 1em;
}
button.filled {
    border: 1px solid #222;
    background-color: #222;
    color: #fff;
}
button.filledGradient1 {
    border: 1px solid #222;
    background: rgb(2,109,177);
    background: linear-gradient(0deg, rgba(2,109,177,1) 0%, rgba(7,138,184,1) 100%);
    color: #fff;
}
button.noMargin {
    margin-top: 0;
    margin-bottom: 0;
}
button.colorInvert {
    border: 1px solid #222;
    color: #222;
}
button:hover {
    background-color: #fff;
    color: #000;
}
button.colorInvert:hover {
    background-color: #222;
    color: #fff;
}
button.filledGradient1:hover {
    border: 1px solid #222;
    background: rgb(2,109,177);
    background: linear-gradient(0deg, rgba(2,109,177,1) 0%, rgba(7,138,184,1) 100%);
    color: #fff;
}

label {
    cursor: pointer;
}

.listVersion1 > li {
    margin-bottom: 0.5em;
}
.listVersion1 > li > ul {
    margin-top: 0.5em;
}
.listVersion1 > li > ul > li {
    margin-top: 0.5em;
}






.modalMessageContainer {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 10000;
}
.modalMessageContainer .window {
    flex-grow: 0;
    width: 30rem;
    max-width: 75%;
    background-color: #fff;
    box-shadow: 0.1em 0.1em 1em rgba(0, 0, 0, 0.6);
}
.modalMessageContainer .window > div {
    float: left;
    width: 100%;
}
.modalMessageContainer .window .header {
    text-align: left;
    padding: 0.6em 1em;
    min-height: 1em;
    background-color: #036cb4;
    color: #fff;
}
.modalMessageContainer .window .body {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.modalMessageContainer .window .body .icon {
    flex-grow: 0;
    padding: 1em;
}
.modalMessageContainer .window .body .icon img {
    width: 70px;
    height: auto;
}
.modalMessageContainer .window .body .text {
    flex-grow: 1;
    padding: 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.modalMessageContainer .window .body .text p {
    margin: 0.1em 0;
}
.modalMessageContainer .window .body .text .title {
    flex-grow: 0;
}
.modalMessageContainer .window .body .text .description {
    flex-grow: 0;
}
.modalMessageContainer .window .footer {
    padding: 0.5em 1em 1em 1em;
    text-align: right;
}






.loaderSpinner {
    display: inline-block;
    position: relative;
    width: 1.5em;
    height: 1.5em;
}
.loaderSpinner div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 1.4em;
    height: 1.4em;
    margin: 0.2em;
    border: 0.2em solid #222;
    border-radius: 50%;
    animation: loaderSpinner 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #222 transparent transparent transparent;
}
.loaderSpinner div:nth-child(1) {
    animation-delay: -0.45s;
}
.loaderSpinner div:nth-child(2) {
    animation-delay: -0.3s;
}
.loaderSpinner div:nth-child(3) {
    animation-delay: -0.35s;
}
@keyframes loaderSpinner {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}





.colorErrorBackground {
    /*background-color: #f5b7b1;*/
    /*animation: colorErrorBackgroundFade 2s 1s infinite;*/
    animation: colorErrorBackgroundFade 2s ease-out 0s infinite;
}
.colorErrorBackgroundRepeatLimit {
    /*background-color: #f5b7b1;*/
    /*animation: colorErrorBackgroundFade 2s 1s infinite;*/
    animation: colorErrorBackgroundFade 2s ease-out 0s 3;
}
@keyframes colorErrorBackgroundFade {
    0% { background-color: #fff; }
    25% { background-color: #f5b7b1; }
    100% { background-color: #fff; }
}
.colorGrayBackgroundRepeatLimit {
    animation: colorGrayBackgroundFade 1.5s ease-out 0s 1;
}
@keyframes colorGrayBackgroundFade {
    0% { background-color: #fff; }
    25% { background-color: #e8e8e8; }
    100% { background-color: #fff; }
}


/*
 * 	qTip2
 */
.qtip2mod.qtip {
    max-width: 600px;
    border: 1px solid #aaa;
}
.qtip2mod.qtip-shadow {
    /*box-shadow: 3px 5px 3px 1px #aaa;*/
    box-shadow: 0 0 0 0;
}
.qtip2mod .qtip-titlebar {
    border-bottom: 1px solid #ddd;
}
.qtip2mod .qtip-content {
    color: #222;
    font-family: Roboto, Verdana, Geneva, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5em;
    padding: 0.2em 1em;
    background-color: #fbfbfb;
    background-color: #eee;
}
.qtip2mod .qtip-content .fontSizeMedium {
    font-size: 11px;
    line-height: 1.4em;
}
.qtip2mod .qtip-content p {
    margin-top: 0.3em;
    margin-bottom: 0.3em;
}
.qtip2mod .qtip-content ul {
    padding-left: 14px;
}
.qtip2mod .qtip-content ul li {
    list-style: disc;
    margin-top: 2px;
    margin-bottom: 2px;
}

.qtip2modPaddingSmall.qtip {
    max-width: 493px;
}
.qtip2modPaddingSmall .qtip-content {
    font-size: 12px;
    line-height: 1.5em;
    padding: 4px;
    background-color: #efefef;
}
.qtip2modPaddingSmall .qtip-content .fontSizeMedium {
    font-size: 11px;
    line-height: 1.4em;
}
.qtip2modPaddingSmall .qtip-content p {
    margin-top: 3px;
    margin-bottom: 3px;
}