
html, body
{
    margin: 0;
    padding: 0;
}
html
{
    height: 100%;
}
body
{
    background: #FAFAFA;
    min-height: 100%;
    height: 1px; /* hack for allowing children to have 100% height */
}


h1, h2, h3, h4
{
    color: #5A7B81;
    font-family: Verdana, Geneva, sans-serif;
}
h1
{
    text-align: center;
    clear: both;
}
/* smaller title fonts in mobile view */
@media  (max-width: 1019px) {
    h1 {
        font-size: 150%;
    }
    h2
    {
        font-size: 120%;
    }
    h3
    {
        font-size: 100%;
    }
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}
td, th
{
    padding: 0;
}
a, img
{
    border: none;
}

textarea
{
    resize: none;
}

/* centered and justified paragraphs */
.p-center
{
    text-align: center;
}
.p-justified
{
    text-align: justify;
}

/* format for negative money amounts */
.price-negative
{
    color: #b00000;
}

/**********************************************************************************************************************
 *                                         Dialogs, Alerts, etc.                                                      *
 **********************************************************************************************************************/

/* dark overlay for dialogs */
#dark-layer
{
    position: fixed;
    left: 0;
    top: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.7;
    z-index: 10;
    display: none;
}

/* custom js windows */
.js-window
{
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    padding: 6px;
    background-color: #FAFAFA;
    border: 2px solid #5A7B81;
    text-align: center;
    z-index: 11;
    font-family: Verdana, Geneva, sans-serif;
    max-height: 85vh;
    max-width: 95vw;
    overflow-y: auto;
    box-sizing: border-box;
}
.js-window-title
{
    display: block;
    font-weight: bold;
    color: #5A7B81;
    margin-bottom: 12px;
}
#alert-window
{
    max-width: 400px;
    background: #C4E8FB;
    z-index: 13;
}
#custom-alert-icon
{
    display: inline-block;
    width: 64px;
    height: 64px;
    vertical-align: middle;
    background-image: url('../images/icon_sprites.png');
    background-size: cover;
    background-position: 0 0;
}
#custom-alert-text
{
    display: inline-block;
    padding: 10px;
    max-width: 316px;
    vertical-align: middle;
    box-sizing: border-box;
}
#button-alert
{
    margin: 6px auto 6px auto;
}

#confirmation-dialog-window
{
    z-index: 12;
    width: 300px;
    padding: 12px;
    background: #FAFAFA;
}
#confirmation-dialog-text
{
    margin-bottom: 12px;
}

/* loading symbol */
#loader {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 21;
    border: 16px solid #1C1C1C;
    border-top: 16px solid #5BC4EC;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    margin: -40px 0 0 -40px;
    box-sizing: border-box;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/**********************************************************************************************************************
 *                                 Buttons for adding content ("new ...")                                             *
 **********************************************************************************************************************/

.button-new, .button-new:visited
{
    display: block;
    background-color: #5BC4EC;
    color: #1C1C1C !important;
    font-family: Verdana, Geneva, sans-serif;
    height: 32px;
}
.button-new:hover
{
    background-color: #065484;
    color: #FFF !important;
    cursor: pointer;
}
.button-new-plus
{
    display: inline-block;
    vertical-align: top;
    font-size: 200%;
    margin-left: 12px;
    margin-right: 12px;
    height: 32px;
    line-height: 28px;
}
.button-new-text
{
    display: inline-block;
    vertical-align: top;
    height: 32px;
    line-height: 32px;
    padding-right: 10px;
}

/**********************************************************************************************************************
 *                                          General page layout                                                       *
 **********************************************************************************************************************/

/* wrapper for whole page - use display:table for page layout in desktop mode */
#wrapper {
    width: 100%;
    height: 100%;
}
@media  (min-width: 1680px){
    #wrapper {
        display: table;
        table-layout: fixed;
    }
}

/* container for menu, logo, opening status */
#menu-row
{
    width: 100%;
    box-sizing: border-box;
    background-color: #1589B7;
    
}

@media  (min-width: 1020px) {
    #menu-row {
        height: 90px;
    }
}
@media  (min-width: 1680px){
    #menu-row {
        display: table-row;
        background-image:linear-gradient(0deg, #065484 -100%, #1589B7 30%, #1589B7 70%, #065484 200%);
    }
}

