/* Theme Name: Darwin */
/* MONTSERRAT */
@font-face {
    font-family: 'Bold';
    src: url('font-face/bold-webfont.woff2') format('woff2'), url('font-face/bold-webfont.woff') format('woff');
    font-weight: normal; font-style: normal;
}
@font-face {
    font-family: 'Light';
    src: url('font-face/light-webfont.woff2') format('woff2'), url('font-face/light-webfont.woff') format('woff');
    font-weight: normal; font-style: normal;
}
@font-face {
    font-family: 'ExBold';
    src: url('font-face/mbold-webfont.woff2') format('woff2'), url('font-face/mbold-webfont.woff') format('woff');
    font-weight: normal; font-style: normal;
}
@font-face {
    font-family: 'Regular';
    src: url('font-face/regular-webfont.woff2') format('woff2'),url('font-face/regular-webfont.woff') format('woff');
    font-weight: normal;font-style: normal;
}
@font-face {
    font-family: 'Semi';
    src: url('font-face/semi-webfont.woff2') format('woff2'), url('font-face/semi-webfont.woff') format('woff');
    font-weight: normal; font-style: normal;
}
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
textarea{resize : none;}
a:active, a:link, a:visited { outline: none !important;}
a:focus, a:link, a:visited {-moz-outline-style: none !important;}
a, a:hover {text-decoration : none !important;}
table {border-collapse: collapse; border-spacing: 0;}
body, a, input, textarea, label {
    font-family: 'Regular';
    font-size: 14px;
    color : #4d4d4d;
    line-height : 140%;
}
img, fieldset, input, textarea {border : 0px;}
a *{cursor : pointer !important;}
a:hover img {opacity : 0.9;}
h1,h2,h3,h4,h5{display : block; font-weight : normal;}
.clearer{
    display:block !important;
    height: 0px !important;
    width: 0px !important;
    clear: both !important;
    float: none !important;
}
.left{float: left;}
.right{float: right;}
body {display: flex;}
#main-container {
    margin-left: 390px;
    width: calc(100% - 390px);
}
section {min-height: 100vh;}
#home {background: #5e42a6;}
#projects {background: #806AA6;}
#obj {background: #179F97;}
#partner {background: #7598BA;}
#contacts {background: #4E6882;}
/* SIDEBAR */
.logo{
    margin: 50px auto;
    width: 250px;
    display: block;
    position: absolute;
    top: 4%;
    left: 60px;
}
.logo img{width: 100%; display: block;opacity: 0;}
.s-project, .s-obj, .s-contacts {display: none;}
.logo div{position: relative;}
.logo img {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    transition: opacity 0.5s ease; 
    opacity: 0;
    z-index: 1;
}
.logo img.active-logo {
    opacity: 1;
    z-index: 2; /* sempre sopra */
}
#sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 290px;
    padding: 0px 50px;
    height: 100vh;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.inner {width: 100%;}
#main-container {
    margin-left: 250px;
    width: calc(100% - 250px);
}
/* MENU */
#sidebar nav ul {
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0;
}
#sidebar nav ul li {margin: 40px 0;}
#sidebar nav ul li a {
    font-family: 'Semi';
    text-transform: uppercase;
    font-size: 14px;
    color: #09395E; /* testo fisso */
    display: block;
    position: relative;
    padding-bottom: 15px;
    text-align: right;
    letter-spacing: 3px;
    transition: none; /* testo non animato */
}
#sidebar nav ul li a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #FFEFDF; /* linea base sempre visibile */
}
/* LINEA ANIMATA HOVER/ACTIVE DA DESTRA A SINISTRA */
#sidebar nav ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0; /* parte da destra */
    width: 100%;
    height: 2px;
    background: #FAA85F; /* linea attiva/hover */
    transform: scaleX(0); /* inizio invisibile */
    transform-origin: right; /* animazione da destra a sinistra */
    transition: transform 0.5s ease;
}
/* Active: linea animata */
#sidebar nav ul li a.active::after {transform: scaleX(1);}
#sidebar nav ul li a.active{color: #09395E !important;}
#sidebar nav ul li a:hover {color: #265D87;}

#sidebar nav.nav-project ul li a::before {background: #E2DBEE;}
#sidebar nav.nav-obj ul li a::before {background: #D1ECEB;}
#sidebar nav.nav-partner ul li a::before {background: #E4EBF2;}

