/* CSS File für LAC Website (c)18 w3geo.at                                                                     */
/* ----------------------------------------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------------- */
/* Grundlegende Styles --------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------------------- */

.lacBlue {
    color: rgb(0, 33, 54);
}

.lacYellow {
    color: rgb(246, 220, 0);
}

html,body {
    margin: 0px;
    width: 100%;
    height: 100%;
}

body {
    background-color: rgb(0, 33, 54);
    color: #fff;
}

body, div, p, td, input {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}

/* ----------------------------------------------------------------------------------------------------------- */
/* Seitenstruktur / 3 Reihen                                                                                                      */
/* ----------------------------------------------------------------------------------------------------------- */

.container {
    display: table;
    border-collapse: collapse;
    border-width: 0px;
    border: none;
    width: 100%;
    height: 100%;
}

.row1 {
    display: table-row;
}
.celltop {
    display: table-cell;
    padding: 10px;
}

.row2 {
    display: table-row;
    height: 100%;
}
.cellmiddle {
    display: table-cell;
    padding: 10px;
    padding-top: 0px;
    vertical-align: bottom;
    position: relative;
}

.row3 {
    display: table-row;
    height: 40px;
}
.cellbottom {
    display: table-cell;
    padding: 0px;
    height: 40px;
}

@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .container, .row1, .row2, .row3, .celltop, .cellmiddle, .cellbottom {
        display: block;
        height: auto;
    }
}

/* ----------------------------------------------------------------------------------------------------------- */
/* Header                                                                                                      */
/* ----------------------------------------------------------------------------------------------------------- */

div.headersection {
    width: 100%;
    margin-bottom: 0px;
    z-index: 100;
    background-color: rgb(0, 33, 54);
}

img.logo {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.institutions {
    text-align:  justify;
    margin-bottom: 10px;
}

.institutions span {
    font-size: 13px;
    line-height: 16px;
    margin-right: 20px;
    margin-left: auto;
    cursor: pointer;
}
.institutions span.hilite {
    color: rgb(246, 220, 0);
}

.institutionsmenu {
    text-align: right;
    width: 40px;
    display: none;
    vertical-align:  top;
}

.institutionsmenu .active {
    cursor: pointer;
}
.institutionsmenu .active:hover, .institutionsmenu .active.selected {
    color: rgb(246, 220, 0);
}

.institutionsmenu .active span {
    color: inherit;
    display: inline-block;
    font-size: 15px;
    line-height: 30px;
    height: 30px;
    vertical-align: middle;
    margin-right: 7px;    
}
.institutionsmenu .active i {
    color: inherit;
    display: inline-block;
    font-size: 28px;
    font-weight: bold;
    line-height: 30px;
    height: 30px;
    vertical-align: middle;
}

@media screen and (max-width: 1000px), screen and (max-height: 700px) {
    .institutions span {
        font-size: 12px;
        line-height: 16px;
    }
}


@media screen and (max-width: 800px), screen and (max-height: 510px) {

    div.headersection .logospace {
        display: inline-block;
        width: calc(100% - 55px);
        margin-left: 10px;
        height: 30px;
    }

    img.logo {
        width: calc(100% - 5px);
        display: inline-block;
        height: 30px;
        line-height: 30px;
    }   
    
    .institutionsmenu {
        display: inline-block;
    }
    
    .institutions {
        text-align:  left;
        margin-bottom: 10px;
        display: none;
    }
    .institutions.selected {
        display: block;
    }

    .institutions span {
        display: block;
        font-size: 14px;
        line-height: 24px;
        cursor: pointer;
    }
}

.slogan {
    display: inline-block;
    font-size: 12px;
    color: rgb(246, 220, 0);
}

.slogan.upper {
    width: calc(100% - 145px);
}

.slogan.lower {
    width: 100%;
    display: none;
    margin-top: 30px;
    margin-bottom: 10px;
    text-align: center;
}

.row1 .sidebartitle {
    text-align: right;
    display: inline-block;
    font-size: 12px;
    color: rgb(246, 220, 0);
    width: 140px;
}

.row2 .sidebartitle {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 12px;
    color: rgb(246, 220, 0);
    display: none;
}


@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .headersection {
        display: block;
        position: fixed;
        left: 0px;
        top: 0px;
    }

    .institutions {
        padding-top: 30px;
    }

    .institutions span {
        margin-right: 0px;
        line-height: 15px;
        margin-bottom: 10px;

    }
    

    .slogan.upper {
        display: none;
    }
    
    .slogan.lower {
        display: block;
    }

    .row1 .sidebartitle {
        display: none;
    }
    
    .row2 .sidebartitle {
        display: block;
    }
    

}

/* ----------------------------------------------------------------------------------------------------------- */
/* Map                                                                                                         */
/* ----------------------------------------------------------------------------------------------------------- */

.map {
    position: relative;
    display: inline-block;
    width: calc(100% - 400px);
    height: 100%;
    background-color: rgb(0, 33, 54);
    margin-right: 10px;
    overflow: hidden;
    vertical-align: bottom;
}

