progress,

sub,

sup {

    vertical-align: baseline

}



body,

figure {

    margin: 0

}



.c-callout,

.c-callout__cta,

.c-certifications,

.c-hero__text,

.o-subtitle,

.o-title {

    text-align: center

}



.c-header,

.c-header__item--menu:after,

.o-link {

    transition: all .3s ease-in-out

}



.c-header__item--menu:after,

.c-header__submenu:before,

.line:after,

.line:before,

.o-section__inner:after {

    content: ''

}



@font-face {

    font-family: Lucida;

    src: url(../fonts/LucidaGrande.eot?#iefix) format("embedded-opentype"), url(../fonts/LucidaGrande.ttf) format("truetype"), url(../fonts/lucidagrande.woff2) format("woff2"), url(../fonts/lucidagrande.woff) format("woff");

    font-style: normal

}





/*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */



html {

    box-sizing: border-box;

    line-height: 1.15

}



*,

::after,

::before {

    box-sizing: inherit

}



:root {

    -moz-tab-size: 4;

    tab-size: 4

}



body {

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

    font-size: 15px;

    font-family: Lucida

}



h1 {

    font-size: 2em;

    margin: .67em 0

}



hr {

    height: 0

}



abbr[title] {

    text-decoration: underline dotted

}



b,

strong {

    font-weight: bolder

}



code,

kbd,

pre,

samp {

    font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace;

    font-size: 1em

}



small {

    font-size: 80%

}



sub,

sup {

    font-size: 75%;

    line-height: 0;

    position: relative

}



sub {

    bottom: -.25em

}



sup {

    top: -.5em

}



button,

input,

optgroup,

select,

textarea {

    font-family: inherit;

    font-size: 100%;

    line-height: 1.15;

    margin: 0

}



button,

select {

    text-transform: none

}



.c-callout__title,

.o-title,

.o-title--inverse {

    text-transform: uppercase

}



[type=button],

[type=reset],

[type=submit],

button {

    -webkit-appearance: button

}



[type=button]::-moz-focus-inner,

[type=reset]::-moz-focus-inner,

[type=submit]::-moz-focus-inner,

button::-moz-focus-inner {

    border-style: none;

    padding: 0

}



[type=button]:-moz-focusring,

[type=reset]:-moz-focusring,

[type=submit]:-moz-focusring,

button:-moz-focusring {

    outline: ButtonText dotted 1px

}



fieldset {

    padding: .35em .75em .625em

}



legend {

    padding: 0

}



[type=number]::-webkit-inner-spin-button,

[type=number]::-webkit-outer-spin-button {

    height: auto

}



[type=search] {

    -webkit-appearance: textfield;

    outline-offset: -2px

}



.c-header__btn-menu:focus,

.c-services__btn-filter:focus {

    outline: 0

}



[type=search]::-webkit-search-decoration {

    -webkit-appearance: none

}



::-webkit-file-upload-button {

    -webkit-appearance: button;

    font: inherit

}



details {

    display: block

}



summary {

    display: list-item

}



img {

    max-width: 100%;

    height: auto;

    vertical-align: middle

}



.o-grid {

    width: 100%;

    float: left

}



.o-grid-1\/12 {

    width: calc((100% / 12) * 1)

}



.o-grid-2\/12 {

    width: calc((100% / 12) * 2)

}



.o-grid-3\/12 {

    width: calc((100% / 12) * 3)

}



.o-grid-4\/12 {

    width: calc((100% / 12) * 4)

}



.o-grid-5\/12 {

    width: calc((100% / 12) * 5)

}



.o-grid-6\/12 {

    width: calc((100% / 12) * 6)

}



.o-grid-7\/12 {

    width: calc((100% / 12) * 7)

}



.o-grid-8\/12 {

    width: calc((100% / 12) * 8)

}



.o-grid-9\/12 {

    width: calc((100% / 12) * 9)

}



.o-grid-10\/12 {

    width: calc((100% / 12) * 10)

}



.o-grid-11\/12 {

    width: calc((100% / 12) * 11)

}



.o-grid-12\/12 {

    width: calc((100% / 12) * 12)

}



@media (min-width:580px) {

    .o-grid-1\/12\@sm {

        width: calc((100% / 12) * 1)

    }

    .o-grid-space-left1\/12\@sm {

        margin-left: calc((100% / 12) * 1)

    }

    .o-grid-space-right1\/12\@sm {

        margin-right: calc((100% / 12) * 1)

    }

    .o-grid-2\/12\@sm {

        width: calc((100% / 12) * 2)

    }

    .o-grid-space-left2\/12\@sm {

        margin-left: calc((100% / 12) * 2)

    }

    .o-grid-space-right2\/12\@sm {

        margin-right: calc((100% / 12) * 2)

    }

    .o-grid-3\/12\@sm {

        width: calc((100% / 12) * 3)

    }

    .o-grid-space-left3\/12\@sm {

        margin-left: calc((100% / 12) * 3)

    }

    .o-grid-space-right3\/12\@sm {

        margin-right: calc((100% / 12) * 3)

    }

    .o-grid-4\/12\@sm {

        width: calc((100% / 12) * 4)

    }

    .o-grid-space-left4\/12\@sm {

        margin-left: calc((100% / 12) * 4)

    }

    .o-grid-space-right4\/12\@sm {

        margin-right: calc((100% / 12) * 4)

    }

    .o-grid-5\/12\@sm {

        width: calc((100% / 12) * 5)

    }

    .o-grid-space-left5\/12\@sm {

        margin-left: calc((100% / 12) * 5)

    }

    .o-grid-space-right5\/12\@sm {

        margin-right: calc((100% / 12) * 5)

    }

    .o-grid-6\/12\@sm {

        width: calc((100% / 12) * 6)

    }

    .o-grid-space-left6\/12\@sm {

        margin-left: calc((100% / 12) * 6)

    }

    .o-grid-space-right6\/12\@sm {

        margin-right: calc((100% / 12) * 6)

    }

    .o-grid-7\/12\@sm {

        width: calc((100% / 12) * 7)

    }

    .o-grid-space-left7\/12\@sm {

        margin-left: calc((100% / 12) * 7)

    }

    .o-grid-space-right7\/12\@sm {

        margin-right: calc((100% / 12) * 7)

    }

    .o-grid-8\/12\@sm {

        width: calc((100% / 12) * 8)

    }

    .o-grid-space-left8\/12\@sm {

        margin-left: calc((100% / 12) * 8)

    }

    .o-grid-space-right8\/12\@sm {

        margin-right: calc((100% / 12) * 8)

    }

    .o-grid-9\/12\@sm {

        width: calc((100% / 12) * 9)

    }

    .o-grid-space-left9\/12\@sm {

        margin-left: calc((100% / 12) * 9)

    }

    .o-grid-space-right9\/12\@sm {

        margin-right: calc((100% / 12) * 9)

    }

    .o-grid-10\/12\@sm {

        width: calc((100% / 12) * 10)

    }

    .o-grid-space-left10\/12\@sm {

        margin-left: calc((100% / 12) * 10)

    }

    .o-grid-space-right10\/12\@sm {

        margin-right: calc((100% / 12) * 10)

    }

    .o-grid-11\/12\@sm {

        width: calc((100% / 12) * 11)

    }

    .o-grid-space-left11\/12\@sm {

        margin-left: calc((100% / 12) * 11)

    }

    .o-grid-space-right11\/12\@sm {

        margin-right: calc((100% / 12) * 11)

    }

    .o-grid-12\/12\@sm {

        width: calc((100% / 12) * 12)

    }

    .o-grid-space-left12\/12\@sm {

        margin-left: calc((100% / 12) * 12)

    }

    .o-grid-space-right12\/12\@sm {

        margin-right: calc((100% / 12) * 12)

    }

}



@media (min-width:768px) {

    .o-grid-1\/12\@md {

        width: calc((100% / 12) * 1)

    }

    .o-grid-space-left1\/12\@md {

        margin-left: calc((100% / 12) * 1)

    }

    .o-grid-space-right1\/12\@md {

        margin-right: calc((100% / 12) * 1)

    }

    .o-grid-2\/12\@md {

        width: calc((100% / 12) * 2)

    }

    .o-grid-space-left2\/12\@md {

        margin-left: calc((100% / 12) * 2)

    }

    .o-grid-space-right2\/12\@md {

        margin-right: calc((100% / 12) * 2)

    }

    .o-grid-3\/12\@md {

        width: calc((100% / 12) * 3)

    }

    .o-grid-space-left3\/12\@md {

        margin-left: calc((100% / 12) * 3)

    }

    .o-grid-space-right3\/12\@md {

        margin-right: calc((100% / 12) * 3)

    }

    .o-grid-4\/12\@md {

        width: calc((100% / 12) * 4)

    }

    .o-grid-space-left4\/12\@md {

        margin-left: calc((100% / 12) * 4)

    }

    .o-grid-space-right4\/12\@md {

        margin-right: calc((100% / 12) * 4)

    }

    .o-grid-5\/12\@md {

        width: calc((100% / 12) * 5)

    }

    .o-grid-space-left5\/12\@md {

        margin-left: calc((100% / 12) * 5)

    }

    .o-grid-space-right5\/12\@md {

        margin-right: calc((100% / 12) * 5)

    }

    .o-grid-6\/12\@md {

        width: calc((100% / 12) * 6)

    }

    .o-grid-space-left6\/12\@md {

        margin-left: calc((100% / 12) * 6)

    }

    .o-grid-space-right6\/12\@md {

        margin-right: calc((100% / 12) * 6)

    }

    .o-grid-7\/12\@md {

        width: calc((100% / 12) * 7)

    }

    .o-grid-space-left7\/12\@md {

        margin-left: calc((100% / 12) * 7)

    }

    .o-grid-space-right7\/12\@md {

        margin-right: calc((100% / 12) * 7)

    }

    .o-grid-8\/12\@md {

        width: calc((100% / 12) * 8)

    }

    .o-grid-space-left8\/12\@md {

        margin-left: calc((100% / 12) * 8)

    }

    .o-grid-space-right8\/12\@md {

        margin-right: calc((100% / 12) * 8)

    }

    .o-grid-9\/12\@md {

        width: calc((100% / 12) * 9)

    }

    .o-grid-space-left9\/12\@md {

        margin-left: calc((100% / 12) * 9)

    }

    .o-grid-space-right9\/12\@md {

        margin-right: calc((100% / 12) * 9)

    }

    .o-grid-10\/12\@md {

        width: calc((100% / 12) * 10)

    }

    .o-grid-space-left10\/12\@md {

        margin-left: calc((100% / 12) * 10)

    }

    .o-grid-space-right10\/12\@md {

        margin-right: calc((100% / 12) * 10)

    }

    .o-grid-11\/12\@md {

        width: calc((100% / 12) * 11)

    }

    .o-grid-space-left11\/12\@md {

        margin-left: calc((100% / 12) * 11)

    }

    .o-grid-space-right11\/12\@md {

        margin-right: calc((100% / 12) * 11)

    }

    .o-grid-12\/12\@md {

        width: calc((100% / 12) * 12)

    }

    .o-grid-space-left12\/12\@md {

        margin-left: calc((100% / 12) * 12)

    }

    .o-grid-space-right12\/12\@md {

        margin-right: calc((100% / 12) * 12)

    }

}



@media (min-width:1024px) {

    .o-grid-1\/12\@lg {

        width: calc((100% / 12) * 1)

    }

    .o-grid-space-left1\/12\@lg {

        margin-left: calc((100% / 12) * 1)

    }

    .o-grid-space-right1\/12\@lg {

        margin-right: calc((100% / 12) * 1)

    }

    .o-grid-2\/12\@lg {

        width: calc((100% / 12) * 2)

    }

    .o-grid-space-left2\/12\@lg {

        margin-left: calc((100% / 12) * 2)

    }

    .o-grid-space-right2\/12\@lg {

        margin-right: calc((100% / 12) * 2)

    }

    .o-grid-3\/12\@lg {

        width: calc((100% / 12) * 3)

    }

    .o-grid-space-left3\/12\@lg {

        margin-left: calc((100% / 12) * 3)

    }

    .o-grid-space-right3\/12\@lg {

        margin-right: calc((100% / 12) * 3)

    }

    .o-grid-4\/12\@lg {

        width: calc((100% / 12) * 4)

    }

    .o-grid-space-left4\/12\@lg {

        margin-left: calc((100% / 12) * 4)

    }

    .o-grid-space-right4\/12\@lg {

        margin-right: calc((100% / 12) * 4)

    }

    .o-grid-5\/12\@lg {

        width: calc((100% / 12) * 5)

    }

    .o-grid-space-left5\/12\@lg {

        margin-left: calc((100% / 12) * 5)

    }

    .o-grid-space-right5\/12\@lg {

        margin-right: calc((100% / 12) * 5)

    }

    .o-grid-6\/12\@lg {

        width: calc((100% / 12) * 6)

    }

    .o-grid-space-left6\/12\@lg {

        margin-left: calc((100% / 12) * 6)

    }

    .o-grid-space-right6\/12\@lg {

        margin-right: calc((100% / 12) * 6)

    }

    .o-grid-7\/12\@lg {

        width: calc((100% / 12) * 7)

    }

    .o-grid-space-left7\/12\@lg {

        margin-left: calc((100% / 12) * 7)

    }

    .o-grid-space-right7\/12\@lg {

        margin-right: calc((100% / 12) * 7)

    }

    .o-grid-8\/12\@lg {

        width: calc((100% / 12) * 8)

    }

    .o-grid-space-left8\/12\@lg {

        margin-left: calc((100% / 12) * 8)

    }

    .o-grid-space-right8\/12\@lg {

        margin-right: calc((100% / 12) * 8)

    }

    .o-grid-9\/12\@lg {

        width: calc((100% / 12) * 9)

    }

    .o-grid-space-left9\/12\@lg {

        margin-left: calc((100% / 12) * 9)

    }

    .o-grid-space-right9\/12\@lg {

        margin-right: calc((100% / 12) * 9)

    }

    .o-grid-10\/12\@lg {

        width: calc((100% / 12) * 10)

    }

    .o-grid-space-left10\/12\@lg {

        margin-left: calc((100% / 12) * 10)

    }

    .o-grid-space-right10\/12\@lg {

        margin-right: calc((100% / 12) * 10)

    }

    .o-grid-11\/12\@lg {

        width: calc((100% / 12) * 11)

    }

    .o-grid-space-left11\/12\@lg {

        margin-left: calc((100% / 12) * 11)

    }

    .o-grid-space-right11\/12\@lg {

        margin-right: calc((100% / 12) * 11)

    }

    .o-grid-12\/12\@lg {

        width: calc((100% / 12) * 12)

    }

    .o-grid-space-left12\/12\@lg {

        margin-left: calc((100% / 12) * 12)

    }

    .o-grid-space-right12\/12\@lg {

        margin-right: calc((100% / 12) * 12)

    }

}



@media (min-width:1366px) {

    .o-grid-1\/12\@xl {

        width: calc((100% / 12) * 1)

    }

    .o-grid-space-left1\/12\@xl {

        margin-left: calc((100% / 12) * 1)

    }

    .o-grid-space-right1\/12\@xl {

        margin-right: calc((100% / 12) * 1)

    }

    .o-grid-2\/12\@xl {

        width: calc((100% / 12) * 2)

    }

    .o-grid-space-left2\/12\@xl {

        margin-left: calc((100% / 12) * 2)

    }

    .o-grid-space-right2\/12\@xl {

        margin-right: calc((100% / 12) * 2)

    }

    .o-grid-3\/12\@xl {

        width: calc((100% / 12) * 3)

    }

    .o-grid-space-left3\/12\@xl {

        margin-left: calc((100% / 12) * 3)

    }

    .o-grid-space-right3\/12\@xl {

        margin-right: calc((100% / 12) * 3)

    }

    .o-grid-4\/12\@xl {

        width: calc((100% / 12) * 4)

    }

    .o-grid-space-left4\/12\@xl {

        margin-left: calc((100% / 12) * 4)

    }

    .o-grid-space-right4\/12\@xl {

        margin-right: calc((100% / 12) * 4)

    }

    .o-grid-5\/12\@xl {

        width: calc((100% / 12) * 5)

    }

    .o-grid-space-left5\/12\@xl {

        margin-left: calc((100% / 12) * 5)

    }

    .o-grid-space-right5\/12\@xl {

        margin-right: calc((100% / 12) * 5)

    }

    .o-grid-6\/12\@xl {

        width: calc((100% / 12) * 6)

    }

    .o-grid-space-left6\/12\@xl {

        margin-left: calc((100% / 12) * 6)

    }

    .o-grid-space-right6\/12\@xl {

        margin-right: calc((100% / 12) * 6)

    }

    .o-grid-7\/12\@xl {

        width: calc((100% / 12) * 7)

    }

    .o-grid-space-left7\/12\@xl {

        margin-left: calc((100% / 12) * 7)

    }

    .o-grid-space-right7\/12\@xl {

        margin-right: calc((100% / 12) * 7)

    }

    .o-grid-8\/12\@xl {

        width: calc((100% / 12) * 8)

    }

    .o-grid-space-left8\/12\@xl {

        margin-left: calc((100% / 12) * 8)

    }

    .o-grid-space-right8\/12\@xl {

        margin-right: calc((100% / 12) * 8)

    }

    .o-grid-9\/12\@xl {

        width: calc((100% / 12) * 9)

    }

    .o-grid-space-left9\/12\@xl {

        margin-left: calc((100% / 12) * 9)

    }

    .o-grid-space-right9\/12\@xl {

        margin-right: calc((100% / 12) * 9)

    }

    .o-grid-10\/12\@xl {

        width: calc((100% / 12) * 10)

    }

    .o-grid-space-left10\/12\@xl {

        margin-left: calc((100% / 12) * 10)

    }

    .o-grid-space-right10\/12\@xl {

        margin-right: calc((100% / 12) * 10)

    }

    .o-grid-11\/12\@xl {

        width: calc((100% / 12) * 11)

    }

    .o-grid-space-left11\/12\@xl {

        margin-left: calc((100% / 12) * 11)

    }

    .o-grid-space-right11\/12\@xl {

        margin-right: calc((100% / 12) * 11)

    }

    .o-grid-12\/12\@xl {

        width: calc((100% / 12) * 12)

    }

    .o-grid-space-left12\/12\@xl {

        margin-left: calc((100% / 12) * 12)

    }

    .o-grid-space-right12\/12\@xl {

        margin-right: calc((100% / 12) * 12)

    }

}



.o-media,

.o-section {

    width: 100%

}



.o-grid--flex {

    display: flex;

    flex-wrap: wrap

}



.o-grid--flex__item {

    flex: 0 1 100%

}



@media (min-width:768px) {

    .o-grid--flex__item {

        flex: 0 1 calc(50% - 1rem);

        margin: .5rem

    }

}



@media (min-width:1024px) {

    .o-grid--flex__item {

        flex: 0 1 calc(25% - 2rem);

        margin: 1rem

    }

}



.o-main {

    overflow: hidden;

    margin-top: 72px

}



@media (min-width:768px) {

    .o-main {

        margin-top: 0

    }

}



.o-section--flex {

    display: flex

}



.o-section__inner {

    background-color: #fff;

    margin: 0 auto;

    padding: 50px 20px;

    border-bottom: 1px solid #D22952

}



.o-section__inner:after {

    clear: both;

    display: block

}



@media (min-width:768px) {

    .o-section__inner {

        padding: 100px 35px 98px;

        max-width: 964px;

        border-bottom: 1px solid rgba(0, 0, 0, .5)

    }

    .o-section--translate .o-section__inner {

        box-shadow: 0 2px 44px 0 rgba(0, 0, 0, .24);

        transform: translateY(-4.5rem)

    }

}



@media (min-width:1024px) {

    .o-section__inner {

        max-width: 1246px

    }

}



.c-callout .o-section__inner,

.c-services .o-section__inner,

.c-text-block .o-section__inner {

    border: 0

}



.c-certifications .o-section__inner,

.c-services--mobile .o-section__inner {

    border: 0;

    padding-top: 0;

    padding-bottom: 0

}



.o-section__text {

    padding: 30px 0 50px;

    margin: 0;

    line-height: 1.25rem

}



.o-list {

    list-style: none;

    margin: 0;

    padding: 0

}



.o-list__item--inline {

    display: inline-block

}



.o-list--flex .o-list__item {

    flex: 1 0 50%;

    flex-basis: 50%

}



.o-list--contact {

    line-height: 2rem

}



.o-image {

    display: block;

    max-width: 100%;

    margin: 0 auto

}



.o-title {

    font-size: 1.25rem;

    margin: 0 0 10px

}



@media (min-width:768px) {

    .o-title {

        font-size: 2.25rem

    }

}



.o-title--inverse {

    color: #D22952;

    margin: 0 0 4px

}



.o-title--normal {

    font-weight: 400

}



.o-subtitle {

    color: #D22952;

    font-size: 1rem;

    font-weight: 700;

    margin: 0

}



@media (min-width:768px) {

    .o-subtitle {

        font-size: 1.625rem

    }

}



.o-subtitle--normal {

    font-weight: 400

}



.o-text {

    font-size: 1rem;

    line-height: 1.25rem

}



.o-text--small {

    font-size: .75rem

}



.o-link {

    text-decoration: none

}



.o-link--underline {

    text-decoration: underline;

    color: #000

}



.c-certifications {

    padding: 50px 0

}



.c-certifications__block {

    display: flex;

    flex-direction: column;

    justify-content: center

}



@media (min-width: 768px) {

    .c-certifications__block img {

        margin: 0 8px

    }

}



.c-certifications__block--left-bottom {

    display: flex;

    order: 2

}



@media (max-width:768px) {

    .c-certifications__block--left-bottom {

        align-self: center

    }

}



@media (min-width:768px) {

    .c-certifications {

        padding: 100px 0

    }

    .c-certifications__block {

        flex-direction: row;

    }

    .c-certifications__block--left-bottom {

        order: 1

    }

}



.c-certifications__block--right-top {

    align-self: center;

    order: 1;

    margin-bottom: 30px

}



.c-callout {

    padding: 50px 0 0

}



.c-callout__title {

    font-weight: 400;

    margin-bottom: 0

}



@media (min-width:768px) {

    .c-callout {

        color: #fff;

        background-image: url(../images/gso-collabora-con-noi.jpg);

        background-size: cover;

        background-repeat: no-repeat;

        background-position: 50% 50%;

        padding: 100px 35px

    }

    .c-callout--inverse {

        background-image: none;

        color: #000

    }

    .c-callout__title {

        color: #fff

    }

}



.c-callout--inverse .c-callout__title {

    color: #000

}



.c-callout__subtitle {

    color: #D22952;

    font-weight: 400;

    font-size: 1rem;

    padding: 10px 20px 50px

}



@media (min-width:768px) {

    .c-callout__subtitle {

        color: #fff;

        font-size: 1.375rem;

        line-height: 1.75rem;

        padding: 30px 20px

    }

}



.c-callout--inverse .c-callout__subtitle {

    color: #000

}



.c-callout__background {

    background-image: url(../images/gso-collabora-con-noi.jpg);

    background-size: cover;

    background-repeat: no-repeat;

    background-position: 50% 50%;

    padding: 40px 0

}



.c-header__item--menu:after,

.c-header__logo {

    background-repeat: no-repeat;

    background-position: center

}



@media (min-width:768px) {

    .c-callout__background {

        background-image: none;

        padding: 0

    }

}



.c-callout__background--alberghiero {

    background-image: none;

    background-color: #fff

}



.c-callout__cta {

    display: inline-block;

    width: 220px;

    border: 1px solid #fff;

    border-radius: 6px;

    background-color: rgba(0, 0, 0, .3);

    color: #fff;

    text-decoration: none;

    font-size: 20px;

    padding: 8px 0;

    margin: 15px 0

}



@media (min-width:768px) {

    .c-callout__cta {

        margin: 15px 30px;

        transition: all .3s ease-in-out

    }

    .c-callout__cta:hover {

        box-shadow: 0 0 4px 2px #000

    }

}



.c-callout__cta--evidence {

    background-color: #D22952;

    border-color: #D22952

}



.c-callout__cta--evidence:hover {

    box-shadow: 0 0 4px 2px #fff

}



.c-hero {

    padding: 20px

}



@media (min-width:768px) {

    .c-hero {

        position: relative;

        padding: 0

    }

}



.c-hero--bottom {

    position: relative;

    padding: 50px 20px;

    border-bottom: 2px solid #D22952

}



.c-hero__text {

    color: #000

}



.c-hero--bottom .c-hero__text {

    position: absolute;

    width: 100%;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    z-index: 2

}



@media (min-width:768px) {

    .c-hero--bottom {

        border: 0;

        padding: 100px 35px

    }

    .c-hero--overlay .c-hero__text {

        color: #fff;

        position: absolute;

        width: 100%;

        left: 0;

        top: 50%;

        transform: translateY(-50%);

        z-index: 2

    }

}



.c-hero__title {

    font-weight: 400;

    margin-bottom: 40px

}



.c-hero--bottom .c-hero__title {

    color: #000

}



.c-hero__title--tagline {

    font-style: italic;

    display: block;

    text-transform: capitalize;

    font-size: 1rem;

    font-weight: 400

}



@media (min-width:768px) {

    .c-hero__title--tagline {

        font-size: 1.5rem

    }

}



.c-hero__title--tagline-inverse,

.c-hero__title--tagline-normal {

    color: #D22952;

    text-transform: none;

    font-size: 1rem;

    display: block;

    text-align: center

}



.c-hero__title--tagline-inverse {

    font-weight: 700

}



.c-hero__title--tagline-normal {

    font-weight: 400

}



@media (min-width:768px) {

    .c-hero__title--tagline-normal {

        font-size: 1.5rem;

        color: #fff

    }

}



.c-hero__subtitle {

    color: #000;

    font-size: 1rem;

    font-weight: 400;

    padding-top: 20px

}



@media (min-width:768px) {

    .c-hero__subtitle {

        color: #fff;

        font-size: 1.625rem;

        padding-top: 40px

    }

}



.c-hero--bottom .c-hero__subtitle {

    color: #D22952

}



.c-hero__media {

    margin: 0

}



.c-hero__media img {

    display: block;

    margin: 0 auto

}



.c-header {

    background-color: #fff;

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    top: 0;

    left: 0;

    right: 0;

    height: 72px;

    position: fixed;

    padding: 1.5rem 0;

    text-align: center;

    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .5);

    z-index: 3;

    overflow: hidden;

    width: 100%

}



