:root {
  --menu-height:70px;
  --footer-height:60px;
  --left-rnd: 60px;
  --right-rnd: 40px;
  --menu-bar-color:#0072bb;
  --head-bk-color:#00619f;
  --head-color:black;
  --sub-head-bk-color:white;
  --page-color:#ededed;
  --foot-color:#888;
  --btn-radius:12px;
  --greentab-radius:15px;
  --menu-max-w:1200px;
}

#html {overflow:hidden;}

body {
    font-family: Arial, sans-serif;
    text-align: center;
    margin: 0;
    padding: 0;
    font-family: 'Exo 2';
    overflow:hidden;
    height:100dvh;
    position:relative;
}

hr {
 width:60%;
 border-width: 1px 0 0 0;
    border-color: #6668;
        margin: 5px auto 10px;
}

*::-webkit-scrollbar {
    display: none;
}

.header {
 background-color: var(--sub-head-bk-color);
 color: #fff;
 padding: 0;
 flex-direction: column;
 display: flex;
 justify-content: space-between;
 align-items: center;
 
 /*//box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
 //border-bottom-left-radius: var(--left-rnd);*/
}

div.footer {
 display:block;
 width:100%;
 background-color:var(--foot-color);
 position:absolute;
 top:calc(100dvh - var(--footer-height));
 left:0;
 height:var(--footer-height);
 z-index:1
}
div.footer a{
 text-decoration:none;
 color:white;
 font-size:larger;
}

div.top-header {
width: 100%;
    display: flex;
    flex-direction: row;
    background-color: var(--menu-bar-color);
    height:var(--menu-height);
 max-width:1260px;
 margin:auto;
}

div.maxw {
 
 top:0;
 z-index:2;
 background-color: var(--menu-bar-color);
 position:absolute;
 top:0;
 left:0;
 width:100vw;
}

div.top-header-spacer {
 display:block;
 height:var(--menu-height);
}

div.top-header img {
 margin-left:20px;
 height:100%;
}

div.pagename {
 background-color:var(--menu-bar-color);
    color: #7db7dc;
    flex: 1;
    align-items: center;
    display: flex;
    justify-content: center;
    font-size: 20px;
}

div.hamburger {
 height: 100%;
 width: 70px;
 font-size: 40px;
 display: flex;
 margin-right: 20px;
 justify-content: center;
 align-items: center;
 color:white;
}

div.container-pro div.title {
 background-color: var(--head-bk-color);
 color:var(--head-color);
 width: 100%;
 min-height: 140px;
 padding:10px 0;
 box-sizing: border-box;
 justify-content: center;
 display: flex;
 flex-direction:column;
 align-items: center;
 font-size: 32px;
 border-bottom-left-radius: var(--left-rnd);
 max-width:none;
 border-top-left-radius:0;
 border-top-right-radius:0;
}

div.container-pro div.title.product {
 border-radius:0;
}

#content-top.sk-app {
 top:10px !important;
}

#content-top,#content-top .container {
 margin-top:auto !important;
 z-index:0 !important;
}

.container-pro a,.container-pro a:visited {
 color:white !important;
}

div.percent {
 width:60%;
 height:10px;
 background-color:#e6e6e6;
 border-radius:10px;
 margin:auto;
}

div.percent::Before {
    content: " ";
    background-color: #0072bb;
    display: block;
    width: var(--pcentval);
    height: 100%;
    border-radius: 10px;
}

#dtpicker-toggle {pointer-events:none;width:0;height:0;}
#dtpicker-toggle:focus {outline:none;}
.menu,.dtpicker {
    flex-direction: column;
    background-color: var(--menu-bar-color);
    position: absolute;
    top: 70px;
    width: 100vw;
    z-index:1;
    pointer-events:all;
}
#menu-toggle .menu,#dtpicker-toggle .dtpicker {
    transition: all 0.2s ease-out;
    left: 100vw;
     height: calc(100dvh - var(--menu-height));
}

#menu-toggle.active .menu,#dtpicker-toggle.active .dtpicker {
 left: 0;
     overflow-y:scroll;
}

.blue {
 color:#0560aa;
}

a {text-decoration:none;}
a:visited {text-decoration:none;}

.menu div.logout {
 text-align:right;
     max-width: calc(var(--menu-max-w) - 50px);
    margin: 20px auto 0;
}

.menu div.logout a {
    display: flex;
    justify-content: flex-end;
}
.menu div.logout a>div {
 font-size: large;
    line-height: 56px;
    margin:0;
    margin-right:20px;
}

.menu div.logout img {width:80px;height:60px;}

.dtpicker {
 background-color: var(--head-bk-color);
}

.menu ul,.dtpicker ul{
    list-style: none;
    padding: 0;
    margin: auto;
    max-width: var(--menu-max-w);
}

.checkbox-pro {
 position:relative;
 display:flex;
 padding-left:10px;
}

