* {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0;
    font-family: "Nunito Sans", sans-serif;
    font-weight: 200;
    text-decoration: none;
    box-sizing: border-box;
    font-size: calc(14px + .3vw);
}

body {}

a {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

#openMenu:hover, #closeMenu:hover, #giu:hover, #prenota:hover, #paga:hover, .video:hover, #titoloVideo:hover, .casiclinici .row:hover, .testimonianze .row:hover {
    cursor: pointer;
}

* strong {
    font-weight: 600;
}

#imgTopCont {
    position: relative;
    width: 100%;
    height: 100vh;
    margin-bottom: 4vw;
    overflow: hidden;
    background-color: #000;
}

#imgTopCont img {
    position: absolute;
    opacity: 0;
    transition: opacity 1s;
}

#imgTopCont img.selected, #imgTopCont img.w, #imgTopCont img.h, #imgTopCont .slide.selected {
    opacity: 1;
}

#imgTopCont img.slide, #imgTopCont video.slide {
    position: absolute;
    opacity: 0;
    transition: opacity 3s;
}

#imgTopCont img.w, #imgTopCont .slide.w {
    width: 100%;
    top: 50vh;
    transform: translateY(-50%);
}

#imgTopCont img.h, #imgTopCont .slide.h {
    height: 100vh;
    left: 50%;
    transform: translateX(-50%);
}

#imgHeader {
    position: relative;
    width: 100%;
    max-height: 95vh;
    margin-bottom: 4vw;
    overflow: hidden;
    background-color: #000;
    height: calc(100vw*9/16);
    background-image: url(../img/pioggia.jpg);
    background-size: cover;
    background-position: center center;
}

#giu {
    position: absolute;
    bottom: 2vw;
    left: 7.5vw;
    width: 3vw;
    height: auto;
    /*animation-name: suegiu;
    animation-duration: 2s;
    animation-iteration-count: 5;*/
}

@-webkit-keyframes suegiu {
    0% {
        opacity: 1;
    }
    50% {
        opacity: .2;
        bottom: 22vh;
    }
    100% {
        opacity: 1;
    }
}

@keyframes suegiu {
    0% {
        opacity: 1;
    }
    50% {
        opacity: .2;
        bottom: 22vh;
    }
    100% {
        opacity: 1;
    }
}

@media only screen and (orientation: portrait) {
    #giu {
        width: 12vw;
        bottom: 8vh;
    }
    @-webkit-keyframes suegiu {
        0% {
            opacity: 1;
        }
        50% {
            opacity: .2;
            bottom: 12vh;
        }
        100% {
            opacity: 1;
        }
    }
    @keyframes suegiu {
        0% {
            opacity: 1;
        }
        50% {
            opacity: .2;
            bottom: 12vh;
        }
        100% {
            opacity: 1;
        }
    }
    #giu {
        display: none;
    }
}

#drpaolocampanella {
    position: absolute;
    left: 6vw;
    top: 3vw;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
}

#drpaolocampanella span {
    font-size: 1.1rem;
}

#textTop {
    position: absolute;
    top: 30%;
    left: 6vw;
    width: 70%;
}

#textTop h1 {
    color: #fff;
    font-size: 5rem;
    font-weight: 700;
    line-height: .8;
    text-shadow: 0px 0px 50px black;
    margin-bottom: 1vw;
}

#textTop h2 p {
    color: #fff;
    font-size: 2rem;
    font-weight: 200;
    line-height: 1;
    padding: 0;
    text-shadow: 0px 0px 30px black;
}

#textTop h2 p em {
    font-size: 1.2rem;
}

@media only screen and (orientation: portrait) {
    #drpaolocampanella {
        line-height: 1.2;
    }
    #drpaolocampanella span {
        display: block;
    }
    #textTop {
        width: 88vw;
    }
    #textTop h1 {
        font-size: 2rem;
        text-shadow: 1px 1px 10px black;
        text-align: center;
        margin-top: 8vw;
    }
    #textTop h2 {
        display: none;
    }
    #textTop h2 p {
        font-size: 1.3rem;
        line-height: 1.2;
        text-shadow: 1px 1px 4px black;
    }
    #textTop h2 p em {
        font-size: 1.1rem;
    }
}

@media only screen and (max-width: 767px) {
    #drpaolocampanella {
        line-height: 1.2;
    }
    #drpaolocampanella span {
        display: block;
    }
    #textTop h1 {
        font-size: 2rem;
        text-shadow: 1px 1px 10px black;
    }
    #textTop h2 p {
        font-size: 1.3rem;
        line-height: 1.2;
        text-shadow: 1px 1px 4px black;
    }
    #textTop h2 p em {
        font-size: 1.1rem;
    }
}