@media  (max-width: 1019px) and (orientation: portrait){
    #menu-row {
        height: 80px;
    }
}
@media  (max-width: 1019px) and (orientation: landscape) {
    #menu-row {
        height: 70px;
    }
}


/**********************************************************************************************************************
 *                                     Header (Logo & Opening status)                                                 *
 **********************************************************************************************************************/

/* table layout for large desktop view only */
@media  (min-width: 1680px) {
    #menu-logo {
        display: table-cell;
        vertical-align: middle;
        min-width: 300px;
        text-align: center;
    }
}
/* logo for tablet/mobile view */
@media  (max-width: 1679px) {
    #menu-logo {
        float: left;
        padding: 8px;
        height: 100%;
        box-sizing: border-box;
        max-width: 70%;
    }
}
/* logo sizes */
@media  (min-width: 1020px){
    #menu-logo img
    {
        width: 200px;
        height: auto;
    }
}
@media  (max-width: 1019px){
    #menu-logo img {
        height: 100%;
        width: auto;
    }
}

/* opening status for large desktop view */
@media  (min-width: 1680px){
    #menu-openstat {
        display: table-cell;
        vertical-align: middle;
        min-width: 300px;
    }
}
/* for tablet view use open status element to create dark background in sub-header */
@media  (min-width: 1020px) and (max-width: 1679px){
    #menu-openstat {
        height: 28px;
        background: #1C1C1C;
    }
}

/* opening status for desktop view */
@media  (min-width: 1680px){
    #openstat-outer-hexagon {
        height: 50px;
        width: 160px;
        margin: auto;
        -webkit-clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 0 50%);
        clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 0 50%);
        background: #1C1C1C;
        font-family: Arial, Helvetica, sans-serif;
        cursor: default;
    }
    .openstat-open, .openstat-closed
    {
        height: 50%;
        width: 100%;
        font-size: 11pt;
    }
    .openstat-unknown
    {
        display: none;
    }
    /* for browsers supporting clip-path make opening status display hexagonal */
    @supports (clip-path: none) or (-webkit-clip-path: none) {
        #openstat-open-hexagon {
            -webkit-clip-path: polygon(16px 2px, calc(100% - 16px) 2px, calc(100% - 3px) calc(100% - 1px), 3px calc(100% - 1px));
            clip-path: polygon(16px 2px, calc(100% - 16px) 2px, calc(100% - 3px) calc(100% - 1px), 3px calc(100% - 1px));
        }

        #openstat-closed-hexagon {
            -webkit-clip-path: polygon(3px 1px, calc(100% - 3px) 1px, calc(100% - 16px) calc(100% - 2px), 16px calc(100% - 2px));
            clip-path: polygon(3px 1px, calc(100% - 3px) 1px, calc(100% - 16px) calc(100% - 2px), 16px calc(100% - 2px));
        }
    }
    /* for browsers supporting @supports but not clip-path (e.g. Microsoft Edge) - in browsers not supporting
       @supports (e.g. IE) it just looks ugly */
    @supports (not (clip-path: none)) and (not (-webkit-clip-path: none))
    {
        #openstat-open-hexagon, #openstat-closed-hexagon
        {
            border: #1C1C1C solid;
            box-sizing: border-box;
            margin-right: 4px;
        }
        #openstat-open-hexagon
        {
            border-width: 2px 2px 1px 2px;
        }
        #openstat-closed-hexagon
        {
            border-width: 1px 2px 2px 2px;
        }
    }
    #openstat-open-hexagon, #openstat-closed-hexagon
    {
        width: 58px;
        height: 100%;
        display: inline-block;
        vertical-align: middle;
    }
    #openstat-open-inactive, #openstat-closed-inactive
    {
        color: #284044;
    }
    #openstat-open-active, #openstat-closed-active
    {
        color: #CFE3E6;
    }
    #openstat-open-inactive > #openstat-open-hexagon, #openstat-closed-inactive > #openstat-closed-hexagon {
        background: #284044;
    }
    #openstat-open-active > #openstat-open-hexagon{
        background: #009200;
    }
    #openstat-closed-active > #openstat-closed-hexagon{
        background: #b00000;
    }
}
@media  (max-width: 1679px) {
    /* only show active status on mobile devices and small screens */
    #openstat-outer-hexagon
    {
        position: absolute;
        -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 21px) 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, calc(100% - 21px) 100%, 0 100%);
        padding: 2px 2px 2px 0;
        box-sizing: border-box;
    }
    .openstat-outer-hexagon-0
    {
        background: #b00000;
    }
    .openstat-outer-hexagon-1
    {
        background: #009200;
    }
    .openstat-outer-hexagon-2
    {
        background: #284044;
    }
    .openstat-inactive
    {
        display: none;
    }
    .openstat-active
    {
        height: 100%;
        width: 100%;
        box-sizing: border-box;
        -webkit-clip-path: polygon(0 0, calc(100% - 2px) 0, calc(100% - 20px) 100%, 0 100%);
        clip-path: polygon(0 0, calc(100% - 2px) 0, calc(100% - 20px) 100%, 0 100%);
        padding: 0 30px 0 10px;
        text-align: center;
        font-family: Verdana, Geneva, sans-serif;
        font-size: 10pt;
    }
    #openstat-open-hexagon, #openstat-closed-hexagon
    {
        display: none;
    }
    #openstat-open-active{
        background: #99E499;
    }
    #openstat-closed-active{
        background: #FFAA99;
    }
    #openstat-unknown-active{
        background: #5A7B81;
    }
}
@media  (max-width: 1019px){
    #openstat-outer-hexagon {
        height: 24px;
        min-width: 40%;
    }
    .openstat-active
    {
        line-height: calc(24px - 4px);
    }
}
@media  (min-width: 1020px) and (max-width: 1679px){
    #openstat-outer-hexagon {
        height: 28px;
        width: 240px;
    }
    .openstat-active
    {
        line-height: calc(28px - 4px);
    }
}
@media  (max-width: 1019px) and (orientation: portrait){
    #openstat-outer-hexagon
    {
        top: 80px;
    }
}
@media  (max-width: 1019px) and (orientation: landscape) {
    #openstat-outer-hexagon
    {
        top: 70px;
    }
}

