@import url(http://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%;
}

.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;
}

.smallest {
    font-size: .8em;
}

.smaller {
    font-size: .9em;
}

.bigger {
    font-size: 1.3em;
}

.biggest {
    font-size: 2em;
}

.margin-t-small {
    margin-top: 10px;
}

.margin-b-small {
    margin-bottom: 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-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-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-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-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-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;
}

    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: 3px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

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');
}

.borderRound {
    background-color: #dcdcdc;
    padding: 4px;
}

.menuContainer {
    background-color: #fff;
}

.float-left { float: left; }

.grid12 {
    width: 100%;
    display: block;
    clear: both;
    float: left;
    margin-top: 2px;
}

.grid9 {
    width: 74%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid8 {
    width: 65.3333%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid7 {
    width: 56.6667%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid6 {
    width: 48%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid5 {
    width: 39.3333%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid4 {
    width: 30.6667%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid3 {
    width: 22%;
    margin-right: 4%;
    float: left;
    margin-top: 2px;
}

.grid-last {
    margin-right: 0;
}

/* CLEARFIX (a volte serve lo stesso il div clear) */
.grid12 + *, .grid-last + * {
    clear: both;
}

.grid12:after, .grid-last:after, .clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: ' ';
	clear: both;
	height: 0;
	}
* html .grid12, * html .grid-last, * html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .grid12, *:first-child+html .grid-last, *:first-child+html .clearfix { zoom: 1; } /* IE7 */
/**/

.grid3 img, .grid4 img, .grid5 img, .grid6 img, .grid7 img, .grid8 img, .grid9 img {
    max-width: 100%;
}

@media screen and (max-width: 1023px) {

    .grid3, .grid4, .grid5, .grid6, .grid7, .grid8, .grid9 {
        float: none;
        margin-right: 0;
        width: 100%;
    }

    .hideMobile {
        display: none;
    }
}