html, body {font-size: 16px; font-family: Raleway, 'Helvetica', sans-serif;}

.red {color: #bf1c2d;}
.grey {color: #bdbdbd;}
#video-wrapper {
    position: fixed;
    top:0;
    left:0;
    bottom: 0;
    right:0;
    overflow: hidden;
    z-index: -10;
}
#video-background {
    position: absolute;
    top:0;
    right:0;
    min-width: 100%;
    min-height: 100%;
    filter: grayscale(80%);
    opacity: 0.5;
    object-fit: cover;
}
.content {max-width: 1200px; width: 90%; margin: 0 auto;}
.content::after {content: ''; clear: both;}
#wrapper-header { background: rgba(255,255,2555, 0.9);}
#header {
    height: 90px;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
#logo {
    max-height: 100%;
    display: inline-block;
    max-width: 230px;
}
#lang {
    order: 3;
}
#logo-20 {
    height: 70px;
    margin-right: 40px;
}
.lang-active {font-weight: bold;}
.lang-link, .lang-link:hover, .lang-link:link, .lang-link:visited, .lang-link:active {color: #000000;}

.quote {text-align: right;}

#home-head {width: 100%; background: rgba(218, 218, 218, 0.5);}
#home-head-img {background: url('img/home_lake2.jpg') no-repeat left center; background-size: cover;  height: 480px; }
#home-head-img.winter {background: url('img/banner_inverno.jpg') no-repeat left center; background-size: cover; }

#page {width: 100%; }
.page-content {padding: 20px; background: rgba(255, 255, 255, 0.7);}

#page.homepage {background: rgba(255, 255, 255, 0.6);}
#page.homepage .page-content {background: none;}


#home-menu, #menu {width: 100%; background: rgba(255, 255, 255, 0.8);}
#nav-menu {width: calc(100% - 300px); display: inline-block; position: absolute; right:0; top: calc(100% - 3.4em)}

#menu-main {display: flex; width: 100%; position: relative;}

#menu-main>.menu-item-wrapper>.menu-item,
#menu-main>.menu-item,
#sidebar-menu>.menu-item-wrapper>.menu-item {font-weight: bold; }
.submenu { overflow-y: hidden; z-index: -1;transition: background-color 200ms ease;}
.submenu>.menu-list {-ms-transform: translateY(-100%); transform: translateY(-100%); transition: transform 300ms ease;}
.submenu>.submenu-content {visibility: hidden; padding: 20px;}

#home-menu .submenu {height: 480px; position: absolute; width: 100%;}
#home-menu .submenu.full {top: unset; bottom: -480px;}
#menu .menu-item-wrapper, #home-menu .menu-item-wrapper {position: relative;}
#menu .menu-item-wrapper.full, #home-menu .menu-item-wrapper.full {position: static;}
#menu .submenu {position: absolute; width: 100%;}

.menu-item-wrapper {flex: 1 1 auto;}

.menu-item-wrapper:hover>.submenu {background: rgb(218, 218, 218); z-index: 2;}
.menu-item-wrapper:hover>.submenu.helper {background: none !important;}
.menu-item-wrapper:hover>.submenu>.menu-list {-ms-transform: translateY(0);transform: translateY(0);}
.menu-item-wrapper:hover>.submenu>.submenu-content {visibility: visible;}

#home-menu .menu-item-wrapper {z-index: 8;}
#home-menu .menu-item-wrapper:hover>.submenu {background: rgba(218, 218, 218, 0.9);}
#home-menu .menu-item-wrapper.full {z-index: 5;}
#home-menu .menu-item-wrapper.full:hover {z-index: 15;}

#home-menu .submenu {border-right: 1px solid #bdbdbd;}
#home-menu .submenu.full {border-right: none;}
#home-menu .submenu.helper {border-left: 1px solid #bdbdbd; border-right: none;}


#nav-menu .menu-item-wrapper {z-index: 2;}
#nav-menu .menu-item-wrapper.full {z-index: 1;}
#nav-menu .menu-item-wrapper:hover {z-index: 10;}
.menu-item-wrapper:hover .submenu.full {z-index: 10;}

#sidebar-menu .submenu>.menu-list {transition: transform 500ms ease-in-out;max-height: 0;}
#sidebar-menu .menu-item-wrapper:hover>.submenu {background-color: transparent;}
#sidebar-menu .menu-item-wrapper:hover>.submenu>.menu-list {max-height: none;}


.menu-item.expandable::after {
    content: '\e080';
    font-family: 'Glyphicons Halflings';
    font-weight: normal;
    position: absolute;
    right: 1em;
    width: 1em;
    height: 1em;
    top: 1em;
    display: block;
    transition: transform 300ms ease;
    transform: rotate(90deg);
}
.menu-item-wrapper:hover>.menu-item::after {-ms-transform: rotate(-90deg);transform: rotate(-90deg);}



.menu-item {position: relative; padding: 1em; display: block; border-bottom: 1px solid #bdbdbd; color: #000000;}
.menu-item:hover, .menu-item.active {text-shadow: 0 0 0 #000000; background: #dadada; }
.menu-item.active {font-weight: bold;}
.menu-item::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 3px;
    -ms-transform: scale(0);
    transform: scale(0);
    transition: transform 200ms ease, background 300ms ease;
    top:0;
    left:0;
}
.menu-item:hover::before {background-color: black; -ms-transform: scale(1); transform: scale(1);}
.menu-item.active::before {background-color: #bf1c2d; -ms-transform: scale(1); transform: scale(1);}

.menu-item:visited, .menu-item:link, .menu-item:active, .menu-item:hover {color: #000000;}

.nav-wrapper { padding: 2% 0;}
#wrapper-main {background-color: rgba(189, 189, 189,0.9); padding: 20px 0;}

#breadcrumb {
    color: #656565;
    margin-bottom: 1em;
}

#box-container {
    display: flex;
    flex-wrap: wrap;
}
.fund-box {
    border: 1px solid #bdbdbd;
    box-shadow: 0 0 6px 1px #dadada;
    background: #f4f4f4;
    display: block;
    margin: 1vw 2% 1vw;
    width: 46%;
    padding-bottom: 30px;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    color: inherit;
    font-size: 0.9em;
}
.fund-box.disabled>.box-content {filter: blur(4px); opacity: 0.8;}

.fund-box:hover, .fund-box:visited, .fund-box:link, .fund-box:active {color: inherit; text-decoration: none;}
.fund-box:hover {box-shadow: 0 0 6px 1px #bdbdbd;}
.box-header {
    padding: 1em;
    border-bottom: 8px solid #dadada;
    position: relative;
    height: 6.5em;
}
.box-header h3 {margin: 0;}
.box-header::after,
.box-header::before {
    content: '';
    position: absolute;
    bottom: -8px;
    height: 8px;
    background: #bf1c2d;
    opacity: 0;
    width: 0;
    transition: all 300ms ease;
}
.box-header::before {left: 0;}
.box-header::after {right:0;}
.fund-box:hover .box-header::before,
.fund-box:hover .box-header::after {
    opacity: 1;
    width: 51%;
}
.box-main {padding: 1em; }
.box-main-cell {font-size: 1.3em; width: 49%; display: inline-block;}
.fund-box .small {display: inline-block; font-size: 0.8rem; margin-top: 0.4em;}

.fund-box p {padding: 0.4em 1em;}

.box-footer {
    position: absolute;
    background: #bf1c2d;
    color: #ffffff;
    left:0;
    bottom: 0;
    width: 100%;
    padding: 0.6em 1em ;
    display: block;
    transform: translateY(3em);
    transition: transform 200ms ease;
}
.fund-box:hover .box-footer {transform: translateY(0); text-decoration: underline;}

.fund-box.disabled {
    padding: 0;
}

.box-disabled-logo {
    max-width: 160px;
    display: block;
    margin: 30px auto 0;
}
.box-disabled-text{
    padding: 0 5% 5%;
    text-align: center;
}
.fund-box.disabled .box-link {color: #bf1c2d;}
.fund-box.disabled:hover .box-link {text-decoration: underline;}

#footer { width: 100%; padding: 2em 0; background: rgba(255, 255, 255, 0.9);}
.disclaimer, .disclaimer:hover, .disclaimer:visited, .disclaimer:link, .disclaimer:active {color: #000000; text-decoration: none;}

.modal-title {font-weight: bold;}
#disclaimer-container {
    width: 100%;
    max-height: 140px;
    overflow-y: scroll;
    border-radius: 1px;
    box-shadow: 0 0 3px 1px #dadada inset;
    padding: 10px;
    font-size: 0.8em;
}
#disclaimer-container li {margin-bottom: 6px;}
#solution-owl {height: 1em; max-height: 17px;}


ul.button-list {list-style: none; padding: 0;}
ul.button-list>li,
.button-link{
    display: inline-block;
    width: 100%;
    margin: 15px 0;
    padding: 1.8em;
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 0 6px 0 #9d9d9d ;
    border-radius: 4px;
}
ul.button-list>li:hover,
.button-link:hover {
    box-shadow: 0 0 6px 0 #bf1c2d;
    background: rgba(255, 255, 255, 0.85);
}

ul.button-list.grey>li {
    background: #D1D2D4;
    color: #000000;
}

.button-link:visited, .button-link:link, .button-link:active {color: #000000; text-decoration: none;}
.button-link:hover {color: #bf1c2d; text-decoration: none;}

.flex-row {
    display: flex;
    flex-direction: row;
}
.col-left {
    flex: 0 0 260px;
    margin-right: 1.6em;
}
.flex-row .img-wrap {
    flex: 1 0 20%;
    margin: 3px;
}
.grey-bar {
    background-color: #b2b3b7;
    color: #ffffff;
    padding: 6px;
    margin: 4px 0;
    font-weight: bold;
    font-size: 1.3em;
}

video {max-width: 100%;}
.brochure,
.brochure:hover,
.brochure:active,
.brochure:visited {
    color: inherit;
}

/* CMS ELEMENTS */
.item-image {max-width: 100%;}
.item-image img {display: block; max-width: 100%; margin: auto;}

.item-text iframe, .item-imgtext iframe {
    margin: 0 auto;
    display: block;
    max-width: 100%;
    width: 100%;
    height: 300px;
}
.item-text img, .item-text img {max-width: 100%;}

.item-imgtext {max-width: 100%;}
.item-imgtext::after {content: ''; display: block; clear: both;}
.item-imgtext ul, .item-imgtext ol {overflow: hidden;} /* fix allineamento lista con float */
.imgpos1 { max-width: 50%; float: left; margin: 1em 2em 1em 0;} /* LEFT */
.imgpos2 { display: block; margin: auto;} /* TOP */
.imgpos3 { max-width: 50%; float: right; margin: 1em 0 1em 2em; } /* RIGHT */
.imgpos4 { display: block; margin: auto;} /* BOTTOM */

.container-video {
    width: 75%;
    margin: 10px auto 0;
}
.item-video {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.item-video iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
}
.pagelogo20 img {
    margin-right: 1em;
}

/* SPECIAL */
#fund-link {
    display: inline-block;
    margin: 0.5em 0;
    padding: 1em;
    border: 1px solid #ffffff;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.8);
    color: #000000;
    text-decoration: none;
    box-shadow: 0 0 6px 0 #bf1c2d;
}
#fund-link:visited, #fund-link:link {color: #000000; text-decoration: none;}
#fund-link:hover {color: #bf1c2d; text-decoration: none;}

.table-wrapper {max-width: 100%; overflow: auto;}
#table-struttura {
    width: 100%;
    border-collapse: separate;
    border-spacing: 30px;
    text-align: center;
}
#table-struttura td {padding: 10px;}
#table-struttura tr:not(:first-child) td:not(:first-child) {min-width: 160px; background: rgb(192, 80,77); width: 30%; color: #ffffff;}
#table-struttura tr:nth-child(1) {
    font-weight: bold;
}
#table-struttura tr:nth-child(2) td:not(:first-child){
    background: #bf1c2d;
    line-height: 1.2em;
}
#table-struttura tr:nth-child(3) td:not(:first-child) {
    background: rgb(149, 55, 53);
}
#table-struttura ul {padding: 0; list-style-position: inside; margin: 0;}

/* PAGINA REFUSED */
#refused-background {width: 100%; height: 100%; position: relative;}
#refused-content {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
#refused-logo img {max-width: 300px;}

#banner {
    display: block;
    max-width: 100%;
    max-height: 80vh;
    margin: 0 auto;
    cursor: pointer;
}
#alert-close {border-color: transparent;}
#alert-continue {border-color: #bf1c2d;}


