:root {
    --body-font-size: 1rem;
    --body-font-weight: 400;
    --body-line-height: 1.5;
    --body-color: #414141;
    --body-bg: white;
    --gray-light: #EFEFEF;
    --gray-dark: #827875;
    --novisoft-black: #414141;
    --novisoft-padding: 36px;
    --body-font-family: nimbus-sans, sans-serif;
    --novisoft-font-family-headings: nimbus-sans, sans-serif;
    --novisoft-font-family-body: nimbus-sans, sans-serif;
}

.site-grid {
    grid-gap: 0 var(--novisoft-padding);
}

mark {
    padding: 0;
}

h2,h3,h4,h5,h6 {
    font-family: var(--body-font-family);
}

a {
    transition: all 300ms ease-in;
}

a:hover {
    text-decoration: none;
}


.btn {
    font-weight: 400;
    color: #fff;
    background: #373d43;
    padding: 9px 16px 7px;
    font-size: 16px;
    border-radius: 0;
    transition: all 300ms ease-in;
    border: none;
    text-decoration: none;
    text-transform: uppercase;
}

.btn:hover {
    background: var(--novisoft-color-primary);
    color: #fff;
}

p, ul {
    margin-bottom: 30px;
}

h1 {
    font-weight: normal;
    font-size: 40px;
    text-transform: uppercase;
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 1.2em;
}

h2 {
    font-weight: normal;
    font-size: 30px;
    text-transform: uppercase;
    line-height: 1.2em;
    margin: 0;
    margin-bottom: 20px;
}

h3 {
    font-weight: normal;
    font-size: 26px;
    color: var(--novisoft-color-primary);
    line-height: 1.2em;
    margin-top: 0;
    margin-bottom: 20px;
}

h4 {
    font-size: 20px;
    line-height: 1.4em;
    margin: 0 0 10px;
}



h1 strong, h2 strong {
    color: #0083c5;
    font-weight: normal;
}

.clr {
    clear: both;
}

iframe, svg {
    max-width: 100%;
}

.advice {
    border: 1px solid var(--novisoft-color-primary);
    padding: 20px;
    margin-bottom: 30px;
}

.flex-column {
    flex-direction: column;
}

/*********************
 Header
 */
#top-msg {
    background: #fff;
    text-align: center;
    padding: 20px 0;
    border-top: 1px solid #ccc;
}

#top-msg p {
    margin: 0;
}

.mobile-bar {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.mobile-bar .logo-mobile img {
    height: 76px;
    width: auto;
    margin: 0;
}

.mobile-bar .action-mobile {
    display: none;
}

.container-header {
    position: relative;
    z-index: 10;
    background-color: var(--gray-light);
    background-image: none;
}

.logo-top-menu {
    justify-content: space-between;
}


.container-large {
    padding-left: var(--novisoft-padding);
    padding-right: var(--novisoft-padding);
}


.container-header .navbar-brand {
    margin-top: 0;
    padding: 0;
    display: flex;
    align-items: flex-end;
}

.container-header .grid-child {
     align-items: center;
}

.container-topbar  {
    background-color: var(--novisoft-color-header);
    padding: 0.5em 1em;
    font-size: 13px;
    color: #fff;
/*    text-align: center;*/
    text-transform: inherit;
      display: flex;
      justify-content: space-between;
    align-items: center;
}


.container-topbar .right-section {
    display: grid;
    grid-template-areas:"menu langue find other";
    justify-content: end;
    background-color: var(--novisoft-color-header);
    text-align: center;
    text-transform: inherit;
    align-items: center;
}

.container-topbar .mod-menu {
        grid-area: menu;
}

.container-topbar .mod-languages {
    grid-area: langue;
}


.module_snow {
    display: flex;
    align-items: center;
    line-height: 1.2em;
    margin-right: 30px;
}

.module_snow #snow_removal_link {
    text-decoration: none;
}

.module_snow.closed #snow_removal_link:hover{
    color: #EF3E33;
}

.module_snow.opened #snow_removal_link:hover {
    color: #00AD4C;
}

.container-topbar .mod-finder{
    grid-area: find;
}

.result__taxonomy-item.result__taxonomy--Author {
    display: none;
}

.mod-menu-account {
    grid-area: other;
    padding: 0 10px 0 15px;
}

.mod-menu-account div {
    position: absolute;
    background-color: rgba(51, 59, 69, 1)!important;
    min-width: 160px;
    margin: 0;
    box-shadow: 0 8px 16px 0 rgba(0,0,0,.2);
    overflow-y: hidden;
    overflow-x: hidden;
    z-index: 1000;
    max-height: 0;
    -moz-transition: .5s all .2s;
    -webkit-transition: .5s all .2s;
    transition: .5s all .2s;
}