/**********************************************************************************************************************
 *                                               Main menu                                                            *
 **********************************************************************************************************************/

/* main menu container */
@media  (min-width: 1680px){
    #menu-inner {
        display: table-cell;
        margin: 0 auto 0 auto;
        min-width: 1080px;
        width: 1400px;
    }
}


/* main menu list (hidden by default on mobile devices) */
ul#main-menu
{
    list-style-type: none;
    padding: 0;
    margin: 0;
}
@media  (min-width: 1020px) {
    ul#main-menu {
        display: inline-block;
    }
}
@media  (max-width: 1019px) {
    ul#main-menu {
        display: none;
        width: 100%;
        position: absolute;
        background: #1C1C1C;
    }
    ul#main-menu > li.main-menu-item:first-child
    {
        margin-top: 20px;
    }
}
/* position mobile menu at header height + subheader height with full height 100% - (header height + subheader height + footer height) */
@media  (max-width: 1019px) and (orientation: portrait) {
    ul#main-menu {
        top: calc(80px + 24px);
        min-height: calc(100% - 80px - 140px - 24px);
    }
}
@media  (max-width: 1019px) and (orientation: landscape) {
    ul#main-menu {
        top: calc(70px + 24px);
        min-height: calc(100% - 70px - 140px - 24px);
    }
}
/* main menu items */
@media  (min-width: 1020px) {
    li.main-menu-item {
        display: inline-block;
        position: relative; /* important for submenus */
        text-align: center;
    }
}
@media  (max-width: 1019px) {
    li.main-menu-item {
        display: block;
        width: 100%;
    }
}
a.main-menu-link, span.main-menu-span
{
    text-decoration: none;
}
span.main-menu-parent-item, span.main-menu-current-item
{
    cursor: default;
}