/* textTop in home */

#textTop .textSlide {
    position: absolute;
    width: 100%;
    opacity: 0;
    transition: all 1s;
    z-index: 1;
}

#textTop .textSlide:hover {
    transform: scale3d(1.1, 1.1, 1.1);
}

#textTop .textSlide.selected {
    opacity: 1;
    z-index: 2;
}

#textTop .textSlide h1 {
    transform: translateX(-2vw);
    transition: all 2s;
}

#textTop .textSlide.selected h1 {
    transform: translateX(0);
}

#textTop .textSlide h2 {
    transform: translateX(2vw);
    transition: all 3s;
}

#textTop .textSlide.selected h2 {
    transform: translateX(0);
}

#pallini {
    width: 100%;
    text-align: center;
    position: fixed;
    bottom: 2vw;
}

#pallini span {
    display: inline-block;
    width: 1vw;
    height: 1vw;
    margin: .2vw;
    font-size: 0;
    background-color: #eee;
    background-color: rgba(255, 255, 255, .6);
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .2);
}

#pallini span.selected {
    background-color: #fff;
}

#pallini span:hover {
    cursor: pointer;
    background-color: #f5f5f5;
    background-color: rgba(255, 255, 255, .8);
}

/* pallini VERTICAL */

@media only screen and (orientation: portrait) {
    #pallini {
        bottom: 2vh;
    }
    #pallini span {
        width: 5vw;
        height: 5vw;
        margin: .6vw;
    }
}

/* MENU */

#openMenu {
    position: fixed;
    display: block;
    right: 6vw;
    top: 3vw;
    width: 40px;
    height: auto;
}

.menuAperto #openMenu {
    display: none;
}

#closeMenu {
    position: fixed;
    right: -30%;
    top: 3vw;
    height: 25px;
    width: auto;
    transition: all 1s;
}

.menuAperto #closeMenu {
    right: 53%;
}

#mainMenu {
    position: fixed;
    top: 0;
    right: -55%;
    width: 50%;
    height: 100vh;
    background-color: #fff;
    background-color: rgba(255, 255, 255, .95);
    transition: all 1s;
}

#mainMenu * {
    transition: all .5s;
}

.menuAperto #mainMenu {
    right: 0;
}

#mainMenu ul {
    list-style: none;
    text-align: center;
}

#mainMenu>ul {
    margin-top: 50vh;
    transform: translateY(-50%);
}

#mainMenu>ul ul {
    overflow: hidden;
}

#mainMenu ul a {
    color: #333;
    font-size: 1.4rem;
    font-weight: 200;
    line-height: 3.5rem;
    text-shadow: 0px 0px 5px #fff;
}

#mainMenu>ul li ul a {
    font-size: 1rem;
    line-height: 1.6rem;
    height: 0;
    display: block;
}

#mainMenu ul a:hover {
    color: #333;
    /*font-weight: 700;*/
    cursor: pointer;
}

#mainMenu ul a:hover:before, #mainMenu ul a:hover:after {
    content: " + ";
}

#mainMenu ul li.selected a:hover:before, #mainMenu ul li.selected a:hover:after {
    content: " ";
}

#mainMenu>ul li.selected {
    margin: 4vh 0 6vh 0;
}

#mainMenu>ul li.selected ul a {
    height: 1.5rem;
}

#mainMenu li.selected>a {
    font-weight: 700;
}

#dottoripuntoit, #doctolibpuntoit {
    display: inline-block;
    position: absolute;
    left: 50%;
    bottom: 2em;
    transform: translate(-50%, 0);
    background-color: #fff;
    padding: .5em 1.4em;
    border-radius: 2em;
    border: 1px solid #ddd;
}
#doctolibpuntoit {
    bottom: 5em;
}
#dottoripuntoit:hover, #doctolibpuntoit:hover {
    color:#fff;
    background-color: #000;
}

/* MENU WINDOW VERTICALE */

@media only screen and (orientation: portrait) {
    #mainMenu {
        width: 85%;
        right: -90%;
    }
    #mainMenu ul a {
        font-size: 1.2rem;
        line-height: 2.5rem;
    }
    #closeMenu {
        top: 6vw;
    }
    .menuAperto #closeMenu {
        right: 7vw;
    }
}

/* MENU MOBILE ORIZZONTALE */

@media only screen and (max-width: 767px) {
    #mainMenu ul a {
        font-size: 1.2rem;
        line-height: 2rem;
    }
}