.mod-menu-account a {
    text-decoration: none;
    padding: 15px;
    display: block;
}

.mod-menu-account:hover div  {
    max-height: 50em;
    -moz-transition: .9s all .3s;
    -webkit-transition: .9s all .3s;
    transition: .9s all .3s;
}


.container-header .container-topbar a:hover {
    color: var(--novisoft-color-primary);
}

.container-header .mod-menu>li.active::after, .container-header .mod-menu>li:hover::after {
    display: none;
}

.container-header .mod-menu {
    flex: inherit;
}

.container-topbar p {
    margin-bottom: 0;
}

.mod-finder input[type="text"] {
    border: none;
    border-bottom: 1px solid #aaa;
    background: transparent;
    border-radius: 0px;
    margin-left: 20px;
    margin-right: 5px;
    padding: 3px 1px 1px 5px;
    color: #fff;
}

.mod-finder .btn {
    padding-left: 8px;
    padding-right: 8px;
}

.mod-finder .btn:hover {
    background: var(--novisoft-color-header);
}

.container-header .mod-menu.top_menu>li+li {
    margin-left: 0.75em;
    padding-left :  0.75em;
    border-left: 1px solid;
}

div.mod-languages a {
    padding: 0.5rem 0.25rem!important;
}
.mobile-bar div.mod-languages a {
    padding: 3px 6px!important;
    border-radius: 17px;
    font-size: 14px;
    background: var(--novisoft-color-primary);
    color: #fff;
    background: #333;
    margin: 0 4px;
    transition: background 300ms ease-in;
}

.mobile-bar div.mod-languages a:hover {
    background: var(--novisoft-color-primary);
}

.mobile-bar .mod-languages {
    margin-top: 1px;
}

div.mod-languages li {
    margin-left: 0.75em;
    padding-left: 0.75em;
    border-left: 1px solid;
}

.mobile-bar div.mod-languages li {
    margin: 0;
    padding: 0;
    border-left: none;
}


.container-below-top a.btn {
    font-size: 16px;
    background: var(--gray-dark);
    padding: 7px 25px;
    border-radius: 40px;
    color: #fff !important;
    text-transform: none;
    margin-top: 0;
    white-space: nowrap;
}

.container-below-top a.btn:hover {
    background: var(--novisoft-black);
    color: #fff;
}

.container-header .container-nav {
    justify-content: flex-end;
}

.container-header .container-nav {
    justify-content: flex-end;
    padding-bottom: 0;
}
.container-header .grid-child {
    align-items: center;
}

.container-header .grid-child.container-below-top {
    align-items: center;
    flex: 1 1 0%;
    flex-wrap: wrap-reverse;
    justify-content: flex-end;
}

.container-header nav {
    margin-top: 0;
}


body:not(.has-sidebar-right) .site-grid .container-component.full-width {
    grid-column-end: full-end;
}
body:not(.has-sidebar-left) .site-grid .container-component.full-width {
    grid-column-start: full-start;
}

/*************************
main menu
 */
.container-large {
    position: absolute;
    width: 100%;
    background-color: rgba(51, 59, 69, 0.6);
}

.main_menu {
    font-size: 17px;
    text-transform: uppercase;
    color: #fff;
}

.main_menu ul.ns_menu>li {
    margin-right: 0;
}

.ns_menu_responsive.view-large.main_menu ul li .separator, .ns_menu_responsive.view-large.main_menu ul li a {
    padding: 40px 20px;
}


.ns_menu_responsive.view-large ul.menu li .separator, .ns_menu_responsive.view-large ul.menu  li  a {
    font-weight: bold;
}

.main_menu li:hover {
    background-color: rgba(51, 59, 69, 0.4) !important;
}

.main_menu .submenu {
    text-transform: none;
    font-family: var(--novisoft-font-family-body);;
    letter-spacing: inherit;
    background-color: rgba(51, 59, 69, 0.8)!important;
}

.main_menu .submenu li:hover a {
    color: #91c4dd;
}

.main_menu ul.ns_menu>li:last-child, .main_menu ul.ns_menu>li:last-child > a {
    margin-right: 0;
}

.main_menu a {
    color: currentColor;
}

.main_menu a:hover,.main_menu .separator:hover {
    color: currentColor;

}

.main_menu li.active > span, .main_menu li.active > a {
    color: #c3ebff!important;
}

.main_menu.view-large {
    float: right;
}

.menu-open .menu-content-items {
    padding-top: 20px;
}

.menu-header .top_menu a {
    color: var( --novisoft-black)!important;
}

.menu-header .top_menu a:hover {
    color: var(--novisoft-color-primary)!important;
}