.checkbox-pro input[type="checkbox"] {
 position: relative;
 left: -8px;
 height: 15px;
 flex-basis: content;
 transform:scale(1.5);
 width:auto;
}

.dtpicker input[type="radio"] {
display:none; 
}
.dtpicker div.separator{
     display: inline;
    border: 1px solid white;
    margin-right: 10px;
}

.dtpicker input[type="radio"]+label {
 color:white;
 opacity:0.4;
 font-size:xx-large;
}
.dtpicker input[type="radio"]:checked+label {
 opacity:1;
}

.dtpicker ul li {
 text-align:center;
 font-size:x-large;
 position:relative;
}
.dtpicker ul li.active:after {
 content: " ";
    display: block;
    position: absolute;
    width: 90%;
    background-color: #0002;
    height: 80%;
    top: 0;
    left: 0;
    width: 100%;
    border-radius: 20px;
    top: 10%;
}
.menu li,.dtpicker li {
 padding: 10px;
    border-bottom: 1px solid lightgray;
    line-height: 100%;
    margin: 0 20px;
    text-align: left;
    font-size: 20px;
        color: #fff;

}
.menu li{
    text-transform: uppercase;
}

.menu a ,.dtpicker a{
        color: #fff;
    text-decoration: none;
}

#menu-toggle:checked + .menu {
    display: flex;
}

.hamburger nav {
 display:block;
}

.hamburger {
 display:block;
}

body.no-sh .sub-title{
 display:none;
}

.bk-title {
 width:100%;
 background-color:var(--sub-head-bk-color);
}

body.no-sh .bk-title{
 background-color:var(--page-color);
}

body.no-sh .container-pro>.curve {
 background-color:var(--head-bk-color);
}

body.no-sh .container-pro>div.page>.curve {
 background-color:var(--head-bk-color);
}

.sub-title{
    background-color: var(--sub-head-bk-color);
    padding: 16px;
    margin: 0px auto;
    border-bottom-left-radius: var(--left-rnd);
    position:relative;
        flex: 0 0 100%;
        box-sizing: border-box;
}

.container-pro {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position:absolute;
    height:calc(100dvh - var(--menu-height) - var(--footer-height));
    overflow-y:scroll;
    top:var(--menu-height);
    left:0;
    width:100%;
    align-content: baseline;
}
body.no-foot .container-pro {
    height:calc(100dvh - var(--menu-height) );
}

body.no-foot .footer {display:none;}

.page {
 width:100%;
 position:relative;
}

.content {
 font-size:x-large;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto;
}

.blue {
 color:#0072bb;
}

.sub-title>.curve,.container-pro>div.page>.curve {
 display:block;
 width:var(--right-rnd);
 height:var(--right-rnd);
 background-color:black;
 position:absolute;
 right:0;
 top:0;
}

.sub-title>.curve {
 background-color:var(--head-bk-color); 
}
.container-pro>div.page>.curve{
 background-color:var(--sub-head-bk-color); 
 z-index:-1;
}

.sub-title>.curve::before,.container-pro>div.page>.curve::before {
  content:" ";
  display:block;
  width:100%;
  height:100%;
  border-top-right-radius: var(--left-rnd);
}

.sub-title>.curve::before {
 background-color:var(--sub-head-bk-color); 
}

.container-pro>div.page>.curve::before {
 background-color:var(--page-color); 
}

