@import url(https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,latin-ext);
/**** GENERALE ****/


html, body {
    float: left;
    position: relative;
    background-color: #fff;
    width: auto;
    min-width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: #2B2B2B;
}

html {
    height: 100%;
}

body {
    min-height: 100%;
    padding: 0;
}

a {
    color: #2B2B2B;
}

form {
    height: 100%;
}

.bold {
    font-weight: bold;
}

.clear {
    clear: both;
}

.nomargin {
    margin: 0;
}

.nopadding {
    padding: 0;
}

.nowrap {
    white-space: nowrap;
}

.v-align-middle,
.v-align-middle * {
    vertical-align: middle;
}

.inline {
    display: inline;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}
.flex{
    display:flex;
}

.smallest {
    font-size: .8em;
}

.smaller {
    font-size: .9em;
}

.bigger {
    font-size: 1.3em;
}

.biggest {
    font-size: 2em;
}

.link {
    text-decoration: underline !important;
}

.margin-t-mini {
    margin-top: 5px;
}

.margin-b-mini {
    margin-bottom: 5px;
}

.margin-l-mini {
    margin-left: 5px;
}

.margin-r-mini {
    margin-right: 5px;
}

.margin-v-mini {
    margin-top: 5px;
    margin-bottom: 5px;
}

.margin-h-mini {
    margin-left: 5px;
    margin-right: 5px;
}

.margin-t-small {
    margin-top: 10px;
}

.margin-b-small {
    margin-bottom: 10px;
}

.margin-l-small {
    margin-left: 10px;
}

.margin-r-small {
    margin-right: 10px;
}

.margin-v-small {
    margin-top: 10px;
    margin-bottom: 10px;
}

.margin-h-small {
    margin-left: 10px;
    margin-right: 10px;
}

.margin-t-medium {
    margin-top: 25px;
}

.margin-b-medium {
    margin-bottom: 25px;
}

.margin-l-medium {
    margin-left: 25px;
}

.margin-r-medium {
    margin-right: 25px;
}


.margin-v-medium {
    margin-top: 25px;
    margin-bottom: 25px;
}

.margin-h-medium {
    margin-left: 25px;
    margin-right: 25px;
}

.margin-t-large {
    margin-top: 40px;
}

.margin-b-large {
    margin-bottom: 40px;
}

.margin-l-large {
    margin-left: 40px;
}

.margin-r-large {
    margin-right: 40px;
}

.margin-v-large {
    margin-top: 40px;
    margin-bottom: 40px;
}

.margin-h-large {
    margin-left: 40px;
    margin-right: 40px;
}

.padding-t-small {
    margin-top: 10px;
}

.padding-b-small {
    margin-bottom: 10px;
}

.padding-l-small {
    padding-left: 10px;
}

.padding-r-small {
    padding-right: 10px;
}

.padding-v-small {
    margin-top: 10px;
    margin-bottom: 10px;
}

.padding-h-small {
    margin-left: 10px;
    margin-right: 10px;
}

.padding-t-medium {
    margin-top: 25px;
}

.padding-b-medium {
    margin-bottom: 25px;
}

.padding-l-medium {
    padding-left: 25px;
}

.padding-r-medium {
    padding-right: 25px;
}

.padding-v-medium {
    margin-top: 25px;
    margin-bottom: 25px;
}

.padding-h-medium {
    margin-left: 25px;
    margin-right: 25px;
}

.padding-t-large {
    margin-top: 40px;
}

.padding-b-large {
    margin-bottom: 40px;
}

.padding-l-large {
    padding-left: 40px;
}

.padding-r-large {
    padding-right: 40px;
}

.padding-v-large {
    margin-top: 40px;
    margin-bottom: 40px;
}

.padding-h-large {
    margin-left: 40px;
    margin-right: 40px;
}