.c-header .logo-shadow {

    fill: #CCD3D3

}



.c-header .logo-text {

    fill: #1A1919

}



.c-header.is-open {

    height: 85vh

}



.c-header__logo {

    width: 120px;

    height: 50px;

    position: absolute;

    left: 30px;

    top: 1rem;

    background-image: url(../images/logo-gso-global-services-outsourcing-servizi-alberghiero-logistica-sicurezza.png);

    background-size: contain

}



.c-header--inverse .c-header__logo {

    background-image: url(../images/logo-gso-global-services-outsourcing-servizi-alberghiero-logistica-sicurezza-inverse.png)

}



.c-header__btn-menu {

    position: absolute;

    right: 1rem;

    top: 1rem

}



.c-header__nav {

    margin-top: 40px;

    width: 100%

}



@media (min-width:768px) {

    .c-header--inverse {

        background-color: transparent;

        box-shadow: none

    }

    .c-header--inverse .logo-shadow {

        fill: transparent

    }

    .c-header--inverse .logo-text {

        fill: #fff

    }

    .c-header {

        overflow: visible

    }

    .c-header__btn-menu {

        display: none

    }

    .c-header__nav {

        margin-top: 0;

        align-self: flex-end;

        width: auto;

        position: absolute;

        right: 1rem

    }

}