#sidebar nav.nav-project ul li a::after {background: #8965B2;}
#sidebar nav.nav-obj ul li a::after {background: #179F97;}
#sidebar nav.nav-partner ul li a::after {background: #7598BA;}
/* HOME */
#home{
    background: url(images/header.jpg) no-repeat center center !important;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}
.header-info{
    position: absolute;
    left: 420px;
    bottom: 0px;
    padding: 100px 500px 100px 100px;
}
.header-info h1{
    font-size: 80px;
    font-family: 'Bold';
    color: #fff;
    line-height: 82px;
    margin-bottom: 15px;
}
.header-info h2{
    font-family: 'Semi';
    font-size: 34px;
    color: #fff;
    line-height: 44px;
    margin-bottom: 15px;
}
.header-info p{
    font-family: 'Light';
    font-size: 24px;
    line-height: 34px;
    color: #fff;
}
.header-info h2 span{color: #FAA85F;}
.logos{
    display: block;
    width: 100%;
    max-width: 640px;
    margin-top: 30px;
}
.header-info > * {
    opacity: 0;
    animation: fadeIn 1s ease forwards; /* più lenta */
}
/* Animazione semplice */
@keyframes fadeIn {
    to {
        opacity: 1;
    }
}
.header-info h1 {animation-delay: 0.5s;}
.header-info h2 {animation-delay: 1.5s;}
.header-info p {animation-delay: 1.5s;}
.header-info img.logos {animation-delay: 2.5s;}
/* PROJETCS */
.container{padding: 110px 250px 100px 280px;}
.container * {color: #fff;}
.title{
    font-family: 'Bold';
    font-size: 48px;
    line-height: 48px;
}
.subtitle{
    font-family: 'Semi';
    font-size: 24px;
    line-height: 36px;
}
.entry p{text-align: justify;}
.mb10{margin-bottom: 10px !important;}
.mb15{margin-bottom: 15px !important;}
.mb20{margin-bottom: 20px !important;}
.mb25{margin-bottom: 25px !important;}
.mb30{margin-bottom: 30px !important;}
.mt50{margin-top: 50px !important;}
.mt25{margin-top: 25px !important;}
.d-b{display: block !important;width: 100%;}
.d-ib{display: inline-block !important;}
.pb0{padding-bottom: 0px !important;}
.light{
    background: #2EA9A2;
    position: relative;
    padding: 22px 30px;
    padding-left: 130px;
    margin-bottom: 25px;
    border-radius: 20px;
}
.light span{
    font-family: 'Bold';
    font-size: 34px;
    position: absolute;
    left: 25px;
    top: 31px;
}
.light strong{
    font-weight: normal;
    font-family: 'Bold';
    font-size: 21px; 
    line-height: 28px;
    margin-bottom: 5px;
    display: block;
}
.data{margin-top: 35px;margin-bottom: 100px;}
.data div{
    width: 280px;
    float: left;
}
.data img{
    float: left;
    height: 70px;
    margin-right: 15px;
}
.data span{
    float: left;
    font-family: 'Light';
    text-transform: uppercase;
    color: #fff;
    font-size: 28px;
    line-height: 32px;
    padding: 6px 0px 5px 0px;
}
.data strong{
    font-weight: normal;
    font-family: 'Semi';
    font-size: 27px;
    color: #fff;
    float: left;
}
#partner strong{
    font-weight: normal;
    font-family: 'Bold';
    font-size: 21px; 
    line-height: 28px;
    margin-bottom: 5px;
    display: block;
}
#partner p{color: #fff; text-align: justify;}
#partner .container div{
    position: relative;
    padding-right: 150px;
    margin-bottom: 30px;
}
#partner img{
    position: absolute;
    right: -150px;
    height: 90px;
    margin-top: -45px;
    top: 50%;
    display: block;
}
.mail{margin: 100px 0px 60px 0px !important;padding-right: 0px !important;}
.mail img{
    position: static !important;
    height: auto !important;
    display: block;
    width: 100px;
    margin: 0 auto 25px auto !important;
}
.mail a{
    display: block;
    width: 600px;
    margin: 0 auto;
    text-align: center;
    font-family: 'Bold';
    font-size: 44px; 
    line-height: 54px;    
    color: #B3CAE0;
    transition: color 0.3s ease;
}
.mail a:hover{
    color: #fff;
}
.copyright{
    text-align: center;
    padding: 30px 0px 0px 0px !important;
    color: #fff;
}
section#partner{padding-bottom: 5px !important;}