.validator, .error, .error span {
    color: Red;
    font-size: 12px;
    display: block;
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.uppercase {
    text-transform: uppercase;
}

hr {
    height: 1px;
    background-color: #dcdcdc;
    width: 100%;
    border: 0;
}

input[type='checkbox'] {
    cursor: pointer;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

.inputForm label {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

input[type='checkbox'] + label {
    display: inline;
    margin: 0 15px 0 5px;
    vertical-align: middle;
}


input[type='text'], input[type='password'], textarea, input[type='password'], select {
    border: solid 1px #dcdcdc;
    width: 200px;
    padding: 5px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    background-color: #fff !important;
}

input[type='number'] {
    border: solid 1px #dcdcdc;
    text-align: right;
}

input[type='file'] {
    padding: 0;
    margin: 0;
    border: solid 1px #dcdcdc;
    background-color: #fff;
}

input[type='image'] {
    vertical-align: middle;
}

input.input-short {
    width: 60px;
}

input.input-large {
    width: 300px;
}

input.input-full {
    width: 100%;
}


.btn {
    width: auto;
    background: #94B942;
    color: #FFFFFF;
    padding: 10px 35px;
    cursor: pointer;
    border: 1px solid #666;
    text-decoration: none;
    display: inline-block;
}

.inversebtn {
    width: auto;
    background: #222222;
    color: #FFFFFF;
    padding: 10px 35px;
    cursor: pointer;
    border: 1px solid #94B942;
    text-decoration: none;
    display: inline-block;
}

    .btn.large, .inversebtn.large {
        padding: 10px 75px;
    }



/*Login and Menù footer*/


#basefooter {
    position: relative;
    margin-top: 40px;
    left: -20px;
    padding: 25px 20px;
    width: 100%;
    text-align: center;
    background: #2B2B2B;
    color: #FFFFFF;
    font-size: 12px;
}

    #basefooter.fixed {
        position: fixed;
        bottom: 0;
        left: 0;
        padding: 25px 0;
    }

    #basefooter a {
        color: #95c11c;
        text-decoration: none;
    }

        #basefooter a:hover {
            color: #95c11c;
            text-decoration: underline;
        }




#footer {
    color: #808080;
    position: absolute;
    left: 50%;
    top: 100%;
    width: 200px;
    margin: -20px auto 0px -100px;
    text-align: center;
    font-size: 8pt;
    letter-spacing: 1pt;
}

    #footer a {
        color: #808080;
        font-size: 8pt;
    }

div#logo {
    height: 150px;
    width: 150px;
    margin-top: -75px;
    position: absolute;
    left: 45px;
    top: 50%;
    background-image: url('../images/logo.png');
}

.header #logo img {
    max-height: 55px;
}


.borderRound {
    background-color: #dcdcdc;
    padding: 4px;
}

.menuContainer {
    background-color: #fff;
}

.float-left {
    float: left;
}


.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: ' ';
    clear: both;
    height: 0;
}


.form-control {
    height: 31px;
}

* html .col-md-12, * html .grid-last, * html .clearfix {
    zoom: 1;
}
/* IE6 */
*:first-child + html .col-md-12, *:first-child + html .grid-last, *:first-child + html .clearfix {
    zoom: 1;
}
/* IE7 */
/**/

.col-md-2 img, .col-md-3 img, .col-md-4 img, .grid5 img, .col-md-6 img, .grid7 img, .grid8 img, .grid9 img {
    max-width: 100%;
}

.myAccordion .panel-heading {
    padding: 0;
}

.myAccordion h4 a {
    display: block;
    width: 100%;
    padding: 10px 15px;
}


.tech-table > div {
    border-bottom: 1px solid #ddd;
}

    .tech-table > div:first-of-type {
        border-top: 1px solid #ddd;
    }

    .tech-table > div > div {
        padding-top: 10px;
        padding-bottom: 10px;
        border-right: 1px solid #ddd;
    }

        .tech-table > div > div:first-of-type {
            border-left: 1px solid #ddd;
        }

    .tech-table > div:nth-of-type(odd) {
        background-color: #fff;
    }

    .tech-table > div:nth-of-type(even) {
        background-color: #f6f6f6;
    }



/*RADIO BUTTON LIST*/

.radio-button-list input[type="radio"] {
    margin: 4px 8px 0 0px;
    width: auto;
}

.radio-button-list label {
    vertical-align: middle;
    cursor: pointer;
}

.radio-button-list.horizontal label {
    margin-right: 30px;
}




@media (max-width: 767px) {
    .nopadding-xs {
        padding: 0;
    }

    .tech-table > div > div:first-of-type {
        padding-top: 10px;
    }

    .tech-table > div > div:nth-of-type(2) {
        padding-top: 5px;
        padding-bottom: 10px;
    }

    .tech-table > div > div:first-of-type, .tech-table > div > div:nth-of-type(2) {
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
    }
}

@media screen and (max-width: 1023px) {
    .nopadding-sm {
        padding: 0;
    }
}