/* menu buttons for both desktop/tablet views */
@media  (min-width: 1020px){
    a.main-menu-link, span.main-menu-span {
        display: inline-block;
        height: 90px;
        line-height: 90px;
        font-size: 14pt;
        font-family: Arial, Helvetica, sans-serif;
    }
    a.main-menu-link
    {
        -webkit-clip-path: polygon(0% 0%, 100% 0%, calc(100% - 0.5 * 90px) 100%, calc(0.5 * 90px) 100%);
        clip-path: polygon(0% 0%, 100% 0%, calc(100% - 0.5 * 90px) 100%, calc(0.5 * 90px) 100%);
        padding: 0 50px 0 50px;
        margin: 0 -15px 0 -15px;
        color: #1C1C1C;
    }
    a.main-menu-link:hover
    {
        background: #1C1C1C;
        color: #5BC4EC;
    }
    span.main-menu-span
    {
        padding: 0 10px 0 10px;
    }
    span.main-menu-parent-item
    {
        color: #1C1C1C;
        margin: 0 20px 0 20px;
    }
    span.main-menu-current-item
    {
        color: #CFE3E6;
        padding: 0 35px 0 35px;
    }
}
@media  (max-width: 1019px){
    a.main-menu-link, span.main-menu-span {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 5px 10px 5px 10px;
        height: 34px;
        font-size: 14pt;
        line-height: 24px;
        border-bottom: 1px solid #5BC4EC;
        color: #5BC4EC;
        font-family: Verdana, Geneva, sans-serif;
    }
    span.main-menu-current-item
    {
        color: #1589B7;
    }
}


/* extra button for login */
a#login-link {
    display: block;
    height: 100%;
    text-decoration: none;
}
@media  (min-width: 1680px){
    a#login-link
    {
        -webkit-clip-path: polygon(0% 0%, 100% 0%, calc(100% - 0.5 * 90px) 100%, calc(0.5 * 90px) 100%);
        clip-path: polygon(0% 0%, 100% 0%, calc(100% - 0.5 * 90px) 100%, calc(0.5 * 90px) 100%);
        padding: 0 50px 0 50px;
        margin: 0 -15px 0 -15px;
        color: #1C1C1C;
    }
    #user-menu-container:hover a#login-link
    {
        background: #1C1C1C;
        color: #5BC4EC;
    }
}
@media  (max-width: 1679px){
    a#login-link {
        float: right;
        box-sizing: border-box;
        padding: 2px 15px;
        font-family: Verdana, Geneva, sans-serif;
        font-size: 10pt;
        color: #5BC4EC;
    }

    a#login-link:hover {
        background: #5BC4EC;
        color: #1C1C1C;

    }
}
@media  (min-width: 1020px) and (max-width: 1679px){
    a#login-link {
        line-height: 24px;
    }
}

/* button for showing menu on mobile devices */
@media  (min-width: 1020px) {
    #mob-menu-button-container {
        display: none;
    }
}
@media  (max-width: 1019px) {
    #mob-menu-button-container {
        display: inline-block;
        height: 100%;
        float: right;
        box-sizing: border-box;
        max-width: 30%;
    }
    #mob-menu-button-container > #mob-menu-button {
        height: 40px;
        width: 40px;
        background: linear-gradient(
                #000,
                #000 8px,
                #0000 8px,
                #0000 16px,
                #000 16px,
                #000 24px,
                #0000 24px,
                #0000 32px,
                #000 32px
        );
    }
}
@media  (max-width: 1019px) and (orientation: landscape){
    #mob-menu-button-container {
        padding: 15px;
    }
}
@media  (max-width: 1019px) and (orientation: portrait){
    #mob-menu-button-container {
        padding: 20px;
    }
}

/* submenu container */
@media  (min-width: 1020px) {
    li.main-menu-item > div.submenu {
        display: none;
        position: absolute;
        background: #1C1C1C;
        padding: 0;
        margin-top: -90px;
        margin-left: calc(50% - 1.155 * 90px);
        width: calc(2.3 * 90px);
        height: calc(2 * 90px);
        -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
        clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
        z-index: 2;
    }
    li.main-menu-item:hover > div.submenu {
        display: block;
    }
}
@media  (max-width: 1019px){
    li.main-menu-item > div.submenu {
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 10px;
    }
}