.row {
    display: table;
    padding: 4vw 6vw;
    width: 100%;
}

.row>h2 {
    padding-right: 6vw;
    font-size: 1.8rem;
    line-height: 2rem;
    width: 30vw;
    display: table-cell;
    vertical-align: top;
}

.row>h2 a {
    color: #bbb;
    font-size: 1.2rem;
}

.row>h2 a:hover {
    color: #333;
    cursor: pointer;
}

.row>div {
    display: table-cell;
    vertical-align: top;
    font-size: 0;
}

.row p {
    padding-bottom: 2vw;
    font-size: 1rem;
    text-align: justify;
}

.row p a {
    border-bottom: 1px solid #ccc;
}

.row p a:hover {
    border-bottom: 1px solid #000;
}

.row p strong {
    background-color: #eee;
    display: block;
    padding: 2vw 4vw;
    font-weight: inherit;
}

.row>div .immagini {
    margin: 1vw -.5vw;
}

.row>div .immagini img {
    height: 8vw;
    margin: .5vw;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    transition: all .5s;
}

.row>div .immagini img:hover {
    -webkit-filter: none;
    filter: none;
    transition: all .5s;
}

.row>div .allegati, .row>div .link {
    margin-bottom: 2vw;
}

.row>div .allegati a, .row>div .link a {
    display: block;
    border-bottom: 1px dotted #bbb;
    font-size: .9rem;
    padding: .2vw;
}

.row>div .allegati a i, .row>div .link a i {
    transition: all .5s;
    font-size: .6rem;
}

.row>div .allegati a:hover i, .row>div .link a:hover i {
    color: #2b2;
    margin-right: .4vw;
}

@media only screen and (orientation: portrait) {
    .row, .row>h2, .row>div {
        display: block;
    }
    .row>h2 {
        width: 100%;
        margin-bottom: 3vw;
        font-size: 1.5rem;
        line-height: 1;
    }
}

.video {
    width: 100%;
    height: auto;
    /*margin-top: 3vw;*/
    display: block;
}

#footer {
    height: 20vh;
    background-color: #333;
}

.overlay {
    display: block;
    background-color: #555;
    opacity: .8;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
}

.overlay+img {
    position: fixed;
    height: 80vh;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border: 1vw solid #fff;
}

/*CASI CLINICI e TESTIMONIANZE*/

.casiclinici .row, .testimonianze .row {
    border-bottom: 1px dotted #999;
    transition: all 1s;
}

.casiclinici .row:last-child, .testimonianze .row:last-child {
    border-bottom: 0;
    padding-bottom: 8vw;
}

.casiclinici .row:hover, .testimonianze .row:hover {
    background-color: #f6f6f6;
}

.casiclinici .row:first-child:hover {
    background-color: #fff;
}

.casiclinici .row>div, .testimonianze .row>div {
    display: none;
    transition: all 1s;
}

.casiclinici .row.aperto>div, .testimonianze .row.aperto>div {
    display: table-cell;
}

.casiclinici .row h2:after, .testimonianze .row h2:after {
    content: "[+]";
    padding-left: 1vw;
    color: #999;
    transition: all 1s;
}

.casiclinici .row h2 em, .testimonianze .row h2 em {
    font-size: 1.3rem;
    color: #777;
}

.casiclinici .row.aperto h2 em, .testimonianze .row.aperto h2 em {
    display: block;
}

.casiclinici .row:hover h2:after, .testimonianze .row:hover h2:after {
    color: #d00;
}

.casiclinici .row.aperto h2:after, .testimonianze .row.aperto h2:after {
    content: "";
}

/*LINK*/

#link {
    margin-bottom: 4vw;
}

#link .row li {
    list-style: none;
    border-bottom: 1px dotted #999;
    padding: 1vw 0;
}

#link .row li a {
    font-weight: 600;
    word-wrap: break-word;
}

#link .row li a:hover {
    color: #1a2;
}

/*MODULO*/

#modulo {
    padding: 0 calc(6vw - 1%) 4vw calc(6vw - 1%);
    background-color: #555;
    background-color: #fff;
    margin-bottom: 4vw;
}

#modulo form {
    font-size: 0;
}

#messaggiomodulo {
    display: none;
    padding: 4vw 6vw 6vw 6vw;
    color: #fff;
    background-color: #bbb;
}

#messaggiomodulo p.firma {
    text-align: right;
    font-style: italic;
}

#messaggiomodulo a {
    text-decoration: underline;
}

#modulo div {
    background-color: #fff;
    background-color: #f3f3f3;
    border-radius: .25vw;
    height: 3vw;
    margin: 1%;
    padding: 0 1vw;
    display: inline-table;
    width: 98%;
}