.button {
    padding: 0;
    border: none;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.voucher {
 padding: 0;
    border: none;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background-color:white;
    text-align:left;
}
.voucher hr {width:100%}
.voucher .txt {
 padding:10px;
     width: calc(100% - 100px);
}

.txt {position:relative;}

.voucher.sum {
     display: flex;
    flex-direction: column;
    background-color: #bcd0ac;
    color: white;
    padding:10px;
}

.voucher.sum div.credits {
 width:80px;
}
.voucher.sum div.total {
 display:flex;
 align-items: baseline;
 justify-content: space-between;
}

.voucher.sum hr {border:1px solid white;}
.container-pro .voucher.sum {color:white;}
.voucher .credits {
 color:white;
 font-size:x-large;
background-color: #bcd0ac; 
 border-top-right-radius:var(--btn-radius);
 border-bottom-right-radius:var(--btn-radius);
 text-align:center;
     align-content: center;
     width:100px;
}
.voucher .credits.bottom {
 width:100%;
 border-top-right-radius: 0;
 border-bottom-left-radius: var(--btn-radius);
 border-bottom-right-radius: var(--btn-radius);
 padding: 5px;
 box-sizing: border-box;
}
.voucher .credits.bottom a{
 width:48%;
 display: inline-flex;
 justify-content: center;
 vertical-align: middle;
}
.voucher .credits.bottom a:first-child {border-right:1px solid white;box-sizing: border-box;}

.container-pro>.content {
 display:flex;
 flex-direction:column;
 max-width:720px;
 align-items: center;
}
.container-pro .button,.container-pro .prodotto,.container-pro .voucher {
 margin: 20px 10px 0;
 border-radius: var(--btn-radius);
 width: calc(100% - 20px);
 color:black;
}
button.button {
     color: black;
}
.container-pro .voucher.proposal {position:relative;display:block;}
.container-pro .button.details {
 margin: 0;
 width: auto;
 position: absolute;
 top: 5px;
 right: 10px;
 z-index:1;
}
.container-pro .button.details input {margin:0}
.container-pro.alternate .button:nth-child(even) {
 flex-direction: row-reverse;
}

.container-pro.alternate .button:nth-child(even)>div {
 border-top-left-radius:var(--btn-radius);
 border-bottom-left-radius:var(--btn-radius);
}
.container-pro.alternate .button:nth-child(odd)>div {
 border-top-right-radius:var(--btn-radius);
 border-bottom-right-radius:var(--btn-radius);
}

.container-pro.alternate .button>div {
 border-top-right-radius:0;
 border-bottom-right-radius:0;
}

.button>img {
    width:50%;
    padding: 15%;
    box-sizing: border-box;
}
.button.short {
 height:60px;
}
.button.short>img {
 padding:8px;
 height:auto;
}
.button>div {
 display:block;
 background-color:white;
 width:50%;
 text-transform: uppercase;
 display: flex;
 align-items: center;
 justify-content: center;
  border-top-right-radius:var(--btn-radius);
 border-bottom-right-radius:var(--btn-radius);
}

.prodotto {
 display: flex;
    flex-direction: column;
    align-items: center;
}

button.specie {
     display: flex;
    flex-direction: column;
    align-items: center;
    border: 0;
    background-color: transparent;
    font-size: larger;
    width:70%;
    padding:0;
        margin-bottom: 10px;
        color:#786ea2;
}
button.specie.small {
 width:40%;
}
button.specie img {
 margin:10px;
    width:60%;
}

.linea {
 padding: 20px;
 border-bottom:1px solid #dedede;
 margin-bottom:20px;
 width:60%;
}

.linea img {
 width:70%;
}
button.arrow {
 filter:brightness(0.5);
    border: 0;
    display: block;
    margin: auto;
    width: 30px;
    height: 30px;
    background: transparent url(images/app-pro-icons/arrow-dx.svg) no-repeat center;
        background-size: contain;
        cursor:pointer;
}

.prodotto button.arrow {
 position:relative;
 top:10px;
}

.linea.last {
 border:0;
}

.prodotto>div {
 background-color:white;
 border-radius: var(--btn-radius);
 padding: 50px 10px 30px;
 font-size: x-large;
 position:relative;
 width:100%;
     text-align: center;
}

.prodotto hr {
 width:80%;
}

.prodotto small {
 display:block;
 font-size:small;
}

.prodotto>img {
 width: 35%;
    margin-bottom: -50px;
    z-index: 2;
}

.prodotto.small>img {
 width: 25%;
 min-height: 60px;
}

.prodotto>div::before {
 content:" ";
 position:absolute;
 height: var(--greentab-radius);
    width: 80%;
    background-color: #009c3c;
    top: calc(0px - var(--greentab-radius));
    left: 10%;
    border-radius: var(--greentab-radius) var(--greentab-radius) 0 0;
}

.form-entry {
 width: 100%;
    display: block;
    font-size: medium;
    text-align: left;
    padding: 10px;
        box-sizing: border-box;
}

.form-entry input,.form-entry textarea,.form-entry select {
display: block;
    margin: 5px 0;
    width: 100%;
    background-color: transparent;
    border: 1px solid #aaa;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
}

.credits a{
 text-decoration: none;
    color: white;
}

.submit {
display: block;
width: calc(100% - 20px);
background-color: #0072bb;
color:white;
border: 0;
border-radius: 5px;
padding: 10px 20px;
box-sizing: border-box;
 margin:10px auto;
 font-size: large;
}

.submit.inverse {
 color: #0072bb;
    background: no-repeat;
    border: 1px solid #0072bb;
}

@media screen and (min-width: 720px) {
.button>img {
 height: 120px;
 padding: 20px;
}

.linea {
 flex-basis: 40%;
}

.linea img {
    width: 135px;
}

.content.wrap {
 flex-direction:unset;
 flex-wrap:wrap;
}
}


@media screen and (min-width: 481px) {
.content.affianca {
 flex-direction:row;
 
}
.content.affiancalinee{
 flex-wrap: wrap;
         flex-direction: row;
}
.content.affiancalinee .linea{
    flex: 1 0 20%;
}
.content.affiancalinee .linea img {
 width:90px;
}
.content.affianca hr {
 width: 0;
 height: 160px;
 border: 1px solid #6668;
}

button.specie img {
 height:160px;
 width:70%;
}
}