.ol-zoom.ol-control {
    top: 10px;
    left: auto;
    right: 10px;
}

.ol-attribution.ol-control {
    bottom: 10px;
    left: auto;
    right: 10px;
}

.ol-touch .ol-control button {
    font-size: 1.14em;
}

.ol-control button {
    background-color: rgb(0, 33, 54);
}


.ol-control button:hover {
    background-color:  rgb(246, 220, 0);
}

.ol-control button:focus {
    background-color:  rgba(0, 33, 54,.8);
}


@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .map {
        display: block;
        width: 100%;
        height: 33%;
        margin-right: 0px;
        margin-bottom: 10px;
    }
}

/* ----------------------------------------------------------------------------------------------------------- */
/* Info Box Overlay
/* ----------------------------------------------------------------------------------------------------------- */

.infobox {
    display: inline-block;
    width: 250px;
    height: 100%;
    z-index: 5;
    font-size:  12px;
    color: rgb(0, 33, 54);
    overflow: auto;
    vertical-align: bottom;
    background-color: #fff;
    overflow-y: scroll;
}

.infobox a {
    color: rgb(0, 33, 54);
}
.infobox a:hover {
    text-decoration: underline;
}

.imgsmall {
    position: relative;
    width: 100%;
    height: 160px;
    background-position: center;
    background-size: cover;
    cursor: pointer;
}

.imgsmall.slider {
    margin-left: 0px;
}

.imgsmall.slider .elem {
    position: absolute;
    bottom: 0px;
    display: block;
    width: 25px;
    height: 40px;
    line-height: 40px;
    font-size: 25px;
    cursor: pointer;
    color:rgb(0, 33, 54);
}

.imgsmall.slider .elem::before {
    margin: 0px;
}

.imgsmall.slider .elem:hover {
    color: #fff;
}

.imgsmall.slider .elem.prev {
    left: 0px;
}
.imgsmall.slider .elem.next {
    right: 0px;
}

.infoname {
    display: table;
    width: 100%;
    height: 40px;
    background-color: rgb(246, 220, 0);
}

.infoname .name {
    display: table-cell;
    width: calc(100% - 50px);
    vertical-align: middle;
    text-align: center;
    font-size:  12px;
    font-weight: bold;
}
.infoname .elem {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    width: 25px;
    font-size: 25px;
    color: rgb(0, 33, 54);
    margin: 0px;
    padding: 0px;
}

.infoname .elem i::before {
    margin: 0px;
}

.infoname .elem i:hover {
    color: #fff;
}


.infolower {
    height: auto;
    padding: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size:  12px;
    background-color: #fff;
}

.infolower p {
    font-size:  12px;
    text-align:  justify;
}

.infotargetcontrol {
    position: absolute;
    width: 25px;
    height: 25px;
    left: 5px;
    top: 5px;
    z-index: 2;
    color: rgb(0, 33, 54);
    font-size: 33px;
    text-align: left;
    cursor: pointer;
}


@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .infobox {
        display: block;
        position: relative;
        width: 100%;
        height: auto;
        overflow: visible;
        background-color: rgb(0, 33, 54);
    } 

    .imgsmall {
        display: block;
        float: left;
        width: calc(50% - 2px);
        height: auto;
        background-position: center;
        background-size: cover;
        cursor: pointer;
    }
    .imgsmall.slider {
        margin-left: 4px;
    }

    .imgsmall:before{
        content: "";
        display: inline-block;
        padding-top: 67%; 	/* initial ratio of 1:1*/
    }  
}


/* ----------------------------------------------------------------------------------------------------------- */
/* Sidebar                                                                                                     */
/* ----------------------------------------------------------------------------------------------------------- */

.sidebar {
    display: inline-block;
    vertical-align: bottom;
    width: 140px;
    height: 100%;
    margin: 0px;
    overflow: auto;
}

.pdflist a {
    display: inline-block;
    width: calc(33% - 2px);
    margin: 1px;
    height: auto;    
}

.pdflist a img {
    width: 100%;
    height: auto;
}

.pdflist a:nth-child(1) {
    width: calc(100% - 3px);
}


@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .sidebar {
        display: block;
        width: 100%;
        height: auto;
    }

    .pdflist a {
        display: inline;
        margin: 0px;
    }
    
    .pdflist a img {
        display: inline-block;
        width: calc(25% - 4px);
        height: auto;
        margin: 2px;
    }
    .pdflist a:nth-child(1) img {
        display: inline-block;
        width: calc(25% - 4px);
        height: auto;
        margin: 2px;
    }
        

}

/* ----------------------------------------------------------------------------------------------------------- */
/* Footer                                                                                                      */
/* ----------------------------------------------------------------------------------------------------------- */

.footer {
    position: relative;
    width: 100%;
    height: 40px;
    background-color: rgb(246, 220, 0);
}

.footer.below div {
    display: inline;
}

.footer.above {
    display: none;
}

