/*
Color scheme https://coolors.co/d8dbe2-a9bcd0-58a4b0-373f51-1b1b1e
*/

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
    outline: none;
    /*color: #1B1B1E;*/
}

/*
 * -- BASE STYLES --
 * Most of these are inherited from Base, but I want to change a few.
 */

/* html, body {
    height: 100%;
} */

.content > :not(.wider) {
    margin: 0 auto;
    padding: 0 2em;
    max-width: 1200px;
    margin-top: 20px;
    margin-bottom: 50px;
    line-height: 1.6em;
    color: #1B1B1E;
}

 @media (max-width: 991px){
    .content > :not(.wider) { 
        margin: 0;
        padding: 0 1em;
        max-width: 100%;
        margin-top: 20px;
        margin-bottom: 50px;
        line-height: 1.6em;
        color: #1B1B1E;
    }
}

.wider-content {
    margin: 0 auto;
    padding: 0 2em;
    max-width: 1200px;
    line-height: 1.6em;
  }

.pure-center {
    display: flex;
    justify-content: center;
}

h1,
h2,
h3,
h4,
h5,
h6,
label {
    color: #373F51;
    line-height: 1.6em;
}

h4 {
    margin-block-end: 0;
}

p {
    margin-block-start: 0.1rem;
}

.underline {
    text-decoration: underline;
}

.pure-img-responsive {
    max-width: 100%;
    height: auto;
}
.pure-img {
    margin-bottom: 0.5rem;
}
/*
 * -- LAYOUT STYLES --
 * These are some useful classes which I will need
 */

/* Tables */

/* .test {
    width: 100%;
    
    display: block;
} */

.mastertable {
    height: 100%;
    padding: 0.5rem 0 0 0.5rem;
    
}

.mastertable label {
    display: inline-block;
    width: 5rem;
    line-height: 1.5rem;
}

.cboxbgimg .mastertable {
    background-color: white;
    padding: 0.7rem 1rem;
}

.cboxbgimg p {
    background-color: white;
    padding: 0.7rem 1rem;
}


.img-overlay-wrap {
    position: relative;
    display: inline-block; /* <= shrinks container to image size */
    /* width: 100%; */
  }

.img-overlay-wrap svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.img-overlay-wrap img { /* <= optional, for responsiveness */
    display: block;
    max-width: 100%;
    height: auto;
}
/* LAYOUT TABLE ROW - CELLS */

.row {
    height: 100%;
}

.pure-cell {
    height: 100%;
    padding-bottom: 2rem;
}

.element {
    padding: 0;
    box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.1);
    margin: 0px 6px 0px 6px;
    height: 100%;
}

.element > .spacer {
    height: 2rem;
}

.element-text > h3 {
    text-align: center;
    padding-bottom: 0.8rem;
}

.element-text {
    padding: 0.8rem;
}

/* */

.button {
    text-align: center;
    text-align: -webkit-center;
    position: relative;
}

/* disable TABLE for mobile */

@media (max-width: 991px) {
    .pure-cell {
        height: auto;
        margin-top: 1rem;
    }
}


/* Paragraph Styles  */

p {
    display: inline-block;
}

p.reset_line {
 clear: both;
 margin-top: 1rem;
}

.citation {
    font-style: italic;
    font-size: 90%;
    /* border-left: 1px solid #aaa; */
}
.citation span {
    color: #8A0B14;
}

.footnotes {
    display: inline-block;
    padding: 10px;
    border-top: 1px solid #aaa;
}

.footnotes div {
    font-size: 80%;
    line-height: 1.2rem;
}

.footnotes.paragr {
    margin-bottom: 60px;
}

.pagetext h4 {
margin-bottom: 0.5rem;
}

.pagetext h2 {
    margin-bottom: 1.5rem;
    }

.pagetext ul {
    margin-left: 0;
    margin-top: 0.1rem;
    margin-bottom: 0;
    }
 