#modulo form>div {
    border: 1px solid #ddd;
}

#modulo label {
    display: table-cell;
    vertical-align: middle;
    line-height: 3vw;
    width: 1%;
    padding-right: 1vw;
}

#modulo div div {
    display: table-cell;
    vertical-align: middle;
    width: 99%;
    padding: 0;
}

#modulo input {
    width: 100%;
    background-color: transparent;
}

#modulo input[type=checkbox] {
    width: auto;
    margin-left: 1vw;
    margin-right: .2vw;
}

#gdpr input[type=checkbox] {
    margin-left: 0;
}

#modulo input[type=submit] {
    background-color: #1a2;
    border-radius: .25vw;
    height: 3vw;
    line-height: 3vw;
    margin: 1%;
    padding: 0 1vw;
    width: 23%;
    color: #fff;
    float: right;
}

#modulo input[type=submit]:hover {
    background-color: #0e8c1a;
}

#modulo #nome {
    width: 22%;
}

#modulo #cognome {
    width: 26%;
}

#modulo #email {
    width: 46%;
}

#modulo #telefono {
    width: 30%;
}

#modulo #indirizzo {
    width: 34%;
}

#modulo #cfiscale {
    width: 30%;
}

#modulo #tipovisita {
    width: 52%;
}

#modulo #skype {
    width: 44%;
}

#modulo #giorno {
    width: 60%;
}

#modulo #ora {
    width: 36%;
}

#modulo #note {
    width: 98%;
}

#modulo #gdpr {
    width: 73%;
}

#modulo #gdpr a {
    text-decoration: underline;
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus input:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
    border: 0;
    -webkit-text-fill-color: 000;
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}

/* VIDEO PLAYER */

#video_container {
    background-color: #333;
    position: relative;
    max-height: 95vh;
    overflow: hidden;
    margin-bottom: 5vw;
}

#video_container #poster {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

#video_container #playbutton {
    cursor: pointer;
    margin-top: 6vw;
    background-color: rgba(0, 0, 0, .3);
    padding: 1vw;
    margin-left: -1vw;
    border-radius: 4vw;
    display: inline-block;
    transition: all .5s;

    animation-name: pulse;
    animation-duration: 2.5s;
    animation-iteration-count: 6;
}

#video_container #playbutton:hover {
    background-color: rgba(0, 0, 0, .5);
}

#video_container #playbutton span {
    float: left;
    color: #fff;
    padding: 1vw;
    line-height: 1.5vw;
}

#video_container #playbutton img {
    float: left;
    width: 6.2vw;
}

@media only screen and (orientation: portrait) {
    #video_container #playbutton span {
        line-height: 3.5vw;
    }
    #video_container #playbutton img {
        width: 12vw;
    }
    #video_container #playbutton {
        padding: 2vw;
        margin-left: -2vw;
        border-radius: 8vw;
    }
}

@-webkit-keyframes pulse {
    0% {
        background-color: rgba(0, 0, 0, .3);
    }
    50% {
        background-color: rgba(0, 0, 0, .9);
    }
    100% {
        background-color: rgba(0, 0, 0, .3);
    }
}

@keyframes pulse {
    0% {
        background-color: rgba(0, 0, 0, .3);
    }
    50% {
        background-color: rgba(0, 0, 0, .9);
    }
    100% {
        background-color: rgba(0, 0, 0, .3);
    }
}

#video_container a {
    position: absolute;
    top: 2vw;
    color: #fff;
    padding: .5vw 1vw;
    font-size: .9rem;
    width: 14vw;
    background-color: rgba(0, 0, 0, .4);
    border-radius: .3vw;
    transition: all .3s;
    right: 2vw;
}

#video_container a:hover {
    background-color: rgba(255, 0, 0, 1);
}

#video_container a i {
    float: left;
    font-size: 1.5vw;
    margin: .3vw 1vw .3vw .3vw;
}

#video_container.play h2, #video_container.play #poster, #video_container.play #giu, #video_container.play #playbutton, #video_container.play #textTop, #video_container.play a {
    display: none;
}

#video_container h2 span {
    display: block;
}

#video_container video {
    position: static;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
}

#video_container #videoControls {
    display: none;
    background: rgba(39, 40, 36, .8);
    margin-top: -35px;
    width: 100%;
    text-align: left;
    overflow: hidden;
    padding: 8px 0;
    opacity: 1;
    position: absolute;
    bottom: 0;
}

#video_container.play #videoControls {
    display: block;
}

#video_container button {
    position: relative;
    float: left;
    cursor: pointer;
    border: none;
    color: white;
    background: none;
    border: none;
    font-family: sans-serif;
    height: 20px;
    font-size: 20px;
    font-weight: bold;
    width: 6vw;
    text-align: center;
    line-height: 20px;
}

#video_container input[type="button"]::-moz-focus-inner, button::-moz-focus-inner, button::-webkit-focus-inner {
    padding: 0;
    border: 0 none;
}

#play {
    text-shadow: 0 1px 0 black;
    position: relative;
    top: -1px;
}

#pauseButton {
    position: relative;
    left: -3px;
    top: -3px;
    font-size: 13px;
}

#video_container button:hover {
    color: #2a2;
}

#fullScreen {
    display: none;
    padding-right: 15px;
}

#video_container .fs-control {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2200;
}

#progress {
    cursor: pointer;
}

#progress #progress_box {
    float: left;
    width: 87vw;
    height: 20px;
    background-color: rgba(0, 0, 0, .3);
    overflow: hidden;
}

#progress #play_progress {
    display: block;
    width: 0px;
    height: 20px;
    background-color: #fff;
}

#progress #play_time {
    float: left;
    margin: 7px 0 0 5px;
    font-size: 10px;
    font-weight: normal;
    font-family: Helvetica, Arial, sans-serif;
    line-height: 1;
}

#video_container .fullsizeVideo {
    position: fixed;
    left: 0;
    top: 0;
}

/* PRENOTA - PAGA - QUESTIONARIO*/

#prenota, #paga, #questionario {
    background-color: #aaa;
    color: #fff;
    text-align: center;
    transition: all .5s;
    position: relative;
}

#prenota, #questionario {
    background-color: #0E8C1A;
    background-color: #089fe4;
}

#paga {
    background-color: #089fe4;
}

#paga80 {
    background-color: #078bc7;
    color: #fff;
    text-align: center;
    padding: 2vw 6vw;
}

#prenota:hover, #questionario:hover {
    background-color: #0b7416;
    background-color: #0892d1;
}

#paga:hover {
    background-color: #0892d1;
}

#prenota .fa-calendar, #paga .fa-paypal, #questionario .fa-pencil {
    font-size: 3vw;
    display: block;
    padding: 1.5vw;
    width: 6vw;
    height: 6vw;
    border-radius: 50%;
    margin: -7vw auto 1vw auto;
}

#prenota .fa-calendar, #questionario .fa-pencil {
    background-color: #095d12;
    background-color: #15356E;
}

#paga .fa-paypal {
    background-color: #15356E;
}

#prenota span, #paga span, #questionario span {
    display: block;
    font-size: 3rem;
    transition: all .5s;
    line-height: 1;
    margin-bottom: 1rem;
}

#prenota:hover span, #paga:hover span, #questionario:hover span {
    transform: scale(1.05);
}

/*playbutton fixed bottom*/
#video_container {
    max-height: 100vh;
}
#textTop {
    top: 42%;
}
#video_container #playbutton {
    background-color: rgba(0, 0, 0, .4);
    margin-left: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    display: block;
    width: 96%;
    margin:2%;
    border-radius: 0;
    padding: 2vh 4.5vw;
    transition: all .5s;
    }
#video_container #playbutton:hover {
    background-color: rgba(0, 0, 0, .7);
    }
#video_container #playbutton img {
    width: 6vh;
}
#video_container #playbutton span, #video_container #playbutton span strong {
    line-height: 6vh;
    font-size: 2rem;
    padding: 0 1vw;
}
#giu {
    display: none;
}
/*playbutton fixed bottom*/

@media only screen and (orientation: portrait) {
    #prenota .fa-calendar, #paga .fa-paypal, #questionario .fa-pencil {
        font-size: 6vw;
        padding: 2.5vw;
        width: 12vw;
        height: 12vw;
        margin: -10vw auto 1vw auto;
    }
    #prenota span, #paga span, #questionario span {
        font-size: 2rem;
    }
}

@media only screen and (orientation: portrait) {
    #video_container a {
        bottom: 16vw;
        width: 100vw;
    }
    #video_container h2 {
        font-size: 1rem;
        line-height: 1;
        width: 100vw;
    }
}

@media (max-device-width: 1024px) {
    #modulo #nome, #modulo #cognome, #modulo #email, #modulo #telefono, #modulo #indirizzo, #modulo #cfiscale, #modulo #tipovisita, #modulo #skype, #modulo #giorno, #modulo #ora, #modulo #note {
        width: 98%;
    }
}