/* submenu parent items only necessary in desktop/tablet mode */
@media  (min-width: 1020px){
    span.submenu-parent-item {
        display: block;
        height: 30px;
        width: 100%;
        margin: calc(0.5 * (90px - 30px)) 0 0 0;
        padding: 0;
        line-height: 30px;
        cursor: default;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 14pt;
        color: #5BC4EC;
        text-decoration: underline;
        text-align: center;
    }
}
@media  (max-width: 1019px) {
    span.submenu-parent-item {
        display: none;
    }
}

/* submenu list */
ul.submenu-ul {
    width: 100%;
    list-style: none;
    padding: 0;
}
@media  (min-width: 1020px)  {
    div.submenu-ul-container {
        position: relative;
        height: calc(100% - 60px);
    }
    ul.submenu-ul {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
}

/* submenu items */
a.submenu-link, span.submenu-span {
    display: block;
    width: 100%;
    text-decoration: none;
}
@media  (min-width: 1020px) {
    a.submenu-link, span.submenu-span {
        height: 28px;
        padding: 0;
        margin: 0;
        line-height: 28px;
        font-size: 11pt;
        text-align: center;
        font-family: Arial, Helvetica, sans-serif;
    }
    span.submenu-span {
        color: #FFF;
        cursor: default;
    }
    a.submenu-link {
        color: #5BC4EC;
        cursor: pointer;
    }
    a.submenu-link:hover {
        background-color: #5BC4EC;
        color: #1C1C1C;
    }
}
@media  (max-width: 1019px) {
    li.submenu-item
    {
        padding-left: 8%;
    }
    a.submenu-link, span.submenu-span {
        border-bottom: 1px solid #5BC4EC;
        box-sizing: border-box;
        padding: 2px 8px;
        height: 30px;
        font-size: 12pt;
        line-height: 26px;
        font-family: Verdana, Geneva, sans-serif;
    }
    a.submenu-link
    {
        color: #5BC4EC;
    }
    span.submenu-span {
        color: #1589B7;
        cursor: default;
    }
}

/**********************************************************************************************************************
 *                                               User menu                                                            *
 **********************************************************************************************************************/

/* container contains everything which has to do with user menu - position right */
#user-menu-container
{
    float: right;
    text-align: center;
}
/* align text and image in user button */
#user-button-text
{
    display: inline;
    vertical-align: middle;
}
#user-button-img
{
    display: inline-block;
    vertical-align: middle;
    background-size: contain;
}
/* in desktop view add negative margin to compensate for hexagonal shape */
@media  (min-width: 1680px) {
    #user-menu-container {
        margin: 0 -15px 0 -15px;
        position: relative;
        height: 90px;
        line-height: 90px;
    }
    #user-menu-container > #user-button {
        color: #1C1C1C;
        cursor: default;
        height: 90px;
        -webkit-clip-path: polygon(calc(0.5 * 90px) 0%, calc(100% - 0.5 * 90px) 0%, 100% 100%, 0% 100%);
        clip-path: polygon(calc(0.5 * 90px) 0%, calc(100% - 0.5 * 90px) 0%, 100% 100%, 0% 100%);
        padding: 0 50px 0 50px;
        white-space: nowrap;
    }
    #user-menu-container:hover > #user-button {
        background: #1C1C1C;
        color: #5BC4EC;
    }
    #user-menu-container #user-button-img
    {
        height: 31px;
        width: 31px;
        background-image: url('../images/user_sprites.png');
        background-size: cover;
        background-position: 0 0;
    }
    #user-menu-container:hover #user-button-img
    {
        background-position: -100% 0;
    }
    #user-button-text
    {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 14pt;
    }
}
/* in mobile view different button shape & colors */
@media  (max-width: 1679px) {
    #user-menu-container
    {
        height: 28px;
        background: #1C1C1C;
    }
    #user-button {
        position: absolute;
        right: 0;
        box-sizing: border-box;
        padding: 2px 15px;
        cursor: pointer;
        color: #5BC4EC;
        height: 24px;
        line-height: 20px;
    }
    #user-button-text
    {
        font-family: Verdana, Geneva, sans-serif;
        font-size: 10pt;
    }
    #user-button-img
    {
        height: 20px;
        width: 20px;
        background-image: url('../images/user_sprites.png');
        background-size: cover;
        background-position: -100% 0;
    }
    #login-link:hover #user-button-img
    {
        background-position: 0 0;
    }
}