.c-header__item--menu,

.c-header__link {

    position: relative

}



.c-header__item {

    margin: 1.375rem 0

}



@media (min-width:768px) {

    .c-header__item {

        display: inline-block;

        margin: 0

    }

}



.c-header__item:hover {

    text-decoration: underline

}



.c-header__item--menu:hover,

.c-header__link {

    text-decoration: none

}



.c-header__item--menu.is-showed .c-header__submenu {

    top: 74px;

    opacity: 1

}



.c-header__item--menu:after {

    background-image: url(../images/down-arrow.svg);

    width: 13px;

    height: 13px;

    display: none;

    position: relative;

    left: -8px;

    top: -2px

}



.c-header__item--menu.is-showed:after {

    -webkit-transform: rotate(180deg);

    transform: rotate(180deg)

}



@media (min-width:768px) {

    .c-header__item--menu:after {

        display: inline-block

    }

}



.c-header--inverse .c-header__item--menu:after {

    background-image: url(../images/down-arrow--white.svg)

}



.c-header__link {

    font-size: 1.25rem;

    color: #000;

    font-weight: 700;

    margin: 0 .5rem;

    overflow: hidden;

    text-transform: uppercase;

    cursor: pointer

}



.c-header__link--current {

    position: absolute;

    top: 120%;

    left: 0;

    text-transform: capitalize;

    display: block;

    color: #D22952;

    font-size: 14px;

    opacity: 0

}



@media (min-width:1024px) {

    .c-header__link {

        display: inline-block

    }

}



.c-header__subitem {

    margin-bottom: 1.25rem

}



@media (min-width:768px) {

    .c-header--inverse .c-header__link {

        color: #fff

    }

    .c-header__link--current {

        opacity: 1

    }

    .c-header__subitem {

        text-align: left;

        margin-bottom: .5rem

    }

    .c-header__subitem:hover {

        text-decoration: underline

    }

}



.c-header__sublink {

    font-weight: 700;

    color: #000;

    line-height: 1.5rem

}



.c-header__btn-menu {

    background-color: transparent;

    border: 0;

    cursor: pointer;

    overflow: hidden;

    height: 40px

}



.c-header__submenu {

    list-style: none;

    margin: 0;

    padding: 1.25rem 0 0;

    transition: top .25s ease .25s, opacity .1s ease

}



.c-header__submenu:before {

    display: block;

    border-left: 10px solid transparent;

    border-right: 10px solid transparent;

    border-bottom: 10px solid #f6f6f6;

    height: 0;

    width: 0;

    background-color: transparent;

    position: absolute;

    top: -9px;

    left: 35px

}



@media (min-width:768px) {

    .c-header__submenu {

        position: absolute;

        left: 0;

        width: 150px;

        background-color: #f6f6f6;

        padding: .75rem;

        opacity: 0;

        top: 50px;

        box-shadow: 0 2px 1px rgba(0, 0, 0, .35);

        transition: opacity .25s ease .15s, top .3s ease

    }

}