@media (max-width: 960px) {
    .box-header {height: 8em;}
}
@media all and (max-width: 800px) {
    html, body {min-width: 0;}
    html.noscroll, body.noscroll {overflow: hidden;}
    .content {max-width: none; width: 90%;}

    #btn-menu, #btn-sidebar {
        background: url('img/menu.png') no-repeat; background-size: contain;
        position: absolute;
        top: 50px;
        right: 10px;
        width: 30px;
        height: 30px;
    }
    #logo {
        max-width: calc(90vw - 110px);
    }
    #logo-20 {position: absolute; right: 0; top: 23px; height: 50px;}
    #lang {position:absolute; top: 10px; right: 10px;}

    #page-content {
        width: 100%;
    }
    #menu, #home-menu, #nav-menu {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        overflow: auto;
        min-width: 240px;
        width: 50%;
        max-width: 320px;
        border-right: 1px solid #bf1c2d;
        box-shadow: 0 0 8px 0 #bf1c2d;
        background: #dadada;
        transform: translateX(-330px);
        transition: transform 300ms ease-in-out;
        z-index: 100;
    }
    #menu.open, #home-menu.open, #nav-menu.open {
        transform: translateX(0);
    }
    #menu-main {
        flex-direction: column;
    }
    .menu-item-wrapper>.submenu>.menu-list {transform: none;}
    .menu-item.expandable::after {transform: rotate(90deg);}

    #home-menu .submenu {height: auto;}

    .submenu {position: static !important; border: none !important;}
    .submenu>.submenu-content {visibility: visible !important; }
    #sidebar-menu .submenu>.menu-list {max-height: none;}

    .menu-item-wrapper>.menu-item::after,
    .menu-item-wrapper:hover>.menu-item::after {transform: none;}

    .fund-box { width: 96%;}
    .box-header {height: auto;}
    .box-footer {transform: none;}


    #disclaimer-container {margin-bottom: 1em;}

    .imgpos1,
    .imgpos2,
    .imgpos3,
    .imgpos4 {
        display: block;
        max-width: 100%;
        margin: 2em 0;
    }


}
@media all and (max-device-width: 800px) {
    .nomobile {display: none;}
    #video-background {display: none;}
    #video-wrapper {background: url('img/video_poster.png') no-repeat center bottom; background-size: cover; filter: grayscale(100%); opacity: 0.5;}

    #page-head-block {display: none;}

}
@media all and (max-width: 800px) {
    .col-left {flex-basis: 160px;}
}
@media all and (max-width: 600px) {
    .flex-row {
        flex-direction: column;
    }
    .col-left {
        flex-basis: auto;
        margin-right: 0;
        margin-bottom: 1.6em;
    }
    .flex-row img {margin: 1.4em auto; flex: 1 1 auto; width: auto;}
    .flex-row .separator {
        margin: 0 -.9em;
        border-bottom: 1px solid #bf1c2d;
    }
}
@media all and (min-width: 801px) {
    .mobile {display: none;}
    .flex-row .separator {display: none;}

    #menu-main>.menu-item-wrapper>.menu-item {border-right: 1px solid #bdbdbd;}
    #menu-main>.menu-item-wrapper:first-child>.menu-item {border-left: 1px solid #bdbdbd;}

    #nav-menu>#menu-main>.menu-item-wrapper>.menu-item {text-align: right; border: 1px solid #dadada;}
    #nav-menu>#menu-main>.menu-item-wrapper>.menu-item.expandable {padding-right: 2.5em;}
}

@media all and (max-device-width: 480px) {
    .container-video {
        width: 100%;
    }

    .pagelogo20 {
        width: 100%;
        text-align: center;
    }
    .pagelogo20 img {
        display: block;
        margin: 0 auto 1em;
    }
    .pagelogo20 span {
        display: block;
    }

    .dm-mt-20{
        margin-top:20px
    }
}