@media  (max-width: 1019px) {
    #user-menu-container
    {
        height: 24px;
        width: 100%;
    }
}
@media  (min-width: 1020px) and (max-width: 1679px) {
    #user-menu-container
    {
        position: absolute;
        top: 90px;
        right: 0;
    }
}
/* position from top depends on header height and therefore on orientation */
@media  (max-width: 1019px) and (orientation: portrait) {
    #user-button {
        top: 80px;
    }
}
@media  (max-width: 1019px) and (orientation: landscape) {
    #user-button {
        top: 70px;
    }
}

/* user - submenu */
#user-menu-container > #user-menu-box {
    position: absolute;
    width: 100%;
    display: none;
    margin: 0;
    line-height: 28px;
    background: #1C1C1C;
    z-index: 2;
}

@media  (min-width: 1020px) {
    #user-menu-container:hover > #user-menu-box
    {
        display: block;
    }
}
@media  (min-width: 1020px) and (max-width: 1679px) {
    #user-menu-container
    {
        width: 200px;
    }
    #user-menu-container > #user-menu-box
    {
        margin-top: 28px;
        width: 200px;
    }
}
/* position from top depends on header height and therefore on orientation */
@media  (max-width: 1019px) and (orientation: portrait) {
    #user-menu-container > #user-menu-box
    {
        top: calc(80px + 24px);
        min-height: calc(100% - 80px - 140px - 24px);
    }
}
@media  (max-width: 1019px) and (orientation: landscape) {
    #user-menu-container > #user-menu-box
    {
        top: calc(70px + 24px);
        min-height: calc(100% - 70px - 140px - 24px);
    }
}

ul#ul-user-menu
{
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style-type: none;
}

/* user menu items */
ul#ul-user-menu > li > a, ul#ul-user-menu > li > span
{
    display: block;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    color: #5BC4EC;
    cursor: pointer;
}
@media  (min-width: 1020px) {
    ul#ul-user-menu > li > a, ul#ul-user-menu > li > span
    {
        margin: 2px;
        padding: 2px 4px 2px 4px;
        background: #1C1C1C;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11pt;
    }
    ul#ul-user-menu > li > a:hover, ul#ul-user-menu > li > span:hover
    {
        background: #5BC4EC;
        color: #1C1C1C;
    }
    span.user-menu-current-item
    {
        color: #FFF;
        cursor: default;
    }
}
@media  (max-width: 1019px) {
    ul#ul-user-menu
    {
        margin-top: 20px;
    }
    ul#ul-user-menu > li > a, ul#ul-user-menu > li > span {
        width: 100%;
        box-sizing: border-box;
        padding: 5px 10px 5px 10px;
        height: 34px;
        font-size: 14pt;
        line-height: 24px;
        border-bottom: 1px solid #5BC4EC;
        color: #5BC4EC;
        font-family: Verdana, Geneva, sans-serif;
        text-align: right;
    }
    span.user-menu-current-item
    {
        color: #1589B7;
    }
}


/**********************************************************************************************************************
 *                                                 Content                                                            *
 **********************************************************************************************************************/

/* use sans-serif fonts for content, if content is too wide (e.g. on phones) show scrollbar */
#content {
    font-family: Verdana, Geneva, sans-serif;
    width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
}
/* in desktop view table layout is used for page */
@media  (min-width: 1680px) {
    #content-row {
        display: table-row;
    }
    .content-spacer {
        display: table-cell;
    }
    #content {
        display: table-cell;
        padding: 36px 0 48px 0;
    }
}
@media  (min-width: 1020px) and (max-width: 1679px) {
    #content-row{
        /* page height - (logo height + margin) - header height - footer height */
        min-height: calc(100% - 28px - 90px - 140px);
        box-sizing: border-box;
    }
    .content-spacer {
        display: none;
    }
    #content {
        margin-top: 28px;
        padding: 26px 2% 48px 2%;
    }
}
@media  (max-width: 1019px){
    #content-row {
        margin-top: 24px;
    }
    .content-spacer {
        display: none;
    }
    #content {
        padding: 3%;
    }
    /* lists with padding on both sides look better on phones */
    #content ul
    {
        padding: 0 4% 0 6%;
    }
}
/* expand content to full height to position footer at the bottom */
@media  (max-width: 1019px) and (orientation: portrait) {
    #content-row {
        min-height: calc(100% - 80px - 140px - 24px);
    }
}
@media  (max-width: 1019px) and (orientation: landscape) {
    #content-row {
        min-height: calc(100% - 70px - 140px - 24px);
    }
}