ul.list_num {
    list-style-type: decimal;
    }

ul.list_abc {
    list-style-type: lower-alpha;
}

/* filterizr style */

.filterdiv {
    margin: auto;
    width: 88%;
}

.filter-button {
    text-align: center;
    padding-bottom: 15px;
}

.filtr-item {
    text-align: center;
}

.filtr-item img {
    width: 200px;
    padding: 5px 10px;

}
.filtr-item:hover img {
    -webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	opacity: .6;
}

.filtr-item span  {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    color: #fff;
    text-transform: uppercase;
    padding: 5px 5px;
    background-color: rgba(0,0,0,.5);
    border-radius: 3px;
    z-index: 1;
    text-align: center;
    text-align: -webkit-center;
}
.filtr-item:hover span {
    background-color: #58a4b0;
    -webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
/* end filterizr style */

.img_article {
width: 25rem;
float: left;
margin-right: 1.5rem;
padding: 0.5rem;
border: 1px solid #A9BCD0;
}

.img_rg {
 float: right;
 margin-left: 1.5rem;
 margin-right: 0;
}


/* IMAGE ZOOMING */

span.zoom {
    width: 25rem;
    /* display: block; */
    float: left;
    margin-right: 1.5rem;
    padding: 0.5rem;
    border: 1px solid #A9BCD0;
}
span.zoom > img {
    width: 100%;
}
.zoom:after {
    content: '';
    display: block;
    width: 33px;
    height: 33px;
    position: absolute;
    top: 0;
    right: 0;
    background: url(../../img/common/lens.png); }

/* TIMELINE */

:root{
    --timeline-color-background: #eee;
}

.timeline {
    margin-bottom: 5rem;
}


.timeline img {
    width: 150px;
    float: left;
    padding-right: 1rem;
}

.timeline h4 {
    margin-top: 0;
    margin-bottom: 0;
}

.timeline.events img {
    width: 180px;
}

.timeline.events p {
 padding: 0;
 background-color: var(--timeline-color-background);
 width: 100%;
}

.timeline__content {
    background-color: var(--timeline-color-background) !important;
}

.timeline__frame {
    overflow: hidden;
}

.timeline__item--right .timeline__content:after {
    border-right: 11px solid var(--timeline-color-background) !important;
}
.timeline__item--left .timeline__content:after {
    border-left: 11px solid var(--timeline-color-background) !important;
}

@media (max-width: 991px) {
    .timeline--mobile .timeline__item .timeline__content:after {
        border-left: none !important;
        border-right: 10px solid var(--timeline-color-background) !important;
    }
}

/* Box style*/

.box {
    width: 100%;
    height: 100%;
}

.box .text {
    padding: 0.5rem;
    line-height: 1.5rem;
}

.l-box {
    padding: 1rem;    
}

.l-box {
    margin-bottom: 0.5rem    
}

.box-left {
    padding-right: 1em;
}

.box-central { /* central box */
    padding: 0 0.5rem;
}

.box-right {
    padding-left: 1em;
}

@media (max-width: 991px){
    .box-left {
        padding: 0;
    }
    
    .box-central {
        padding: 0;
    }

    .box-right {
        padding: 0;
    }
    .box {
        padding: 0.5rem;
    }
}

.shadow {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    height: 100%;
    line-height: 0;
    padding: 0.5rem;
}

.is-center {
    text-align: center;
}
@media (max-width: 991px) {
    div.leftspace {
    display: none;
    }
}


/* img style */

.crop img {
    max-width: 100%;
    height: auto;
    
}



/* -- PURE FORM STYLES -- */

.pure-form label:first-of-type {
    margin-top: -0.7em !important;
}

.pure-form label {
    font-weight: bold;
    font-size: 100%;
}

.pure-form input[type] {
    border: 2px solid #ddd;
    box-shadow: none;
    font-size: 100%;
    width: 100%;
}

/* inizio Check Box */

input[type=checkbox] + label {
  display: block;
  margin-bottom: 1rem;
  cursor: pointer;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox] + label:before {
  display: table;
  content: "\2714";
  border: 2px solid #ddd;
  border-radius: 0.3em;
  display: inline-block;
  width: 1.6em;
  height: 1.4em;
  padding-left: 0.3em;
  padding-bottom: 1.5em;
  margin-right: 0.5em;
  vertical-align: bottom;
  color: transparent;
  transition: .2s;
}

input[type=checkbox] + label:active:before {
  transform: scale(0);
}

input[type=checkbox]:checked + label:before {
  background-color: #2d3e50;
  border-color: #2d3e50;
  color: rgb(255, 255, 255);
}

input[type=checkbox]:disabled + label:before {
  transform: scale(1);
  border-color: #aaa;
}

input[type=checkbox]:checked:disabled + label:before {
  transform: scale(1);
  background-color: #bfb;
  border-color: #bfb;
}

/* fine Check Box */
.pure-form textarea {
    border: 2px solid #ddd;
    box-shadow: none;
    font-size: 100%;
    width: 100%;
    resize: none;
    margin-bottom: 1rem;
}


/* ERROR Styles */

.page-error {
    margin-top: 150px;
    margin-bottom: 60px;
    padding: 3rem;
    background-color: #eaeaea; 
    border: 2px solid #ddd;
    font-size: 150%;
    text-align: center;
}

.error {
    color: red;
    margin-top: 0.5rem;
    margin-left: 0.2rem;
}

.message {
  padding: 30px;
  max-width: 500px;
}

/* -- PURE BUTTON STYLES -- */
 .g-button {
    display: inline-block;
    padding: 0.15em 1.2em;
    margin-top: 1em;
    border-radius: 0.3em;
    box-sizing: border-box;
    text-decoration: none;
    font-weight: 300;
    text-align: center;
    transition: all 0.2s;
}

.g-button.negativ {
    border: 0.1em solid #FFFFFF;
    color:#FFFFFF;
}
.g-button.positiv {
    background-color: #2d3e50;
    border: 0.1em solid #2d3e50;
    color:#FFFFFF;
}
.g-button.selected {
    background-color: #58a4b0;
}

.g-button.inline{
    margin-right: 1em;
}

.g-button:hover {
    color: #2d3e50;
    background-color: white;
    cursor: pointer;
    }
@media all and (max-width:30em) {
    .g-button {
        display: inline;
        margin:0.4em auto;
        }
}

/*
 * -- MENU STYLES --
 * I want to customize how my .pure-menu looks at the top of the page
 */

.home-menu {
    height: 61px;
    padding: 0.5em;
    /* text-align: center; */
    box-shadow: 0 2px 2px rgba(0,0,0, 0.10);
    background: #2d3e50;
    display: inline-block;
    vertical-align: middle;
}
.home-menu img {
    /* margin-left: 15px;
    margin-top: 5px; */
    /* margin-bottom: 0; */
    height: 40px;

}
@media (max-width: 991px) {
  .home-menu img {
    margin-left: 3px;
    margin-top: 3px;
    margin-bottom: -2px;
  }
}

.home-menu h3,
.home-menu h4,
.home-menu h5,
.home-menu h6 {
    display: inline-block;
    color: #d8dbe2;
    margin-left: 1rem;
    letter-spacing: 0.1rem;
    line-height: 0rem;
}
@media (max-width: 991px) {
    .home-menu h6, .home-menu h4 {
    display: none;
    }
}

.pure-menu.pure-menu-fixed {
    /* Fixed menus normally have a border at the bottom. */
    /* border-bottom: none; */
    /* I need a higher z-index here because of the scroll-over effect. */
    z-index: 4;
}

.home-menu .pure-menu-heading {
    /* color: white;
    font-weight: 400;
    font-size: 120%;*/
    padding: 0; 
}

.home-menu .pure-menu-selected a {
    color: white;
}

.home-menu a {
    color: #58a4b0 !important;
}

.home-menu li a:hover,
.home-menu li a:focus
{
    background: none;
    background-color: #58a4b0;
    border: none;
    color: #373f51 !important;
}

/*
 * -- SPLASH STYLES --
 * This is the blue top section that appears on the page.
 */

.splash-container {
    background: #1f8dd6;
    z-index: 1;
    overflow: hidden;
    /* The following styles are required for the "scroll-over" effect */
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed !important;
    /* display: inline-block; */
}

/*
 * -- CONTENT STYLES --
 * This represents the content area (everything below the blue section)
 */
.content-wrapper {
    /* These styles are required for the "scroll-over" effect */
    position: absolute;
    top: 100%;
    width: 100%;
    min-height: 12%;
    z-index: 2;
    background: white;

}

.content-head {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3rem;
    margin-top: 7rem !important;
}

.content-head .lowercase {
    text-transform: none;
}

.content-head:not(.home){
    /* border-bottom: 1px solid #2d3e50; */
    padding-bottom: 1rem;
}

@media (max-width: 991px) {
    .content-head:not(.home) {
        padding-bottom: 1rem;
    }
}
.content-head-ribbon {
    color: white;
}

.ribbon h1 {
    margin-top: 0;
}

h2.content-subhead {
padding-top: 0.7rem;
}
@media (max-width: 991px) {
    .content-subhead {
        font-size: 100%;
        }
    h2.content-subhead {
        text-align: center;
        font-size: 120%;
        padding-top: 1.2rem;
    }
}


.ribbon {
    background: #2d3e50;
    text-align: center;
    line-height: 2.6em;
    padding: 14rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
}
@media (max-width: 991px) {
    .ribbon {
        padding: 2rem;
        line-height: 2rem;
    }
}

.ribbon h1,
.ribbon h2,
.ribbon h3,
.ribbon h4,
.ribbon h5,
.ribbon h6,
.ribbon label,
.ribbon p
{
    color: white;
}

/* This is the class used for the footer */
.footer {
    color: #D8DBE2;
    background: #111;
    /* position: fixed; */
    bottom: 0;
    width: 100%;
    min-height: 2rem;
    padding: 0.6em;
    font-size: 0.7rem;
    z-index: 6;
}
.footer a {
    color: #D8DBE2;
    text-decoration: none;
}
.footer a:hover{
    text-decoration: underline;
}

@media (max-width: 991px) {
  .footer {
    position: relative;
    font-size: 0.7rem;
    height: 1.8rem;
  }
  .content-head {
    font-weight: 200;
    letter-spacing: 0rem;
    font-size: 1.5rem;
    margin-top: 4rem !important;
    margin-bottom: -1.5rem !important;
    }
}
/*
 * -- TABLET (AND UP) MEDIA QUERIES --
 * On tablets and other medium-sized devices, we want to customize some
 * of the mobile styles.
 */
@media (min-width: 48em) {

    /* We increase the body font size */
    body {
        font-size: 16px;
    }

    /* We can align the menu header to the left, but float the
    menu items to the right. */
    .home-menu {
        text-align: left;
    }
        .home-menu ul {
            float: right;
        }

    /* We increase the height of the splash-container */
/*    .splash-container {
        height: 500px;
    }*/

    /* We decrease the width of the .splash, since we have more width
    to work with */
    .splash {
        width: 50%;
        height: 50%;
    }

    .splash-head {
        font-size: 250%;
    }

}

/*
 * -- DESKTOP (AND UP) MEDIA QUERIES --
 * On desktops and other large devices, we want to over-ride some
 * of the mobile and tablet styles.
 */
@media (min-width: 78em) {
    /* We increase the header font size even more */
    .splash-head {
        font-size: 100%;
    }
}