.ns_menu_responsive.view-large.expand-over ul.ns_menu>li>ul>li.parent:after, .ns_menu_responsive.view-large.expand-over ul.ns_menu>li>ul>li.parent:before {
    display: none;
}

header .ns_menu_responsive.view-compact .menu-content {
    left: inherit;
    right: -100%;
    background-color: var(--novisoft-color-header);
}

.menu-open header .ns_menu_responsive.view-compact .menu-content {
    left: inherit;
    right: 0;
}

.ns_menu_responsive .menu-content .icon-bar {
    background: #fff!important;
}



@media (max-width: 1050px) {
    .main_menu {
        font-size: 16px;
    }

    .main_menu  ul.ns_menu>li {
        margin-right: 1em;
    }
}


/***************************************
    Page interne
 */
.banner-intern {
    background-size: cover;
    text-align: center;
    height: 106px;
}


.left.item-image {
    margin-right: 1em;
}

.breadcrumb {
    margin-bottom: 0;
    background-color: inherit;
    padding-left: 0 !important;
    float: right;
}

section[class^='ns_section'], .default-page, .blog-grid, .com-content-archive, .com-finder {
    padding: 80px 0;
    width: 100%;
}

.full-width section[class^='ns_section'], .full-width .blog-grid {
    padding-left: var(--novisoft-padding);
    padding-right: var(--novisoft-padding);
}

.full-width section[class^='ns_section'] p:last-child, .full-width section[class^='ns_section'] ul:last-child {
    margin-bottom: 0;
}

.mod-custom.return-link {
    padding-top: 20px;
}

.blog-item.card {
    border: none;
}

.cmd-btn .btn {
    margin-right: 10px;
    margin-bottom: 10px;
}

/*****************************************
    Home page
 */

#rwdbanner {
    position: relative;
}

#rwdbanner, #rwdbanner div.rwdbanner-trans {
    height: calc(100vh - 275px)!important;
    min-height: 500px;
}

#rwdbanner .down {
    position: absolute;
    bottom: 20px;
    margin: 0 auto;
    width: 100%;
    text-align: center;
}

#rwdbanner .banner-nav {
    position: relative;
    text-align: center;
    bottom: 55px;
}

#rwdbanner .slogan {
    position: absolute;
    bottom: 217px;
    text-align: center;
    width: 100%;
    transition: opacity 1s ease-in-out 1s, visibility 2s;
    visibility: visible;
    opacity: 1;

}

#rwdbanner .slogan .btn {
    background-color: #0083c5;
    color: #fff;
    border-radius: 19px;
    font-weight: 600;
    padding: 30px 70px;
}

#rwdbanner .slogan .btn:hover {
    background: #373d43;
}

#rwdbanner .banner-nav-item .btn-banner-nav-item {
    border: 2px solid #fff;
    margin: 0 5px;
    cursor: pointer;
    border-radius: 14px;
}


.prev-next {
    position: absolute;
    bottom: 260px;
}

.previous-action {
    left: 20px;
}

.next-action {
    right: 20px;
}

.next-action img, .previous-action img {
    opacity: 0.7;
    transition: opacity 0.4s ease;
    cursor: pointer;
}

.next-action img:hover, .previous-action img:hover {
    opacity: 1;
}

.home-page .ns_section_1 {
    background: var( --gray-light);
    padding: 40px 0;
}

.home-page .ns_section_1 img {
    margin-bottom: 15px;
}

.home-page .ns_section_1 .service-home {
    position: relative;
    top: 0;
    cursor: pointer;
    transition: all 0.3s ease-in;
}
.home-page .ns_section_1 .service-home:hover {
    top: -10px;
}
.home-page .ns_section_1 a {
    text-decoration: none;
    color: currentColor;
}

.home-page .ns_section_1 .service-home:hover a {
    color: var(--novisoft-color-primary);
}

.home-page .ns_section_1 .grid-child {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}



.home-page .last-news {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr ;
    align-items: center;
    gap: 30px 120px;
    align-items: start;
    justify-content: center;
    width: 100%;
    margin-bottom: 25px;
}

.home-page .ns_section_2 h3 {
    font-weight: normal;
    font-size: 40px;
    line-height: 1.2em;
    color: #414141;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.home-page .last-news .date_news {
    font-weight: bold;
    font-size: 27px;
    line-height: 1em;
    color: #bec1c5;
    margin-bottom: 10px;
}

.home-page .last-news a {
    color: currentColor;
    text-decoration: none;
}

.home-page .last-news .news-title {
    font-weight: bold;
    padding-bottom: 25px;
}

.home-page .last-news a .news-title, .home-page .last-news a .more-link {
    transition: color 0.3s ease-in;
}


.home-page .last-news a:hover .news-title, .home-page .last-news a:hover .more-link  {
    color: var(--novisoft-color-primary);
}

/**************************************
 Stationnement sur rue
 */

.stationnement-rue-page .ns_section_2 {
    background: var(--gray-light);
}

.stationnement-rue-page .ns_section_2 ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 15px;
    list-style: none;
    margin-bottom: 80px;
}

.stationnement-rue-page .ns_section_2 ul li {
    display: flex;
    align-items: center;
}


.table-tarif {
    margin-bottom: 30px;
    max-width: 750px;
}

.table-tarif td{
    padding: 10px 10px;
    text-align: right;
    border: 1px solid var(--body-color);
}

.table-tarif td:first-child {
    text-align: left;
}


.stationnement-rue-page .ns_section_4 {
    background: var(--novisoft-color-primary);
    color: #fff;
}

.stationnement-rue-page .ns_section_5 .sub-section {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 15px;
}


/******************************
 page terrains de stationnement
 */
.terrains-stationnement-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 2.5fr 3fr;
    grid-gap: 45px;
}

.terrains-stationnement-page .ns_section_2 {
    background: var(--gray-light);
}

.terrains-stationnement-page .ns_section_2 .sub-section {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: 45px;
    align-items: center;
}

.steps h4 {
    margin-bottom: 35px;
    display: grid;
    grid-template-columns: 75px calc( 100% - 75px );
    align-items: center;
}

.steps h4 .num {
    background: #00af3f;
    padding: 9px 0;
    border-radius: 39px;
    margin-right: 20px;
    width: 2em;
    display: inline-block;
    text-align: center;
    font-size: 1.2em;
    color: #fff;
}

.terrains-stationnement-page .ns_section_3 .steps h4 .num {
    background: var(--novisoft-color-primary);
}

.payez-partez thead td {
    vertical-align: top;
    background-color: #0092cf;
    color: #ffffff;
}

.payez-partez td {
    vertical-align: top;
    padding: 10px 20px;
    border: 1px solid var(--body-color);
}

.payez-partez td:nth-child(3) {
    text-align: center;
}

.payez-partez p {
    margin-bottom: 0;
}

/******************
        Pole de mobilite
************************/

.pole-mobilite-page .ns_section_2 {
    background: var(--novisoft-color-primary);
    color: #fff;
}


/*********************
 Page innovation
 ********************/
.innovation-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-gap: 45px;
}

.innovation-page .ns_section_1 .sub-section .div-text {
    align-self: center;
}

.innovation-page .ns_section_1 .sub-section.type2 {
    grid-template-columns: 1fr 1.5fr;
}


.innovation-page .ns_section_2  {
    background: var(--novisoft-color-primary);
    color: #fff;
}

.innovation-page .ns_section_2 h3  {
    color: #fff;
}

.innovation-page .ns_section_3  {
    background: var(--gray-light);
}

/**************************************
 Contact page
*/

/******************************
 page terrains de stationnement
 */
.contact-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 45px;
}

.map-page iframe {
    max-width: 100%;
    height: calc(100vh - 226px);
}

/******************************
 page bus 747
 */
.bus747-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 45px;
    margin-top: 50px;
}


/******************************
 page mobilite reduite
 */
.mobilite-reduite-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 45px;
}

.mobilite-reduite-page iframe {
    margin-top: 30px;
}

/******************************
 page permis journalier
 */
.permis-journalier-page .ns_section_2  {
    background: var(--novisoft-color-primary);
    color: #fff;
}

.permis-journalier-page .ns_section_2 h3  {
    color: #fff;
}

.permis-journalier-page .ns_section_2 a {
    color: #fff;
}

/***********************
 Actualites - blogs
 */

.blog .readmore .btn {
    padding: 0px;
    text-align: right;
    display: block;
    background: transparent none repeat scroll 0% 0%;
    color: #0083c5;
    text-decoration: underline;
}

.blog .readmore .btn:hover {
    text-decoration: none;
}

/**********************
 Page conseil
*********************/

.conseil-page .ns_section_1 .grid-child {
    grid-gap: 40px;
}

.section-conseil .teamitem:nth-child(2) {
    grid-column: 1;
}

.team {
    display: grid;
    grid-gap: 45px;
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.teamitem {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 25px;
    align-items: center;
}

.teamimg img {
    width: 200px;
}

.team-title p {
    margin-bottom: 10px;
}

.team-name {
    font-size: 18px;
    font-weight: bold;
}

/************************
page backgroundimage
***********************/
.backgroundimage-page .ns_section_1 {
    background-size: contain!important;
    padding-bottom: 445px;
    margin-bottom: 80px;
}

/**************************
Page serviceMobile
*************************/
.servicemobile-page .ns_section_1 h1 {
    margin-bottom: 0;
}

.servicemobile-page .ns_section_2 {
    background-color: var(--novisoft-color-primary);
    color: #fff;
}

.servicemobile-page .ns_section_2 {
    padding-bottom: 0;
}

.servicemobile-page .ns_section_2 .btn {
    border-radius: 7px;
    padding: 10px 50px;
    background: #000;
    border: 1px solid #999;
}

.servicemobile-page .ns_section_2 .btn:hover {
    background: #fff;
    color: #0083c5;
}

.servicemobile-page h2 {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 70px;
}

.servicemobile-page .ns_section_2 h3 {
    color: #fff;
}

.servicemobile-page .ns_section_2 .section-text {
    margin: 0 60px;
}

.servicemobile-page .ns_section_2 .section-img {
    align-self: end;
}

.servicemobile-page .ns_section_2 .sub-section {
    display: grid;
    grid-gap: 45px;
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.servicemobile-page .ns_section_3 {
    background-color: #efefef;
}


.servicemobile-page .ns_section_3 .sub-section {
    display: grid;
    grid-gap: 90px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.servicemobile-page h4 {
    font-size: 23px;
    margin: 25px 0 ;
}

.servicemobile-page .ns_section_4 {
    background-color: var(--novisoft-color-primary);
    color: #fff;
}

.servicemobile-page .ns_section_4 .sub-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: space-around;
    grid-gap: 35px;
}

.servicemobile-page .ns_section_5 .sub-section {
    display: grid;
    grid-gap: 140px;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: center;
    margin-bottom: 100px;
}

.servicemobile-page  .steps h4 .num {
    background: var(--novisoft-color-primary);
}

.servicemobile-page .ns_section_5 .sub-section h4 {
    text-align: left;
}

.servicemobile-page .ns_section_5 .sub-section img {
    display: block;
    margin: 0 auto;
}



/**************************
Page Bornes de paiement
*************************/
.bornespaiement-page .ns_section_1 .sub-section-1 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: end;
    grid-gap: 35px;

}

.bornespaiement-page .ns_section_1 h2 {
    margin-top: 70px;
}

.bornespaiement-page .ns_section_1 .sub-section-2 {
    display: grid;
    grid-template-columns:1.7fr 1fr;
    align-items: center;
    justify-content: space-between;
    grid-gap: 75px;
}

.bornespaiement-page .ns_section_1 .sub-section-2 .section-img {
    justify-self: end;
}

.bornespaiement-page .ns_section_2 {
    background-color: var(--novisoft-color-primary);
    color: #fff;
}

.bornespaiement-page .ns_section_2 h3 {
    color: #fff;
}

.bornespaiement-page .ns_section_2  .steps h4 .num {
    color: var(--novisoft-color-primary);
    background-color: #fff;
}

/**************************
Page chargement de neige
*************************/
.chargementneige-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: center;
    grid-gap: 35px;
}

.chargementneige-page .ns_section_1 .sub-section  .section-img {
    justify-self: center;
    text-align: center;
}

.chargementneige-page .ns_section_1 .sub-section  .section-img p {
    margin-top: 5px;
    line-height: 1em;
}

.section-table-snow td{
    padding: 10px 20px;
    border: 1px solid;
}

.module_snow_removal {
    padding: 30px;
    border: 1px solid red;
    margin-bottom: 50px;
}

.module_snow_removal .grid-child {
    gap: 30px;
    align-items: center;
}

.module_snow_reportform .grid-child {
    align-items: center;
    gap: 20px;
    display: grid;
    grid-template-columns: 36px 1fr;
}

.module_snow_reportform .grid-child p:last-child, .module_snow_removal .grid-child p:last-child {
    margin-bottom: 0;
}

/**************************
Page carrieres
*************************/
.carrieres-page .ns_section_2 {
    background-color: var(--novisoft-color-primary);
    color: #fff;
}
.carrieres-page .ns_section_2 a {
    color: #fff;
}

.carrieres-page .ns_section_2 a.btn:hover {
    background-color: #fff;
    color: var(--novisoft-color-primary);
}

.carrieres-page .ns_section_2  ul {
    margin-bottom: 30px!important;
}


.carrieres-page .ns_section_2  h3 {
    color: #fff;
}

.carrieres-page .ns_section_3 {
    background-color: #efefef;
}

.amd_jobs a {
    color: #fff;
}

.amd_jobs h3 em {
    text-transform: uppercase;
    font-style: normal;
    font-size: .9em;
}

/******************
    page media
 */
.module_menu_media {
    position: relative;
}

.module_menu_media .mod-list {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 25px;
    margin-bottom:0;
    position: absolute;
    right: 0;
    font-size: 19px;
    top: 20px;
}

.module_menu_media .mod-list li a {
    color: var(--body-color);
}

.module_menu_media .mod-list li a:hover {
    color: var(--novisoft-color-primary);
    text-decoration: none;
}

.module_menu_media .mod-list li.current a {
    color: var(--novisoft-color-primary);
}

.blog-grid-item .page-header h2, #archive-items h2 {
    font-size: 1.3rem;
    text-transform: none;
    margin-bottom: 0;
}

#archive-items dt.article-info-term {
    display: none;
}

.page-header h1 {
    font-size: 25px;
    text-transform: none;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

/*********************
 Evenements
**********************/
.evenement .grid-child {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
}

.evenement {
    margin-bottom: 30px;
}



.evenement-txt {
    background-color: var(--novisoft-color-primary);
    color: #fff;
    padding: 50px 100px;
}

.evenement-txt h3 {
    background: #fff;
    display: inline-block;
    padding: 2px 15px;
}

.evenement-action {
    border-top: 2px solid #e8c438;
    margin-top: 50px;
    text-align: center;
}

.evenement-action .btn {
    background-color: #e8c438;
    position: relative;
    top: -19px;
    border-radius: 30px;
}

.evenement-action .btn:hover {
    background-color: #373d43;
}

.evenement-page .ns_section_1 .sub-section {
    display: grid;
    grid-template-columns: 3fr 1fr;
    grid-gap: 45px;
}

.evenement-page .evenement-txt {
    padding: 30px;
}

.evenement-page .ns_section_2 {
    background-color: #dadada;
}

.evenement-page .panel-members-4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 45px;
    justify-items: center;
    margin-top: 60px;
}

.evenement-page .panel-member {
    text-align: center;
}


.evenement-page .panel-member h4 {
    color: var(--novisoft-color-primary);
    margin-bottom: 0;
}

.evenement-page .ns_section_4 {
    background-color: var(--novisoft-color-primary);
}

.evenement-page .ns_section_4 .evenement-txt {
    padding: 0;
}

/*********************
 donnees ouvertes
**********************/
.fichiers-table td {
    padding: 10px;
    border: 1px solid #ccc;
}

/***************************
 Rapports annuels
 */
.rapports-annuels .blog-items {
    justify-items: center;
}

/**************************************
 Footer
***************************************/
.footer {
    margin-top: 0;
    background-image: none;
}

footer.footer{
    background: var(--novisoft-color-header);
    color: #fff;
}

.footer .grid-child {
    align-items: inherit;
    padding-bottom: 0!important;
}

.footer h3 {
    color: var(--novisoft-color-primary);
    margin-top: 0;
    font-size: 1.2em;
    font-weight: 400;
}

.footer .simplemenu {
    line-height: 1.2em;
    color: var(--novisoft-black);
}

.footer .simplemenu a {
    display: block;
    text-decoration: none;
    color: #fff;
}

.footer .simplemenu a:hover {
    color: var(--novisoft-color-primary);
    text-decoration: none;
}

.footer .active a {
    text-decoration: none!important;
}

.module_social_network a:hover {
    opacity: 0.5;
}

.after-footer {
    padding: var(--novisoft-padding);
    background: var(--novisoft-color-header);
    color: #fff;
}

.after-footer .grid-child {
    justify-content: space-between;
}

@supports (display:grid) {
    .footer-grid {
        display: grid;
        grid-template-areas:"logo col1 col2 col3";
        grid-template-columns: 1.5fr 1.5fr 1fr 1.5fr;
        grid-gap: 0 2em;
    }

    .footer-grid .footer-logo {
        grid-area: logo;
        margin-bottom:10px;
    }

    .footer-grid .footer-col:nth-child(2) {
        grid-area: col1;
    }

    .footer-grid .footer-col:nth-child(3)  {
        grid-area: col2;
    }

    .footer-grid .footer-col:nth-child(4)  {
        grid-area: col3;
    }

}

@media (max-width: 1150px) {
    .ns_menu_responsive.view-large.main_menu ul li .separator, .ns_menu_responsive.view-large.main_menu ul li a {
        padding: 38px 3px;
    }

    .banner-intern {
        height: 100px;
    }
}



/**********************************************************
 1320 + --novisoft-padding; + 14PX
 Debut responsive
********************************************************/
@media (max-width: 1370px) {
    /*h1, .slogan a{*/
    /*    color: red!important;*/
    /*}*/

    h1 {
        font-size: 33px;
    }

    h2 {
        font-size: 27px;
    }

    h3 {
        font-size: 23px;
    }

    h4 {
        font-size: 18px;
    }

    section[class^='ns_section'], .default-page, .blog-grid, .com-content-archive, .com-finder {
        padding: 60px 0;
    }

    #banner_accueil {
        margin-top: 6vw;
        margin-bottom: 6vw;
    }

    .home-page .last-news {
        gap: 50px 60px;
    }

    .theme-default .nivo-controlNav {
        padding: 1.3vw 0 !important;
    }

    .stationnement-rue-page .ns_section_2 ul {
        margin-bottom: 60px;
    }

    .backgroundimage-page .ns_section_1 {
        padding-bottom: 33vw;
    }

    .steps-line {
        padding: 40px 0 20px;
    }


    .servicemobile-page .ns_section_3 .sub-section {
       grid-gap: 50px;
    }

    .servicemobile-page .ns_section_3 .sub-section img {
        padding: 0 30px;
    }

    .servicemobile-page h4 {
        font-size: 20px;
        margin: 15px 0;
    }

    .mobilite-reduite-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr 1.5fr;
    }

    .evenement-txt {
        padding: 50px 50px;
    }

    .evenement-txt h2 {
        font-size: 23px;
    }

    .evenement-txt h3 {
        font-size: 19px;
    }

    .evenement-page .ns_section_1 .sub-section {
        grid-template-columns: 2.5fr 1fr;
        grid-gap: 30px;
    }

}


/*********************************************************
 tablette
******************************************************/
@media (max-width: 991px) {
    /*h1, .slogan  a {*/
    /*    color: green!important;*/
    /*}*/

    p, ul {
        margin-bottom: 20px;
    }

    .banner-intern {
        display: none;
    }

    #rwdbanner .slogan {
        bottom: 230px;
    }

    #rwdbanner .slogan .btn {
        padding: 20px 40px;
    }

    .home-page .ns_section_1 .grid-child {
        grid-template-columns: 1fr 1fr 1fr;
        row-gap: 30px;
        column-gap: 15px;
    }

    .home-page .last-news {
        grid-template-columns: 1fr;
    }

    section[class^='ns_section'], .default-page, .blog-grid, .com-content-archive, .com-finder {
        padding: 40px 0;
    }

    .stationnement-rue-page .ns_section_2 ul {
        margin-bottom: 50px;
    }

    .terrains-stationnement-page .ns_section_2 .sub-section {
        align-items: start;
    }

    .team {
        grid-gap: 30px;
        grid-template-columns: 1fr;
    }

    .servicemobile-page h2 {
        font-size: 30px;
        margin-bottom: 40px;
    }

    .servicemobile-page h3 {
        font-size: 20px;
    }

    .servicemobile-page .ns_section_2 .section-text {
       margin: 20px;
    }

    .servicemobile-page .ns_section_2 .sub-section {
        grid-template-columns: 1.5fr 1fr;
   }

    .servicemobile-page .ns_section_3 .sub-section {
        column-gap: 130px;
        row-gap: 20px;
        grid-template-columns: 1fr 1fr;
    }

    .servicemobile-page .ns_section_5 .sub-section {
        grid-gap: 30px;
        grid-template-columns: 1fr;
        margin-bottom: 30px;
    }

    .servicemobile-page .ns_section_5 .sub-section .mod-custom {
        width: 100%;
    }

    .bornespaiement-page .ns_section_1 .sub-section-2 {
        grid-template-columns:1fr;
        grid-gap: 25px;
    }

    .bornespaiement-page .ns_section_1 .sub-section-2 .section-img {
        justify-self: center;
    }

    .innovation-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
    }

    .innovation-page .ns_section_1 .sub-section.type2 {
        grid-template-columns: 1fr;
        justify-items: center;
        grid-gap: 20px;
    }

    .servicemobile-page .ns_section_2 .sub-section {
        grid-template-columns: 1fr;
        grid-gap:20px;
    }

    .mobilite-reduite-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
        grid-gap: 20px;
        justify-items: center;
    }

    .bus747-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr 1fr;
        margin-top: 30px;
    }

    .evenement-page .ns_section_1 .sub-section {
        grid-template-columns: 2fr 1fr;
        grid-gap: 20px;
    }

    .contact-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
        grid-gap: 0;
        margin-bottom: 20px;
    }


    .footer h3 {
        margin-bottom: 0;
    }

    @supports (display:grid) {
        .footer-grid {
            grid-template-areas:
            "logo col1 col2"
            "logo col1 col3";
            grid-template-columns: 1fr 1.3fr 1.3fr;

        }


    }


}


/*********************************************************
 phone
******************************************************/
@media (max-width: 767px) {
    /*h1, .slogan a {*/
    /*    color: purple!important;*/
    /*}*/

    .container-topbar {
        display: block;
    }

    .module_snow {
        margin-bottom: 10px;
    }

    .terrains-stationnement-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
        grid-gap: 20px;
    }

    .terrains-stationnement-page .ns_section_2 .sub-section {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .steps h4 {
        margin-bottom: 15px;
    }

    .bus747-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
        margin-top: 20px;
        grid-gap: 20px;
    }

    .bus747-page .ns_section_1 .sub-section .section-img {
        justify-self: center;
    }
    .chargementneige-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
        grid-gap: 20px;
    }

    .evenement-txt {
        padding: 20px 20px;
    }

    .evenement-txt h2 {
        font-size: 20px;
    }

    .evenement-page .ns_section_1 .sub-section {
        grid-template-columns: 1fr;
    }

    .evenement-page .panel-members-4 {
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
        margin-top: 40px;
    }

    .container-topbar .mod-finder {
        display: none;
    }

}

/*********************************************************
 small phone
******************************************************/
@media (max-width: 600px) {
    /*h1, .slogan a {*/
    /*    color: orange!important;*/
    /*}*/
    :root {
        --novisoft-padding: 18px;
    }

    h1 {
        font-size: 28px;
        margin-bottom: 20px;
    }

    h2 {
        font-size: 25px;
    }

    p, ul {
        margin-bottom: 20px;
    }

    #rwdbanner, #rwdbanner div.rwdbanner-trans {
        height: 400px!important;
        min-height: inherit;
    }

    #rwdbanner .slogan .btn {
        font-size: 14px;
        padding: 10px 30px;
    }

    .prev-next {
        display: none;
    }

    #rwdbanner .slogan {
        bottom: 200px;
    }


    .blog-grid-item {
        grid-template-columns: 1fr;
        grid-template-areas:
        "header" "col1" "col2";
    }

    .home-page .ns_section_2 h3 {
        font-size: 35px;
        margin-bottom: 20px;
    }

    .home-page .ns_section_1 .grid-child {
        grid-template-columns: 1fr 1fr;
    }

    .home-page .last-news .date_news {
        font-size: 23px;
        margin-bottom: 5px;
    }

    .home-page .last-news .news-title {
        padding-bottom: 5px;
    }

    .home-page .last-news {
        gap: 20px 60px;
    }

    .stationnement-rue-page .ns_section_2 ul {
       grid-template-columns: 1fr;
    }

    .stationnement-rue-page .ns_section_5 .sub-section {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .servicemobile-page .ns_section_3 .sub-section {
        grid-template-columns: 1fr;
    }

    .servicemobile-page .ns_section_4 .sub-section {
        grid-template-columns: 1fr;
    }

    .bornespaiement-page .ns_section_1 .sub-section-1 {
        grid-template-columns: 1fr;
        grid-gap: 20px;
    }

    .bornespaiement-page .ns_section_1 .sub-section-1 .section-img {
        justify-self: center;
    }

    .bornespaiement-page .ns_section_1 h2 {
        margin-top: 30px;
    }

    .module_snow_removal {
        padding: 15px;
    }

    .module_snow_removal .grid-child {
        gap: 15px;
    }


    .section-table-snow  table {
        border: none;
    }

    .section-table-snow thead {
        display: none;
    }

    .section-table-snow  tr{
        display: block;
        margin-bottom: 20px;
        border: 1px solid;
    }
    .section-table-snow  td {
        display: block;
        text-align: left!important;
        border: none;
        padding: 5px 20px;
    }

    .section-table-snow  td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        padding-right: 5px;
    }

    .evenement .grid-child {
        grid-template-columns: 1fr;
    }

    .evenement .evenement-img {
        min-height: 50vw;
    }

    .teamitem {
        grid-template-columns: 1fr;
        grid-gap: 5px;
    }

    .teamitem .teamimg {
        justify-self: center;
    }

    @supports (display:grid) {
        .footer-grid {
            grid-template-areas:
            "logo col1"
            "col2 col3";
            grid-template-columns: 1fr 2fr;
            grid-gap: 20px;
        }
    }

    .table-parcojour{
        border: none;
    }

    .table-parcojour thead {
        display: none;
    }

    .table-parcojour  tr{
        display: block;
        margin-bottom: 20px;
        border: 1px solid;
    }
    .table-parcojour  td {
        display: block;
        text-align: left!important;
        border: none;
        padding: 5px 20px;
    }

    .table-parcojour  td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        padding-right: 5px;
    }



}

/*********************************************************
 small phone
******************************************************/
@media (max-width: 550px) {
    .container-topbar {
        display: block;
    }

}

@media (max-width: 400px) {
    /*h1, .slogan a {*/
    /*    color: pink!important;*/
    /*}*/

    @supports (display:grid) {
        .footer-grid {
            grid-template-areas:
            "logo"
            "col1"
            "col2"
            "col3";
            grid-template-columns: 1fr;
            grid-gap:  15px;
        }
    }

}

.table-parcojour thead {
    background: #fff;
    color: var(--novisoft-color-primary);
}

.table-parcojour td {
    border: 1px solid;
    padding: 10px;
}