#content a, #content .span-clickable
{
    text-decoration: none;
    color: #1589B7;
    cursor: pointer;
}

#content a:hover, #content .span-clickable:hover
{
    color: #065484;
}

/**********************************************************************************************************************
 *                                                Footer                                                              *
 **********************************************************************************************************************/

#footer-inner {
    font-size: 11pt;
    font-family: Verdana, Geneva, sans-serif;
    color: #CFE3E6;
}
#footer-links {
    float: right;
    text-align: right;
}
#footer-info {
    display: inline-block;
}
#footer-info .info-item, #footer-links .footer-item
{
    display: block;
    margin: 6px 0;
}
#footer-inner a, #footer-links span {
    text-decoration: none;
    cursor: pointer;
    color: #5BC4EC;
}
#footer-inner a:hover, #footer-links span:hover {
    color: #CFE3E6;
}
#footer-row {
    background: #1C1C1C;
    height: 140px;
}
@media  (min-width: 1680px) {
    #footer-row {
        display: table-row;
    }
    .footer-spacer {
        display: table-cell;
    }
    #footer-inner {
        display: table-cell;
        padding: 10px 0 10px 0;
    }
}
.info-symbol
{
    display: inline-block;
    width: 22px;
    box-sizing: border-box;
}
#info-mail-symbol
{
    padding-left: 2px;
}
#info-phone-symbol
{
    font-size: 90%;
}
@media  (max-width: 1679px) {
    #footer-inner
    {
        padding: 16px;
    }
}
@media  (min-width: 1020px) {
    #icon-facebook, #icon-email {
        width: 18px;
        height: 18px;
        margin: 4px 0 0 4px;
        border-radius: 3px;
    }
}
@media  (max-width: 1019px) {
    .footer-spacer {
        display: none;
    }
    #footer-inner
    {
        box-sizing: border-box;
        width: 100%;
        height: 140px;
        padding: 3%;
    }
    #footer-info {
        max-width: 60%;
    }
    #footer-links {
        max-width: 40%;
    }
    #footer-info .info-item, #footer-links .footer-item
    {
        display: block;
        margin: 2px 0;
    }
    #icon-facebook, #icon-email {
        width: 24px;
        height: 24px;
        margin: 4px 0 0 4px;
        border-radius: 3px;
    }
}


/**********************************************************************************************************************
 *                                            static warnings                                                         *
 **********************************************************************************************************************/
#js-warning
{
    margin: 0 auto 20px auto;
    padding: 10px;
    box-sizing: border-box;
    background: #FFAA99;
    border: 2px solid #b00000;
    border-radius: 8px;
    text-align: center;
}
#js-warning-img
{
    display: inline-block;
    height: 48px;
    width: 48px;
    vertical-align: middle;
    margin-right: 12px;
    background-image: url('../images/icon_sprites.png');
    background-size: cover;
    background-position: -100% 0;
}
#js-warning-emph
{
    font-weight: bold;
}
@media  (max-width: 1019px){
    #mobile-warning {
        display: block;
        height: 100%;
        width: 100%;
        position: fixed;
        left: 0;
        background: #FAFAFA;
        text-align: center;
        z-index: 22;
    }

    #mobile-warning-img {
        width: 128px;
        height: 128px;
        margin: 10% auto;
        background-image: url('../images/icon_sprites.png');
        background-size: cover;
        background-position: -100% 0;
    }

    #mobile-warning p {
        margin: 20px 10% 0 10%;
        font-family: Verdana, Geneva, sans-serif;
    }

    #mobile-warning-ok-btn, #mobile-warning-ok-btn:visited {
        display: block;
        margin: 10% auto 0 auto;
        width: 100px;
        height: 32px;
        line-height: 30px;
        background-color: #5BC4EC;
        color: #1C1C1C;
        font-family: Verdana, Geneva, sans-serif;
        cursor: pointer;
    }

    #mobile-warning-ok-btn:hover {
        background-color: #065484;
        color: #FFF;
    }

}
/* hide warning for mobile devices in desktop/tablet mode */
@media  (min-width: 1020px){
    #mobile-warning {
        display: none;
    }
}


/**********************************************************************************************************************
 *                                        table layout for lists                                                      *
 **********************************************************************************************************************/
.list-tab-container
{
    max-width: 100%;
    overflow-x: auto;
}
.list-tab
{
    margin: 0 auto 0 auto;
}
.list-tab tr:nth-child(even)
{
    background: #ECECF3;
}

.list-tab td
{
    padding: 4px 8px 4px 8px;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 10pt;
}

.table-show-more
{
    text-align: center;
    width: 300px;
    color: #1589B7;
    margin: 6px auto;
    font-size: 11pt;
    cursor: pointer;
}
.table-show-more:hover
{
    color: #065484;
}


/**********************************************************************************************************************
 *                                                forms                                                               *
 **********************************************************************************************************************/
.input-label
{
    display: block;
    font-size: 10pt;
    font-family: Verdana, Geneva, sans-serif;
    text-align: left;
}
.text-input
{
    background: #C4E8FB;
    border: none;
}
.text-input, .other-input 
{
	margin: 3px 0 24px 0;
    padding: 5px;
}
.checkbox-label
{
    font-size: 11pt;
    font-family: Verdana, Geneva, sans-serif;
}

.button-generic
{
    border: none;
    -webkit-appearance: none;
    outline: none;
    background: #B0D0D8;
    padding: 6px 10px 6px 10px;
    border-radius: 4px;
}
.button-generic:hover
{
    background: #5A7B81;
    color: #FFFFFF;
}
.button-generic:active
{
    background: #065484;
    color: #FFFFFF;
}

/**********************************************************************************************************************
 *                                        error/success messages                                                      *
 **********************************************************************************************************************/
.message-form-error, .p-error-msg
{
    background: #FFAA99;
    border: 3px solid #b00000;
    border-radius: 6px;
    padding: 4px;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 11pt;
    text-align: center;
    margin-bottom: 6px;
}

.p-error-msg a, .p-error-msg a:visited
{
    color: #065484 !important;
}
.p-error-msg a:hover
{
    color: #1589B7 !important;
}

/* success message for submitted forms */
.message-form-success
{
    background: #99E499;
    border: 3px solid #009200;
    border-radius: 6px;
    padding: 4px;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 11pt;
    text-align: center;
    margin-bottom: 6px;
}

#feedback-window
{
    padding: 20px;
}
#feedback-input-container, #feedback-text, #feedback-subject
{
	width: 700px;
    max-width: 100%;
    box-sizing: border-box;
}
#feedback-input-container
{
    margin: 20px auto 0 auto;
}
#feedback-text
{
    height: 120px;
}


/**********************************************************************************************************************
 *                                            selection tabs                                                          *
 **********************************************************************************************************************/

.selection-tab-container a, .selection-tab-container a:hover, .selection-tab-container a:visited,
.selection-tab, .selection-tab-active
{
    font-size: 11pt !important;
}
.selection-tab-container a, .selection-tab-container .span-clickable, .selection-tab-container a:visited
{
    color: #1C1C1C !important;
}
.selection-tab-container a:hover, .selection-tab-container .span-clickable:hover, .selection-tab-active
{
    color: #FFF !important;
}
.selection-tab, .selection-tab-active
{
    display: inline-block;
    height: 28px;
    line-height: 28px;
    padding: 0 6px 0 6px;
    margin: 0 1px 6px 1px;
}
.selection-tab
{
    background: #5BC4EC;
}
.selection-tab-active
{
    background: #065484;
    font-weight: bold;
    cursor: default;
}
.selection-tab-container a:hover .selection-tab,
.selection-tab-container .span-clickable:hover
{
    background:  #065484 !important;
}