.footer span, .footer a {
    position: relative;
    text-decoration: none;
    display: inline-block;
    color: rgb(0, 33, 54);
    font-size: 13px;
    margin-right: 10px;
    margin-left: 10px;
    line-height: 40px;
    cursor: pointer;
}

.footer a.logolink {
    position: absolute;
    display: block;
    height: 30px;
    right: 10px;
    top: 5px;
    margin: 0px;
    line-height: 0px;
}

.footer a img {
    height: 30px;
    width: auto;
}

@media screen and (max-width: 750px) {
    .footer span, .footer a {
        font-size: 12px;
    }
}

@media screen and (max-width: 580px) {
    .footer {
        height: 30px;
    }

    .footer span, .footer a {
        font-size: 11px;
        margin-right: 7px;
        margin-left: 7px;
        line-height: 30px;
    }
    
    .footer.above {
        display: block;
    }

    .footer.below div {
        display: none;
    }

    .footer a.logolink {
        position: absolute;
        display: block;
        height: 24px;
        right: 10px;
        top: 3px;
        margin: 0px;
        line-height: 0px;
    }
    
    .footer a img {
        height: 24px;
        width: auto;
    }
}

/* SITE VIEWER -----------------------------------------------------------------------------------*/

.siteviewer {
	position: absolute;
	left: 10px;
	top: 5px;
	z-index: 105;
	width: 100%;
	height: 100%;
    display: none;
}

.siteviewer .sitecontent {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 33, 54);
    z-index: 105;
}

.siteviewer .sitecontent .htmlcode {
    width: 100%;
    height: auto;
    overflow: auto;
}

.siteviewer .sitecontent .htmlcode p {
    margin: 0px;
    margin-bottom: 6px;
}

.siteviewer .sitecontent .htmlcode h1 {
    font-weight: normal;
    font-size: 15px;
    margin: 0px;
    margin-bottom: 15px;
    color: #fff;
}

.siteviewer .sitecontent .htmlcode h2 {
    font-weight: normal;
    font-size: 13px;
    margin: 0px;
    margin-bottom: 12px;
    color: #fff;
}

.siteviewer .sitecontent .htmlcode .yello {
    color: rgb(246, 220, 0);
}

.siteviewer .sitecontent .htmlcode a {
    color: rgb(246, 220, 0);
    text-decoration: underline;
}
.siteviewer .sitecontent .htmlcode a:hover {
    color: #fff;
}


@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .siteviewer {
        position: fixed;
        left: 0px;
        top: 0px;
        z-index: 105;
        width: 100%;
        height: 100%;
        display: none;
    }

    .siteviewer .sitecontent {
        padding: 10px;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
    }
}


/* IMAGE VIEWER ----------------------------------------------------------------------------------*/

.imageviewer {
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 105;
	width: 100%;
	height: 100%;
    background-color: rgb(0, 33, 54);
    display: none;
}

.imageviewer .viewerclose {
    position: absolute;
    right: 5px;
    top: 5px;
    background-color: rgb(0, 33, 54,.6);
    text-align: center;
    width: 40px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    font-size:  22px;
    color: #fff;
    z-index: 105;
}

.siteviewer .siteviewerclose {
    display: none;
    text-align: right;
    margin-bottom: 10px;
}

.imageviewer .viewerclose:hover {
    color: rgb(246, 220, 0);
}

.currentimage {
	z-index: 103;
    position: absolute;
    top: 2px;
    overflow: hidden;
    background-position: center center;
    background-size:  cover;    
}

.imageviewer .credits {
    position: absolute;
    left: 10px;
    bottom: 0px;
    font-size: 11px;
    text-align: center;
    z-index: 107;
    width: calc(100% - 20px);
    height: 36px;
    background-color:  rgba(0, 33, 54,.6);
    color: #fff;
}


.bigslider {
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    top: calc(50% - 20px);
    font-size: 25px;
    cursor: pointer;
    color: #fff;
    background-color:rgb(0, 33, 54,.6);
    z-index: 104;
}

.bigslider:hover {
    color: rgb(246, 220, 0);
}

.bigslider.next {
    right: 5px;
}

.bigslider.prev {
    left: 5px;
}

@media screen and (max-width: 700px), screen and (max-height: 510px) {
    .siteviewer .siteviewerclose {
        display: block;
    }

}


/* SPINNER ----------------------------------------------------------------------------------*/

.spinner {
    display: flex;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    color: #fff;
    z-index: 102;
    justify-content: center;
    align-items: center;
}
.imageviewer .spinner {
    height: calc(100% - 50px);
}

.lds-dual-ring {
    vertical-align: middle;
    display: inline-block;
    width: 100px;
    height: 100px;
  }
  .lds-dual-ring:after {
    content: " ";
    display: block;
    width: 100px;
    height: 100px;
    margin: 1px;
    border-radius: 50%;
    border: 10px solid #fff;
    border-color: #fff transparent #fff transparent;
    animation: lds-dual-ring 1.2s linear infinite;
  }
  @keyframes lds-dual-ring {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }