/************/
/*** Font ***/
/************/

@font-face {
    font-family: grota_sans_rd;
    src: url('/fonts/grota_sans_alt_rd/GrotaSansAltRd-Light.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: grota_sans_rd;
    src: url('/fonts/grota_sans_alt_rd/GrotaSansAltRd.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'grota_sans_rd';
    src: url('/fonts/grota_sans_alt_rd/GrotaSansAltRd-Medium.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: grota_sans_rd;
    src: url('/fonts/grota_sans_alt_rd/GrotaSansAltRd-Bold.otf') format('opentype');
    font-weight: 500;
    font-style: bold;
}

/***********************************/
/************** Basic **************/
/***********************************/

body {
    font-family: 'grota_sans_rd', Arial, sans-serif;
    font-weight: 300;
}

body, html {
    font-size: 65.2% !important;
    color: #4F5252
}

@media only screen and (min-width: 992px) {
    body {
        padding-top: 15rem;
    }
}

.container {
    font-size: 1.6rem;
    padding-bottom: 30px;
}

.no-padding { padding: 0 !important }

/************************************/
/************** Navbar **************/
/************************************/

.navbar-toggle .icon-bar {
    background: #E30E22
}

.navbar {
    margin-top: 20px;
}

@media only screen and (min-width: 768px) {
    .navbar {
        margin-top: 0;
    }
}

.menualto ul {
    padding: 0;
}

@media only screen and (min-width: 992px) { /* per menu desktop */
    /* menu basso */
    .navbar {
        margin: 0;
        padding: 18px 0;
        background: #fff;
    }
    .menubasso .navbar-nav {
        border: 1px solid #E30E22;
        border-radius: 20px;
        font-size: 1.2rem;
        color: #E30E22;
        font-weight: 400;
        list-style-type: none;
        padding-right: 0px
    }

    .menubasso .navbar-nav a {
        color: #E30E22;
    }
    .menubasso .navbar-nav a:hover {
        color: #E30E22;
        text-decoration: none;
        font-weight: 500;
    }

    .menubasso .navbar-nav li {
        margin: 0 15px !important;
        padding: 5px 0
    }
    .menubasso .navbar-nav li a {

    }

    .menubasso .navbar-nav li.mission {
        margin: 0 !Important;
        background-color: #E30E22;
        border-radius: 20px;
        float: right;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    .menubasso .navbar-nav li.mission a{
        color: #ffffff;
    }

    .menubasso .mission a {
        color: #fff;
        font-size: 1.3rem;
    }

    .menubasso ul { position: relative }
    .menubasso .dropdown { position: static; }
    .menubasso .dropdown-menu {
        position: absolute;
        left: 5%;
        top: 102%;
        width: 90%;
        padding: 15px !important;
    }
    .menubasso .dropdown-menu div {     padding: 0 15px; }
    .menubasso .dropdown-menu ul {
        list-style-type: none;
        padding: 0;
        margin: 0
    }
    .menubasso .dropdown-menu ul li {
        padding: 0;
        margin: 0 !important;
        font-weight: 300;
    }
    .menubasso .dropdown-menu li:before {
        content: "·"; /* Insert content that looks like bullets */
        padding-right: 8px;
        color: #727070; /* Or a color you prefer */
    }
    .menubasso .dropdown-menu, .menubasso .dropdown-menu a { color: #727070}
    .menubasso .dropdown-menu a:hover { color: #E30E22; text-decoration: none }
    .dropdown .nav-link:after {
        content: url("/img/menu-arrow-down.png") !important;
        border: 0px;
        margin-left: 20px;
        vertical-align: 0;
    }

    .dropdown-menu {
        border-radius: 10px;
        border: 0px;
        color: #727070
    }

    .dropdown-menu a {
        color: #727070;
    }
    .dropdown-menu li a:hover {
        font-weight: 300 !important
    }

    .menubasso ul .dropdown:hover > .dropdown-menu {
        display: block;
    }

    /* menu alto */
    .menualto ul {
        margin-bottom: 5px;
        list-style-type: none
    }
    .menualto ul li {
        padding: 5px
    }
    .menualto .navbar-nav a {
        color: #fff;
        font-size: 1.3rem;
        padding: 5px 15px !important
    }
    .menualto .navbar-nav li:first-child {
        background: #727070;
        border-radius: 10px 0px 0 0
    }
    .menualto .navbar-nav li:nth-child(2) {
        background: #6E2A6C;
        border-radius: 0;
    }
    .menualto .navbar-nav li:nth-child(3) {
        background: #727070;
        border-radius: 0 10px 0 0
    }
    .menualto .social a {
        float: left;
        color: #E30E22;
        font-size: 3rem;
        padding: 0 !important;
        line-height: 0em;
        margin: 0 10px !important
    }
    .navbar .social {
        float: right;
    }

    .menualto .meumovicel {
        background: #E30E22;
        border-radius: 20px;
        font-size: 1.3rem;
        color: #fff;
        padding: 5px 0;
        text-align: center
    }

    .menualto .meumovicel a {
        color: #fff;
    }
    .menuclose { display: none }
}

.navbar-brand img {
    max-width: 190px;
}

@media only screen and (max-width: 991px) { /* per il menu mobile */
    .navbar-brand {
        float: none;
        display: block;
        text-align: center
    }
    .navbar-brand img {
        display: inline
    }
    .menumobile ul { list-style-type: none }
    .menumobile, .menumobile a { color: #fff ; font-size: 1.8rem}
    .menumobile .navbar-nav { padding: 0; }
    .menumobile .navbar-nav .nav-item { background: transparent !important; }
    .menuclose {
        font-size: 3rem;
        position: absolute;
        top: 20px;
        right: 20px;
    }
    .menumobile.navbar-collapse.in {
        overflow: auto !important;
    }
    .menumobile .row { padding: auto 0 }
    .dropdown-menu {
        text-align: center;
        border-bottom: 1px solid #fff !important;
        width: 50% !important;
        border-top: 1px solid #fff !important;
        margin: 20px auto !important;
    }
    .dropdown-menu ul { padding: 0 !important
    }
    .sfondomobile { background:url("../img/sfondo-1.jpg") no-repeat center top;
        background-size: cover;
        padding-bottom: 60px;
    }
}

@media (max-width: 991px) { /* per togliere il fixed dal menu per il mobile */
    .navbar-fixed-top {
        position: relative;
        top: auto;
    }
    .navbar-collapse {
        max-height: none;
    }
    body {
        margin: 0;
    }
    .navbar-header {

    }
}

.menualto .social a {
    padding: 10px;
}

#navbar {
    margin-top:13px;
}

@media only screen and (max-width: 991px) { /* per il menu mobile */
    /*.iconcell {  color: #727070; font-size: 1.6rem }
    .iconcell div { display: inline }
    .iconcell span {
        font-weight: bold;
        border-right: 2px solid #727070;
        padding: 10px;
        margin-right: 4px;
        font-size: 2rem;
    }*/

    .navbar-brand {
        height: auto
    }
    .menumobile {
        position: fixed;
        top: 0;
        left: 0px;
        z-index: 999999999; /* :-)  rimaneva dietro il titolo della pagina */
        width: 100%;
        min-height: 100%;
        overflow: auto;
        background-color: #E30E22;
        display: none;
        padding:40px;
        text-align: center
    }
    .menumobile .menuclose {
        background: transparent;
        border: 0;
    }
    #navbar {
        margin-top: 0px;
    }

    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none !important;
    }
    .navbar-nav {
        float: none !important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
    .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
}


.mission .input-search {
    border: 0;
    background: transparent;
    color: white;
    margin-right: 10px;
}

.mission i {
    color: white;
}


/******************/
/***** Footer *****/
/******************/
.footer {
    background: #585B5C;
    border-top: 5px solid #E30E22;
    color: #fff;
}

.footer ul {
    list-style-type: none;
    padding: 0;
}

.footer  a {
    color: #fff;
}

.footer .container {
    font-size: 1.2rem
}

.footer-titles {
    font-family: "grota_sans_rd";
    font-size: 1.8rem;
    font-weight: 300;
    padding: 10px;
}

@media only screen and (max-width: 768px) {
    .footer-titles {
        font-size: 1.5rem;
    }
}

.footer .social i {
    font-size: 3rem;
    margin: 2px;
}

.inline {
    display: inline-block;
}

/***************************/
/********** Style **********/
/***************************/

.rounded-corners {
    width: 100%;
}

@media only screen and (min-width: 768px) {
    .rounded-corners {
        display: block;
        position: relative;
        line-height: 2rem;
        vertical-align: middle;
        height: 40px;
        margin: 0 0 30px 0;
        /*font-family: "grota_sans_rd";
        font-size: 1.8rem;
        font-weight: 300;*/
    }
    .rounded-corners::before {
        content: url("/img/rounded-corner-left-red.png");
        display: inline-block;
        position:absolute;
        top: 0;
        left: -52px;
    }

    .individual .rounded-corners::before,
    .agent .rounded-corners::before {
        content: url("/img/rounded-corner-left-red.png");
    }

    .enterprise .rounded-corners::before {
        content: url("/img/rounded-corner-left-violet.png");
    }

    .rounded-corners::after {
        content: url("/img/rounded-corner-right-red.png");
        display: inline-block;
        position:absolute;
        top: 0;
        right: -52px;
    }

    .individual .rounded-corners::after,
    .agent .rounded-corners::after {
        content: url("/img/rounded-corner-right-red.png");
    }

    .enterprise .rounded-corners::after {
        content: url("/img/rounded-corner-right-violet.png");
    }
}

.prelative {
    position: relative;
}

.padd-15-0 {
    padding: 18rem 0;
}

.no-margin {
    margin: 0;
}

.transparent-box {
    background: rgba(255,255,255,0.8);
    padding: 20px;
    border-radius: 20px;
}

.decoration-none, .decoration-none:hover {
    text-decoration: none;
}

.m-0    { margin: 0rem !important; }
.mt-0   { margin-top: 0rem !important; }
.mb-0   { margin-bottom: 0rem !important; }
.p-0    { padding: 0rem !important; }
.pt-0   { padding-top: 0rem !important; }
.pb-0   { padding-bottom: 0rem !important; }
.m-1    { margin: 1rem !important; }
.mt-1   { margin-top: 1rem !important; }
.mb-1   { margin-bottom: 1rem !important; }
.p-1    { padding: 1rem !important; }
.pt-1   { padding-top: 1rem !important; }
.pb-1   { padding-bottom: 1rem !important; }
.m-2    { margin: 2rem !important; }
.mt-2   { margin-top: 2rem !important; }
.mb-2   { margin-bottom: 2rem !important; }
.p-2    { padding: 2rem !important; }
.pt-2   { padding-top: 2rem !important; }
.pb-2   { padding-bottom: 2rem !important; }
.m-3    { margin: 3rem !important; }
.mt-3   { margin-top: 3rem !important; }
.mb-3   { margin-bottom: 3rem !important; }
.p-3    { padding: 3rem !important; }
.pt-3   { padding-top: 3rem !important; }
.pb-3   { padding-bottom: 3rem !important; }
.m-4    { margin: 4rem !important; }
.mt-4   { margin-top: 4rem !important; }
.mb-4   { margin-bottom: 4rem !important; }
.p-4    { padding: 4rem !important; }
.pt-4   { padding-top: 4rem !important; }
.pb-4   { padding-bottom: 4rem !important; }
.m-5    { margin: 5rem !important; }
.mt-5   { margin-top: 5rem !important; }
.mb-5   { margin-bottom: 5rem !important; }
.p-5    { padding: 5rem !important; }
.pt-5   { padding-top: 5rem !important; }
.pb-5   { padding-bottom: 5rem !important; }

.pl-0    { padding-left: 0rem !important; }
.pr-0    { padding-right: 0rem !important; }

/****************************/
/******* Components *********/
/****************************/
@media only screen and (max-width: 767px) {
    .assistance-box .text-right {
        text-align: left
    }
}
.assistance-box {
    padding: 10px;
    margin-top: 50px;
    /*
    background: rgba(255,255,255,0.6);
    box-sizing: border-box;
    border-radius: 25px;
    margin: 40px 5px 5px 5px;
    */
}

.assistance-box .bg-white {
    background: rgba(255,255,255,0.6);
    box-sizing: border-box;
    border-radius: 25px;
    margin-bottom: 10px;
}

.assistance-box a {
    font-size: 16px;
}

.wallpaper {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
    padding-bottom: 60px;
}

@media only screen and (min-width: 992px) {
    .boxverticalcenter {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .borderright { border-right: 2px solid #4F5252 }
    .borderleft { border-left: 2px solid #E30E22; }
}
.right0 {
    right: 0;
}

.gbgrandi {
    font-size: 4.5rem !important;
}
.gbgrandi strong {
    font-size: 6.5rem;
}

.font-medium {

}

.fs2rem {
    font-size: 2rem !important;
}

.movicel-text strong.rosso { color: #E30E22 }

.movicel-text h1:first-child,
.movicel-text h2:first-child {
    margin-top: 0;
}

.movicel-text h1,
.movicel-text h2 {
    color: #E30E22;
    font-size: 6rem
}

@media only screen and (min-width: 768px) { /* per il menu mobile */
    .movicel-text .testo2col {
        -webkit-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 30px;
        column-gap: 30px;
    }
}

.mtb100 {
    margin-top: 100px;
    margin-bottom: 100px;
}

.movicel-text .mtb100 {
    margin: inherit;
}

/**********************/
/***** Components *****/
/**********************/

/** 1. Box **/

.box {
    height: 100%;
    border: 2px solid #E30E22;
    border-radius: 20px;
    position: relative
}

.box h3 {
    background: #E30E22;
    color: #fff;
    text-align: center;
    border-radius: 17px 17px  0 0;
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px 0;
    font-size: 2rem;
    font-weight: 200
}

.box p {
    color: #727070;
    font-size: 1.4rem;
    padding: 10px
}

.box .button {
    background: #E30E22;
    color: #fff;
    border-radius: 5px;
    padding: 5px 10px;
    position: absolute;
    right: 20px;
    bottom: -14px;
    font-size: 1.3rem
}

.box .big {
    padding: 10px;
    border-radius: 20px
}

/** **/
.boxgrigio {
    height: 100%;
    margin-bottom:30px;
    position: relative;
    padding: 10px 0
}

.boxgrigio {
    border: 2px solid #777A7B;
    border-radius: 20px;
    position: relative
}

.boxgrigio p {
    padding: 0 10px
}
.boxgrigio .sfondoimg {
    background: #fff;
    padding: 5px;
    display: block;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 0;
}
.boxgrigio ul {
    list-style-position: inside;
    padding: 0 10px
}
.boxgrigio h4 {
    /*color: #E30E22;*/
    padding: 0 10px;
    margin:0
}
.boxgrigio .linkrosso {
    /*color: #E30E22;*/
    font-size: 1.8rem
}
.boxgrigio table {
    margin:0 10px;
    margin-bottom: 30px
}
.boxgrigio table tr td{
    padding:5px 30px;
    background: #B2B4B5;
    color: #fff
}
.boxgrigio strong.rosso { /*color: #E30E22*/ }
.boxgrigio  tr td:first-child { border-top-left-radius: 4px; }
.boxgrigio  tr td:last-child { border-top-right-radius: 4px; }
.boxgrigio  tr td:first-child { border-bottom-left-radius: 4px; }
.boxgrigio  tr td:last-child { border-bottom-right-radius: 4px; }

.boxgrigio thead tr td {
    background: #DE1635;
    color: #fff
}
.boxgrigio .table-striped>tbody>tr:nth-child(odd)>td,
.boxgrigio .table-striped>tbody>tr:nth-child(odd)>th {
    background-color: #9EA1A2;
}

@media (max-width: 991px) {
    .boxgrigio .sfondoimg {
        background: none;
        padding: 5px;
        display: block;
        position: unset;
        top: auto;
        transform: none;
        left: 0;
        text-align: center;
        position: relative;
        margin-top: -120px;
    }
    .boxgrigio .sfondoimg img {
        margin: 0 auto;
        background: #fff
    }
    .boxgrigio {
        margin-top:150px
    }
    .table-responsive {
        margin: auto 10px;
        width: calc(100% - 20px);
    }
}


/** **/
.title-page {
    width: 100%;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    margin: 0 auto 30px auto;
    padding: 25px 0 15px 0;
}
@media only screen and (min-width: 768px) {
    .title-page {
        font-size: 2.4rem;
    }
}
.title-page-container {
    clear:both;
    margin:0 auto;
}

.title-page-container-top h4 {
    background: #E30E22;
    margin: 0 0 30px 0;
    font-family: "grota_sans_rd";
    font-size: 1.8rem;
    font-weight: 300;
    color: #fff
}
.title-page-container-top h4 span { display: block }

@media only screen and (min-width: 768px) {

    .title-page-container-top {
        border-top: 30px solid #E30E22;
    }

    .title-page-container {
        width: 568px;
    }

    .title-page {
        padding: 5px;
    }
}

/** **/
.box-plan {
    border: 2px solid #E30E22;
}

.menuservizi {
    border: 1px solid #E30E22;
}
.menuservizi a {
    color: #E30E22;
}
.menuservizi a:hover, .menuservizi a.sel {
    background: #E30E22;
}

.red-bg {
    background: #E30E22 !important;
}

.menubasso .dropdown-menu ul li a { color: #727070}

/***************************/
/********** SEARCH *********/
/***************************/
.search-form input {
    background: white;
    border: 0;
    border-bottom: 1px solid;
    width: 95%;
    padding-right: 40px;
    transition: .2s;
    outline: none;
}
.search-form input:focus {
    border-bottom: 2px solid;
}

.search-form button {
    background: white;
    border: 0;
    margin-left: -40px;
    color: #E30E22;
}
.search-results {
    /*list-style: none;*/
}
.search-results li {
    font-size: 2rem;
    padding-left: 15px;
    margin: 10px 0;
}
.search-results .title {
    font-weight: bold;
    color: #E30E22;
}