.line {

    width: 40px;

    height: 3px;

    background-color: #D22952;

    display: block;

    position: relative;

    transition: background-color .15s ease-in-out .25s

}



.is-open .line {

    transition: background-color .15s ease-in-out;

    background-color: #fff

}



.line:after,

.line:before {

    display: block;

    position: absolute;

    top: -8px;

    left: 0;

    width: 100%;

    height: 100%;

    background-color: #D22952;

    transition: transform .15s linear .25s, top .25s ease-in-out .5s

}



.is-open .line:after,

.is-open .line:before {

    transition: top .15s linear, transform .25s ease-in-out .15s;

    top: 0;

    transform: rotate(-45deg)

}



.line:after {

    top: 8px

}



.is-open .line:after {

    transition: top .15s linear, transform .25s ease-in-out .15s;

    top: 0;

    transform: rotate(45deg)

}



.c-footer {

    background-color: #F2F2F2;

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between

}

@media (min-width: 768px) {
  .c-footer {
    	align-items: center
  }
}



.c-footer__address,

.c-services,

.c-services--block {

    background-color: #D22952

}



.c-footer__logo {

    flex-basis: 100%;

    padding-top: 50px;

    margin-bottom: 50px;
    
    text-align: center;

}



@media (min-width:768px) {

    .c-footer__logo {

        flex-basis: 50%;

        order: -1;

        margin-bottom: 0;
      	
      	padding-left: 30px;
      	
      	text-align: left;

    }

}



.c-footer__logo img {

    margin: 0 auto;

    display: block

}



.c-footer__navigation {

    display: none

}



@media (min-width:768px) {

    .c-footer__logo img {

        margin-left: 30px

    }

    .c-footer__navigation {

        display: flex;

        flex-basis: 100%;

        justify-content: center;

        margin-bottom: 50px

    }

}



@media (min-width:1024px) {

    .c-footer__navigation {

        flex-basis: auto;

        order: -1;

        padding-top: 85px;

        margin-bottom: 50px

    }

}



.c-footer__menu {

    width: 130px

}



.c-footer__menu h4 {

    text-transform: uppercase;

    margin: 0 0 10px;

    font-size: 1.25rem;

    font-weight: 700

}



.c-footer__menu ul {

    margin: 0;

    padding: 0;

    list-style: none

}



.c-footer__menu li {

    display: block;

    line-height: 1.25rem

}



.c-footer__menu a {

    color: #000;

    text-decoration: none;

    transition: all .3s ease-in-out

}



.c-footer__menu a:hover {

    color: #D22952

}



.c-footer__social {

    order: 1;

    padding: 50px 20px;

    display: block;

    margin: 0 auto

}



@media (min-width:1024px) {

    .c-footer__social {

        padding-top: 85px

    }

}



.c-footer__social .icon-link {

    display: inline-block;

    width: 40px;

    height: 40px;

    overflow: hidden;

    text-decoration: none;

    margin: 0 15px

}



.c-header .c-footer__social {

    width: 100%

}



.c-footer__address {

    width: 100%;

    flex-basis: 100%;

    color: #fff;

    padding: 30px 0;

    text-align: center

}



.c-footer__address p:first-child {

    margin-top: 0

}



.c-footer__address a {

    color: #fff

}



@media (min-width:768px) {

    .c-footer__social {

        order: -1

    }

    .c-footer__address a {

        font-size: 1.125rem

    }

    .c-footer__address p {

        display: inline-block;

        font-size: 1.125rem

    }

}



.c-services {

    border-bottom: 2px solid #D22952

}



.c-services .o-section__inner {

    width: calc(100% - 60px);

    margin: 0 auto

}



.c-services__filters {

    width: 610px;

    margin: 0 auto 36px;

    display: flex;

    justify-content: space-between

}



.c-services__btn-filter {

    background-color: transparent;

    padding: 6px 12px;

    font-size: 1.25rem;

    font-weight: 700;

    text-transform: uppercase;

    border: 0;

    cursor: pointer

}



.c-services__name,

.c-services__type,

.c-strengths__name,

.c-text-block .o-subtitle,

.c-text-block .o-title,

.u-fw-normal,

.u-text-normal {

    font-weight: 400

}



.c-services__btn-filter.btn-active {

    border: 1px solid #000;

    border-radius: 6px;

    color: #D22952

}



.c-services__card {

    text-align: center;

    padding: 0;

    cursor: pointer

}



@media (min-width:768px) {

    .c-services__card {

        padding: 15px

    }

}



.c-services__card:hover .c-services__card-overlay {

    opacity: 1

}



.c-contact__form input[type=checkbox],

.styled-checkbox {

    opacity: 0;

    position: absolute

}



.c-services__card-overlay {

    padding: .5rem;

    color: #fff;

    font-size: .875rem;

    position: absolute;

    opacity: 0;

    transition: all .3s ease-in-out;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background-color: rgba(210, 41, 82, .85);

    border-radius: 3px;

    display: block

}



.c-services__card-overlay p {

    font-size: 18px

}



.homepage .c-services__card-overlay p {

    font-size: 16px

}



.c-services__card-cta {

    border: 1px solid #fff;

    padding: .5rem;

    text-align: center;

    display: block;

    margin: 0 auto;

    text-decoration: none;

    color: #fff;

    border-radius: 4px;

    position: absolute;

    width: calc(100% - 1rem);

    bottom: 1rem

}



.c-services--block__item,

.c-services__image {

    position: relative

}



.c-services__image img {

    margin-bottom: 1.25rem;

    border-radius: 3px

}



.c-services__name {

    font-size: 1.25rem;

    margin: 0 0 .25rem

}



.c-services__type {

    color: #D22952;

    font-size: 1rem;

    margin: 0

}



.c-services__type:after,

.c-services__type:before {

    content: '-';

    margin: 0 .25rem

}



.c-contact__form .check-marker,

.c-services--azienda__cards:after,

.c-services--block:after,

.link-block:after,

.styled-checkbox+label:before,

.styled-checkbox:checked+label:after,

.u-cf:after,

.u-cf:before {

    content: ''

}



.c-services__label {

    display: inline-block;

    margin-bottom: 1.25rem;

    font-size: 1.25rem;

    width: 50%;

    text-align: left;

    text-transform: uppercase;

    color: #D22952;

    float: left

}



.c-strengths,

.c-text-block,

.u-text-center {

    text-align: center

}



.c-services__label--centered {

    display: block;

    color: #000;

    text-transform: none;

    width: 100%

}



.c-services__link {

    text-decoration: underline;

    color: #000;

    float: right

}



.c-services--mobile {

    display: none;

    border-bottom: 2px solid #D22952

}



.c-services--block {

    color: #fff;

    padding-left: 10px;

    padding-right: 10px;

    padding-bottom: 50px

}



@media (min-width:768px) {

    .c-services--block {

        padding-left: 0;

        padding-right: 0;

        padding-bottom: 0

    }

}



.c-services--block:after {

    display: block;

    clear: both

}



.c-services--block__item .link-block {

    width: 100%;

    padding: 0 10px

}



.c-services--block__details {

    position: absolute;

    bottom: 0;

    left: 0;

    text-align: center;

    width: 100%;

    color: #fff

}



.c-services--block__details span {

    display: none

}



.c-services--block img {

    width: 100%

}



.c-services--block__title {

    font-size: 1.25rem;

    font-weight: 400;

    text-transform: uppercase

}



@media (min-width:768px) {

    .c-services--block__item .link-block {

        padding: 0;

        vertical-align: bottom

    }

    .c-services--block__details {

        bottom: 82px

    }

    .c-services--block__details span {

        display: inline-block

    }

    .c-services--block__title {

        font-size: 2.25rem

    }

}



.c-services--block__text {

    font-size: 1.625rem;

    display: none

}



@media (min-width:1024px) {

    .c-services--block__text {

        display: block

    }

}



.c-services--azienda {

    background-color: #fff;

    border-bottom: 0;

    margin-top: 72px

}



.c-services--azienda .o-section__inner {

    width: 100%;

    padding-bottom: 0

}



.c-services--azienda .o-subtitle {

    margin-bottom: 40px

}



@media (min-width:768px) {

    .c-services--azienda .o-subtitle {

        margin-bottom: 100px

    }

    .c-strengths {

        border-bottom: 0

    }

}



.c-services--azienda__cards {

    max-width: 964px;

    margin: 0 auto

}



.c-services--azienda__cards:after {

    clear: both;

    display: block

}



.c-services--azienda__type {

    font-size: 1.25rem;

    margin: 10px 0 5px;

    color: #000;

    text-decoration: none

}



.c-services--azienda__link {

    color: #D22952;

    text-decoration: underline

}



.link-block {

    display: inline-block;

    text-decoration: none

}



.link-block:after {

    clear: both;

    display: block

}



.c-strengths__item {

    padding-top: 50px

}



.c-strengths__icon {

    margin: 0 auto;

    display: block

}



.c-strengths__name {

    color: #D22952;

    font-size: 1.25rem

}



.c-text-block {

    border-bottom: 2px solid #D22952;

    margin: 0 auto

}



.c-text-block p {

    line-height: 1.5rem;

    margin: 0;

    padding-top: 30px

}



.c-dove-siamo {

    position: relative;

    max-width: 964px;

    margin: 0 auto

}



.c-dove-siamo img {

    display: block;

    margin: 0 auto

}



.c-dove-siamo__indirizzi {

    position: absolute;

    right: 20px;

    top: 0

}



.c-contact {

    max-width: 924px;

    display: block;

    margin: 0 auto

}



.c-contact__form {

    max-width: 390px;

    display: block;

    margin: 0 auto 0 0

}



.c-contact__form input[type=text],

.c-contact__form input[type=email] {

    border: 1px solid #D22952;

    border-radius: 6px;

    height: 53px;

    width: 100%;

    margin-bottom: 20px;

    font-size: 1.375rem

}



.c-contact__form textarea {

    border: 1px solid #D22952;

    border-radius: 6px;

    width: 100%;

    min-height: 174px;

    margin-bottom: 20px;

    font-size: 1.375rem;

    padding-top: 1rem

}



.c-contact__form .checkbox-container {

    position: relative;

    -webkit-user-select: none;

    -moz-user-select: none;

    -ms-user-select: none;

    user-select: none;

    margin-bottom: 30px

}



.c-contact__form input[type=checkbox]:checked~.check-marker {

    background-color: #D22952

}



.c-contact__form .check-marker {

    position: absolute;

    width: 24px;

    height: 24px;

    top: 0;

    left: 0;

    border: 1px solid #D22952;

    border-radius: 6px

}



.c-contact__address {

    max-width: 310px;

    display: block;

    margin: 0 0 0 auto

}



.c-contact__social .icon-link {

    text-decoration: none;

    margin-right: 34px

}



.c-contact__social .icon-link img {

    max-width: 40px

}



.show-tablet-up {

    display: none

}



@media (max-width:768px) {

    .hide-tablet-up {

        display: none

    }

}



@media (min-width:768px) {

    .c-text-block--dove-siamo {

        background-image: url(../images/gso-sedi-operative.png);

        background-position: center;

        background-repeat: no-repeat;

        background-size: 100%

    }

    .show-tablet-up {

        display: block

    }

    .show-only-mobile {

        display: none

    }

    .border-only-mobile {

        border-bottom: 0

    }

    .u-pt40 {

        padding-top: 40px

    }

}



@media (min-width:300px) and (max-width:768px) {

    .show-only-mobile {

        display: block

    }

}



.u-m0 {

    margin: 0

}



.u-mt0 {

    margin-top: 0

}



.u-mb0 {

    margin-bottom: 0

}



.u-pt0 {

    padding-top: 0!important

}



.u-pb0 {

    padding-bottom: 0

}



.u-mb-base {

    margin-bottom: 50px

}



.u-mb-small {

    margin-bottom: 25px

}



.u-space-base {

    padding: 50px 20px

}



@media (min-width:768px) {

    .u-mb-small {

        margin-bottom: 50px

    }

    .u-space-base {

        padding: 100px 20px

    }

}



.u-pad-base {

    padding: 50px 0

}



@media (min-width:768px) {

    .u-pad-base {

        padding: 100px 0

    }

    .u-mt-base {

        margin-top: 72px

    }

}



.u-pb-base {

    padding-bottom: 50px

}



.u-px16 {

    padding-left: 16px;

    padding-right: 16px

}



.u-w-auto {

    width: auto

}



.u-w-full {

    width: 100%

}



.u-border0 {

    border: 0

}



.u-mb30 {

    margin-bottom: 30px!important

}



.u-mb40 {

    margin-bottom: 40px!important

}



.u-ml60 {

    margin-left: 60px!important

}



.u-cf:after,

.u-cf:before {

    display: block;

    clear: both

}



.u-text-normal {

    font-style: normal

}



.u-flex-vCentered {

    display: flex;

    flex-direction: column;

    justify-content: center

}



.u-overflow-visible {

    overflow: visible

}



.styled-checkbox+label {

    position: relative;

    cursor: pointer;

    padding: 0;

    margin-bottom: 1rem;

    display: inline-block

}



.styled-checkbox+label:before {

    margin-right: 10px;

    display: inline-block;

    vertical-align: text-top;

    width: 20px;

    height: 20px;

    background: #fff;

    border: 1px solid #D22952;

    border-radius: 6px

}



.styled-checkbox:checked+label:before,

.styled-checkbox:hover+label:before {

    background: #D22952

}



.styled-checkbox:focus+label:before {

    box-shadow: 0 0 0 3px rgba(0, 0, 0, .12)

}



.styled-checkbox:disabled+label {

    color: #b8b8b8;

    cursor: auto

}



.styled-checkbox:disabled+label:before {

    box-shadow: none;

    background: #ddd

}



.styled-checkbox:checked+label:after {

    position: absolute;

    left: 5px;

    top: 9px;

    background: #fff;

    width: 2px;

    height: 2px;

    box-shadow: 2px 0 0 #fff, 4px 0 0 #fff, 4px -2px 0 #fff, 4px -4px 0 #fff, 4px -6px 0 #fff, 4px -8px 0 #fff;

    -webkit-transform: rotate(45deg);

    transform: rotate(45deg)

}



.is-active,

.is-active a {

    color: #D22952

}



.o-modal {

  position: fixed;

  top: 0;

  left: 0;

  background-color: rgba(255,255,255,.95);

  display: none;

  opacity: 0;

  width: 100%;

  height: 100%;

  z-index: 3;

}



.o-modal__container {

  width: 100%;

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%,-50%);

  padding: 48px 32px 32px;

}



.o-modal__container h3 {

  text-align: center;

}



@media screen and (min-width: 1024px) {

  .o-modal__container {

    width: auto

  }

}



.o-modal__close {

  position: absolute;

  right: 16px;

  top: 16px;

  cursor: pointer;

}



.is-visible {

  opacity: 1;

  display: block;

}



.is-hidden {

  overflow: hidden;

}