/* SPARKY DYNAMICALLY GENERATED CSS - DO NOT EDIT THIS FILE!
YOUR CHANGES WILL BE OVERWRITTEN AFTER NEXT SAVE OF TEMPLATE PARAMETERS!
You can add your custom CSS code in template options, under Custom tab or
you can edit file custom.css to add your CSS code. */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCs16Ew-Y3tcoqK5.ttf);
}
    
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew-Y3tcoqK5.ttf);
}
    
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w-Y3tcoqK5.ttf);
}
    
* {
    box-sizing: border-box;
}

body {
    color:var(--sparkycolor6);
    font-size:16px;
    line-height:1.8;
    font-family:'Montserrat', sans-serif;
    
    font-weight:300;
    font-style:normal;
    background:#000000;
}

input, textarea, button, select {
    font-family:'Montserrat', sans-serif;
}

.content_sparky li, dl, dd, dt {
    line-height:1.8;
}

.sparky_container::after {
    content:'';
    display:table;
    clear:both;
}

.clr {
    clear:both;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border:none;
}

.sparky_container {
    margin:0 auto;
    padding:0;
}

.sparky_container > .sparky_cell {
    float:left;
}


/* GRID SYSTEM */

.sparkle1 {
    width: 8.3333333333333%;
}

.sparkle2 {
    width: 16.666666666667%;
}

.sparkle3 {
    width: 25%;
}

.sparkle4 {
    width: 33.333333333333%;
}

.sparkle5 {
    width: 41.666666666667%;
}

.sparkle6 {
    width: 50%;
}

.sparkle7 {
    width: 58.333333333333%;
}

.sparkle8 {
    width: 66.666666666667%;
}

.sparkle9 {
    width: 75%;
}

.sparkle10 {
    width: 83.333333333333%;
}

.sparkle11 {
    width: 91.666666666667%;
}

.sparkle12 {
    width: 100%;
}

.full .sparky_container {
    width:100%;
}

/* ROW SETTINGS */

.sparky_row1.sparky_full {
    background-color:#000000;
}

.sparky_row4.sparky_full {
    background-color:#3c3c3b;
}

.sparky_row5.sparky_full {
    background-color:#000000;
}

.sparky_row7.sparky_full {
    background-color:#000000;
}

.sparky_row8.sparky_full {
    background-color:#000000;
}


/* SCREEN < 768px AND < TEMPLATE WIDTH */

@media (max-width: 767px) {
    .sparky_container {
        width: 100%;
    }

    .sparky_container > [class*='sparkle'] {
        width: 100% !important;
    }

    .two [class*='sparkle'] {
        width: 50% !important;
    }

    .full .sparky_container {
        width:100%;
    }

    .full .sparky_container > .sparky_cell {
        margin: 0;
        padding: 0;
    }
}

/* SCREEN >= 768px AND < TEMPLATE WIDTH */

@media (min-width: 768px) {
    .sparky_container {
        width: 750px;
    }
}

/* SCREEN >= 992px AND < TEMPLATE WIDTH */

@media (min-width: 992px) {
    .sparky_container {
        width: 970px;
    }
}

/* SCREEN >= TEMPLATE WIDTH */

@media (min-width:1200px) {
    .sparky_container {
        width:1170px;
    }

    [class*='sparkle'] {
        margin-left: 0;
    }
}
.one .sparkle1 {
    width: 8.3333333333333% !important;
}
.one .sparkle2 {
    width: 16.666666666667% !important;
}
.one .sparkle3 {
    width: 25% !important;
}
.one .sparkle4 {
    width: 33.333333333333% !important;
}
.one .sparkle5 {
    width: 41.666666666667% !important;
}
.one .sparkle6 {
    width: 50% !important;
}
.one .sparkle7 {
    width: 58.333333333333% !important;
}
.one .sparkle8 {
    width: 66.666666666667% !important;
}
.one .sparkle9 {
    width: 75% !important;
}
.one .sparkle10 {
    width: 83.333333333333% !important;
}
.one .sparkle11 {
    width: 91.666666666667% !important;
}
.one .sparkle12 {
    width: 100% !important;
}
.fluid .sparky_container {
    width: 100%;
}
.sparky_container > .sparky_cell {
    padding:15px 15px;
}

/* FONTS AND TYPOGRAPHY */

h1, h1 a {
    padding:30px 0;
    margin:0;
    line-height:1;
    color:var(--sparkycolor6);
    font-size:56px;
    font-family:'Montserrat', sans-serif;
    
    font-weight:700;
    font-style:normal;
}

h2, h2 a {
    padding:15px 0;
    margin:0;
    line-height:1;
    color:var(--sparkycolor6);
    font-size:30px;
    font-family:'Montserrat', sans-serif;
    
    font-weight:700;
    font-style:normal;
}

h2.row_heading {
    padding-left:15px;
    padding-right:15px;
}

h3 {
    padding:15px 0;
    margin:0;
    color:var(--sparkycolor6);
    font-size:20px;
    line-height:1.2;
    font-family:'Montserrat', sans-serif;
    
    font-weight:700;
    font-style:normal;
}

h3.row_subheading {
    padding-left:15px;
    padding-right:15px;
}

h4 {
    padding:15px 0;
    margin:0;
    color:var(--sparkycolor6);
    font-size:16px;
    line-height:1.4;
    font-family:'Montserrat', sans-serif;
    
    font-weight:700;
    font-style:normal;
}

a {
    color:var(--sparkycolor6);
    font-weight:bold;
    font-style:normal;
    text-decoration:none;
}

a:hover, a:active, a:focus {
    color:#d0d0d0;
    text-decoration:none;
}

p {
    margin: 0 0 15px;
}

button,
button.btn,
a.btn,
button.btn-primary,
p.readmore a,
a.readmore {
    display: inline-block;
    padding: 4px 12px;
    color: #333333;
    text-align: center;
    vertical-align: middle;
    background-color: #f5f5f5;
    background-image:none;
    border: 1px solid #cccccc;
    font-size:inherit;
    line-height:inherit;
    text-shadow:none;
    border-radius:0;
    box-shadow:none;
}

button:hover,
button.btn:hover,
button.btn-primary:hover,
button:active,
button.btn:active,
button.btn-primary:active,
button:focus,
button.btn:focus,
button.btn-primary:focus,
p.readmore a:hover,
p.readmore a:focus,
a.readmore:hover,
a.readmore:focus {
    color: #333333;
    text-decoration: none;
    background-color: #eeeeee;
    background-image:none;
}

p.readmore a.btn span {
    display:none;
}

/* blog layout */

.blog-items {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    clear:both;
}

.blog-items.columns-2 .blog-item {
    width:calc(50% - 15px);
    margin-inline-end: 15px;
    margin-bottom: 50px;
}

.blog-items.columns-3 .blog-item {
    width:calc(33.33% - 15px);
    margin-inline-end: 15px;
    margin-bottom: 50px;
}

.blog-items.columns-4 .blog-item {
    width:calc(25% - 15px);
    margin-inline-end: 15px;
    margin-bottom: 50px;
}

.blog-items.columns-5 .blog-item {
    width:calc(20% - 15px);
    margin-inline-end: 15px;
    margin-bottom: 50px;
}

.blog-items.columns-6 .blog-item {
    width:calc(16.66% - 15px);
    margin-inline-end: 15px;
    margin-bottom: 50px;
}

@media (max-width: 767px) {

    .blog-items.columns-2 .blog-item,
    .blog-items.columns-3 .blog-item,
    .blog-items.columns-4 .blog-item,
    .blog-items.columns-5 .blog-item,
    .blog-items.columns-6 .blog-item {
        width:100%;
        margin-inline-end: 0;
    }

}

.page-header {
    padding: 0;
    margin: 0;
    border: 0;
}

.pull-left.item-image, figure.left.item-image {
    margin-right:15px;
    float:left;
}

.pull-right.item-image, figure.right.item-image {
    margin-left:15px;
    float:right;
}

/* forms */

form {
    margin:0;
}

.form-inline {
    display:inline;
}

#login-form input {
    padding: 4px;
}

/* lists */

ul, ol {
    margin: 15px 45px;
    padding: 0;
}

div.item-page ol li, div.item-page ul li {
    margin: 0 0 10px 0;
    padding: 0;
}

div.icons ul.dropdown-menu li {
    margin: 0;
}


ul.arrow, ul.arrowleft, ul.calendar, ul.checklist, ul.clock, ul.delete, ul.email, ul.file, ul.folder, ul.heart, ul.information, ul.lock, ul.pencil, ul.play, ul.rss, ul.person, ul.shop, ul.song, ul.star, ul.star2, ul.trash, ul.tweak, ul.unlock, ul.warn {
    margin: 15px 45px;
    padding: 0;
}

ul.arrow li, ul.arrowleft li, ul.calendar li, ul.checklist li, ul.clock li, ul.delete li, ul.email li, ul.file li, ul.folder li, ul.heart li, ul.information li, ul.lock li, ul.pencil li, ul.play li, ul.rss li, ul.person li, ul.shop li, ul.song li, ul.star li, ul.star2 li, ul.trash li, ul.tweak li, ul.unlock li, ul.warn li {
    list-style: none;
    padding: 0 15px;
}

ul.arrow li:before, ul.arrowleft li:before, ul.calendar li:before, ul.checklist li:before, ul.clock li:before, ul.delete li:before, ul.email li:before, ul.file li:before, ul.folder li:before, ul.heart li:before, ul.information li:before, ul.lock li:before, ul.pencil li:before, ul.play li:before, ul.rss li:before, ul.person li:before, ul.shop li:before, ul.song li:before, ul.star li:before, ul.star2 li:before, ul.trash li:before, ul.tweak li:before, ul.unlock li:before, ul.warn li:before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    padding: 0;
    margin: 0 -30px;
    position: absolute;
}

ul.arrow li:before {
    content: '\f061';
}

ul.arrowleft li:before {
    content: '\f060';
} 

ul.calendar li:before {
    content: '\f073';
}

ul.checklist li:before {
    content: '\f00c';
}

ul.clock li:before {
    content: '\f017';
}

ul.delete li:before {
    content: '\f00d';
}

ul.email li:before {
    content: '\f0e0';
}

ul.file li:before {
    content: '\f15b';
}

ul.folder li:before {
    content: '\f07b';
}

ul.heart li:before {
    content: '\f004';
}

ul.information li:before {
    content: '\f05a';
}

ul.lock li:before {
    content: '\f023';
}

ul.pencil li:before {
    content: '\f303';
}

ul.person li:before {
    content: '\f007';
}

ul.play li:before {
    content: '\f04b';
}

ul.rss li:before {
    content: '\f09e';
}

ul.shop li:before {
    content: '\f07a';
}

ul.song li:before {
    content: '\f001';
}

ul.star li:before {
    content: '\f005';
}

ul.star2 li:before {
    content: '\f006';
}

ul.trash li:before {
    content: '\f2ed';
}

ul.tweak li:before {
    content: '\f0ad';
}

ul.unlock li:before {
    content: '\f09c';
}

ul.warn li:before {
    content: '\f071';
}

/* font awesome icon sizes */

.fa-1 {
    font-size: 1em;
}

.fa-2 {
    font-size: 2em;
}

.fa-3 {
    font-size: 4em;
}

.fa-4 {
    font-size: 7em;
}

.fa-5 {
    font-size: 12em;
}

.fa-6 {
    font-size: 16em;
}

.fontawesome-icon-list {
    font-size: 10px;
}

.fontawesome-icon-list i {
    font-size: 16px;
}

.warning, .info, .error {
    padding:15px 30px;
    min-height: 50px;
}

.warning {
    color:#000;
    border: 1px solid #ffcc00;
    background:#ffff66;
}

.info {
    color:#006699;
    border: 1px solid #006699;
    background:#bde1ff;
}

.error {
    color:#900;
    border: 1px solid #900;
    background:#f8b5b5;
}

.alert-heading .warning, .alert-heading .info, .alert-heading .error {
    border: 0;
    background: transparent;
    padding:15px 0;
}

.warning:before, .info:before, .error:before {
    font-family: 'Font Awesome 6 Free';
    font-size: 32px;
    font-weight: 900;
    line-height:1;
    margin: 0 30px 0 0;
    float: left;
}

.alert-heading .warning:before, .alert-heading .info:before, .alert-heading .error:before {
    float: none;
}

.warning:before {
    content: '\f071';
    color: #ffcc00;
}

.info:before {
    content: '\f05a';
    color:#006699;
}

.error:before {
    content: '\f057';
    color:#900;
}

.outline {
    background: transparent;
}

.warning.outline {
    color: #d5aa00;
}

.typewriter {
    background: url('../images/typewriter_bg.png');
    padding:20px 15px 20px 30px;
    color:#000;
    font-family:'Courier New', Courier, monospace;
    line-height:20px;
}

.quote {
    margin-left: auto;
    margin-right: auto;
    padding: 15px 15px 15px 15px;
    font-size: 24px;
    font-style: normal;
    line-height: 1.4;
    text-align: center;
    max-width: 600px;
}

.dropcap:first-letter {
    font-size: 300%;
    font-weight:bold;
    float:left;
    margin:0 10px 5px 0;
    line-height: 1;
}

.p_number:first-letter {
    display:block;
    float:left;
    font-family: monospace;
    font-size: 400%;
    line-height:1;
    font-weight:bold;
    text-align: center;
    margin:0 15px 15px 0;
    padding:5px 15px;
    position: relative;
    color: #fff;
    background: #ccc;
}

.inset_left {
    display:block;
    float:left;
    width: 150px;
    font-style: italic;
    margin: 15px 15px 15px 0;
}

.inset_right {
    display:block;
    float:right;
    width: 150px;
    font-style: italic;
    margin: 15px 0 15px 15px;
}

.inset_title {
    font-weight:bold;
    display:block;
}

img.img_left {
    float:left;
    margin:0 30px 30px 0;
}

img.img_right {
    float:right;
    margin:0 0 30px 30px;
}

blockquote {
    border-left: 3px solid #ccc;
    font-family: Georgia, serif;
    font-style: italic;
    margin: 15px;
    padding: 15px;
}

legend {
    display: block;
    padding: 15px;
    margin-bottom: 5px;
    background:#f5f5f5;
    border: 0;
    font-size:inherit;
    line-height:inherit;
}

code {
    display: block;
    padding: 1em;
    color:inherit;
    border:0;
}


.quote:before {
    display: block;
    text-align: center;
    font-family: 'Font Awesome 6 Free';
    content: '\f10d';
    font-size: 1.5em;
    font-style: normal;
    font-weight: 900;
    color: #ccc;
    float: none;
    margin-bottom: 15px;
}

.fontawesome-icon-list div {
    width: 25%;
    float: left;
    padding: 5px 0;
}

.fontawesome-icon-list i {
    width: 30px;
    color: #333;
}

@media(min-width:600px) {
    .two-cols {
        -moz-column-count:2;
        -webkit-column-count:2;
        column-count:2;
        -moz-column-gap:3em;
        -webkit-column-gap:3em;
        column-gap:3em;
    }

    .three-cols {
        -moz-column-count:3;
        -webkit-column-count:3;
        column-count:3;
        -moz-column-gap:3em;
        -webkit-column-gap:3em;
        column-gap:3em;
    }

    .four-cols {
        -moz-column-count:4;
        -webkit-column-count:4;
        column-count:4;
        -moz-column-gap:3em;
        -webkit-column-gap:3em;
        column-gap:3em;
    }

    .five-cols {
        -moz-column-count:5;
        -webkit-column-count:5;
        column-count:5;
        -moz-column-gap:2em;
        -webkit-column-gap:2em;
        column-gap:2em;
    }

    .six-cols {
        -moz-column-count:6;
        -webkit-column-count:6;
        column-count:6;
        -moz-column-gap:2em;
        -webkit-column-gap:2em;
        column-gap:2em;
    }
}

.abovecontent {
    padding: 0 0 30px 0;
}

.belowcontent {
    padding: 30px 0 0 0;
}


/* LOGO */

.sparky_logo {
    color:var(--sparkycolor1);
    font-size:24px;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:normal;
    font-style:normal;
    
    text-decoration:none;
}
.sparky_slogan {
    color:var(--sparkycolor1);
    font-size:12px;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:normal;
    font-style:normal;
    
    text-decoration:none;
}

.sparky_logo_link {
    display:block;
}


/* DROP-DOWN MENU */

ul.mnu_mainmenu {
    display:block;
    margin:0;
    padding:0;
    list-style-type:none;
    list-style-position:outside;
    position:absolute;
    z-index:100;
    white-space:nowrap;
    text-align:right;
    position:relative;
    font-family:'Montserrat', sans-serif;
}

.mnu_mainmenu ul {
    margin:0;
    list-style-type:none;
    list-style-position:outside;
    text-align:initial;
    position:absolute;
    z-index:100;
    background:var(--sparkycolor6);
    width:200px;
    border:0px solid #dddddd;
    padding:5px;
}

.mnu_mainmenu > li > a, .mnu_mainmenu > li > span {
    display:block;
    margin:0;
    text-decoration:none;
    color:var(--sparkycolor6);
    font-size:16px;
    padding:0 15px;
    font-weight:700;
    font-style:normal;
    height:50px;
    line-height:50px;
    cursor:pointer;
}

.mnu_mainmenu  > li.active > a, .mnu_mainmenu > li.active > span {
    color:var(--sparkycolor6);
    cursor:pointer;
}

.mnu_mainmenu > li > a:hover, .mnu_mainmenu > li:hover > a, .mnu_mainmenu > li > a:hover, .mnu_mainmenu > li:hover > span {
    color:var(--sparkycolor6);
}

.mnu_mainmenu > li {
    display:inline-block;
    position:relative;
    margin:0;
    padding:0;
    border-right:0px solid var(--sparkycolor6);
    border-bottom:0px solid var(--sparkycolor6);
    border-top:0px solid var(--sparkycolor6);
}

.mnu_mainmenu > li.active {
}

.mnu_mainmenu > li:first-child {
    border-left:0px solid var(--sparkycolor6);
}

.mnu_mainmenu li:hover {
    position:relative;
}

.mnu_mainmenu li ul li:hover {
    background-color:var(--sparkycolor6);
}

.mnu_mainmenu li ul li {
    height:35px;
    border-bottom:0px solid #dddddd;
    padding:0 10px;
    margin: 0;
    
}

.mnu_mainmenu li ul a, .mnu_mainmenu li ul span {
    display: block;
    line-height:35px;
    font-size:14px;
    color:#000000;
    font-weight:400;
    font-family:'Montserrat', sans-serif;
    font-style:normal;
    padding-top:0;
    cursor:pointer;
}

.mnu_mainmenu li ul li:hover > a, .mnu_mainmenu li ul li:hover > span {
    color:#3c3c3b;
}

.mnu_mainmenu li ul ul {
    left: calc(200px - 5px);
    margin-top:-5px;
}

.mnu_mainmenu ul ul {
    top:0px;
}

.mnu_mainmenu .sub {
    font-size:10px;
    line-height:normal;
    display:block;
}

.mnu_mainmenu > li > ul {
    display: none;
}

/* RESPONSIVE TOP MENU */

.js .nav-collapse {
    clip: rect(0 0 0 0);
    max-height: 0;
    position: absolute;
    display: block;
    zoom: 1;
}

.nav-collapse.opened {
    max-height: 9999px;
    position:absolute;
}

.nav-collapse.opened > ul {
    position: fixed;
    top: 0;
    left: 5%;
    width: 90%;
    height: auto;
    background:#444;
}

.nav-collapse.opened > ul ul {
    width: 100%;
    position: relative;
    left:0;
    padding:0;
    margin:0;
    background:#444;
    border:0;
}

.nav-collapse.opened > ul ul li {
    height:auto;
}

.nav-collapse.opened li {
    width: 100%;
    display: block;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
    text-align:initial;
}

.nav-collapse.opened li.active, .nav-collapse.opened li:hover {
    background-color:#333;
}

.nav-collapse.opened li.active a {
    color:#fff !important;
}

.nav-collapse.opened li a,
.nav-collapse.opened li span {
    padding:0 15px;
    margin:0;
    line-height:50px;
    height:50px;
    color:#fff !important;
}

.nav-collapse.opened li li a,
.nav-collapse.opened li li span {
    padding:0 30px;
    line-height:30px;
    height:30px;
}

.nav-toggle {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    background: url('../images/tinynav_white.png');
    background-size: 42px 84px;
    width: 42px;
    height: 42px;
    text-indent:-9999px;
    display:inline-block;
    float:right;
}

.nav-toggle.active {
    position: fixed;
    z-index: 999;
    right: 5%;
    top: 0;
    margin-top:5px;
    margin-right:15px;
    background-position: bottom;
}

#blocker {
    position:fixed;
    width:100%;
    height:100%;
    left:0;
    top:0;
    right:0;
    bottom:0;
    z-index:9999;
}

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

    .js .nav-collapse {
        position: relative;
    }

    .js .nav-collapse.closed {
        max-height: none;
    }

    .nav-toggle {
        display: none;
    }

}

@media screen and (max-width: 1199px) {

    .nav-collapse.closed {
        overflow:hidden;
    }

    .firstClick + ul {
        display: none !important;
    }

}
    
/* SCROLL TO TOP */

#back-top {
    position: fixed;
    bottom: 25px;
    right: 25px;
}

#back-top span {
    width: 60px;
    height: 60px;
    display: block;
    margin-bottom: 7px;
    background: url('../images/top.png') no-repeat center center;
    background-size: contain;
    cursor: pointer;
    transition: 1s;
}

.element-invisible {
    display:none !important;
}

/* forms */

.input-group {
    margin-bottom:15px;
}

.has-danger input {
    border-color:red;
}

.form-control-feedback {
    color:red;
    padding: 0 15px;
}

.control-group {
    margin-bottom:15px;
}

.input-prepend .add-on,
.input-prepend .btn,
a.jmodedit {
    box-sizing: content-box;
}

.nav-tabs.nav-stacked {
    margin:0;
}

a.modal.btn, a.btn.hasTooltip, a.btn.modal-button {
    font-size:13px;
}

.input-password-toggle .icon-eye::before {
    content: '\f06e';
}

.input-password-toggle .icon-eye-slash::before {
    content: '\f070';
}

.btn .icon-edit::before {
    content: '\f044';
}

/* front-end edit */

a.jmodedit.btn {
    position: relative;
    z-index: 9999;
    padding: 15px;
    margin: 0;
    line-height: 1;
    color: #fff;
    background: #333;
    border: 1px solid #ccc;
    border-radius: 3px;
    text-decoration: none;
}

a.jmodedit.btn > span.icon-edit {
    color: #fff
}

a.jmodedit.btn:hover {
    padding: 15px;
    margin: 0;
    line-height: 1;
    color: #fff;
    background: #000;
    border: 1px solid #ccc;
    border-radius: 3px;
    text-decoration: none;
}

.moduletable [role='tooltip'] {
    color: #333;
    background: #fff;
    font-weight: 400;
    line-height: 1.5;
}

form#modules-form {
    background: #fff;
    color: #333;
    padding: 15px;
}

form#modules-form legend {
    color: #fff;
    background: #333;
    border: 0;
    padding: 15px;
    margin-bottom: 15px;
    font-size: 18px;
}

[aria-describedby^='editarticle'] {
    padding: 15px;
    margin: 0;
    line-height: 1;
    color: #fff;
    background: #333;
    border: 1px solid #ccc;
    border-radius: 3px;
    text-decoration: none;
    position: absolute;
    z-index: 9999;
    left: 15px;
}

[aria-describedby^='editarticle']:hover {
    color: #fff;
    background: #333;
}

[aria-describedby^='editarticle'] [role='tooltip'] {
    color: #333;
    background: #fff;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 15px;
    margin-left: -15px;
}

.edit.item-page button span {
    margin:0 5px;
}

#jform_publish_up_img, #jform_publish_down_img {
    padding:7px 12px 6px;
}

#jformposition_chzn ul.chzn-results li:nth-child(1),
#jformposition_chzn ul.chzn-results li:nth-child(2),
#jformposition_chzn ul.chzn-results li:nth-child(3) {
    display:none;
} 

/* article info */

dl.article-info {
    display:inline-block;
    width:auto;
    margin:0 0 10px;
    padding:4px 3px 3px;
    font-size:13px;
}

dl.article-info dt.article-info-term {
    display:none;
}

dl.article-info dd {
    display:inline-block;
    padding:0 5px;
    margin:0;
    border-right:1px solid #ccc;
}

dl.article-info dd:first-of-type {
    padding:0 5px 0 0;
}

dl.article-info dd:last-child {
    border:0;
}

/* print/email drop-down */

.items-leading .icons,
.items-row .icons {
    float:right;
    width:15%;
}

.dropdown-menu li a span {
    padding:0 10px;
    background-image:none !important;
}

.dropdown-menu li a span:before {
    margin-left:-10px;
}

/* pagination */

.icon-angle-left:before {
    content: '\f104';
}

.icon-angle-double-left:before {
    content: '\f100';
}

.icon-angle-right:before {
    content: '\f105';
}

.icon-angle-double-right:before {
    content: '\f101';
}

/* pager */

.pager li > a, .pager li > span {
    background: transparent;
    border: 1px solid #121212;
    border-radius: 0;
    color: #121212;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 25px;
    text-transform: uppercase;
}

/* tags */

ul.tags.list-inline, .mod-tagspopular ul {
    margin:0;
    padding:15px 0;
    list-style:none;
}

ul.tags.list-inline li, .mod-tagspopular ul li {
    display:inline-block;
    border:1px solid #ccc;
    padding:0;
    border-radius:4px;
    line-height:13px;
}

ul.tags.list-inline li:hover, .mod-tagspopular ul li:hover {
    background:#f5f5f5;
}

ul.tags.list-inline li a.btn, .mod-tagspopular ul li a {
    display:inline-block;
    background:none;
    border:none;
    text-shadow:none;
    color:#999;
    padding:5px;
    margin:0;
    font-size:13px;
    line-height:13px;
}

ul.tags.list-inline li a.btn:hover, .mod-tagspopular ul li a:hover {
    color:#666 !important;
}

/* rating */

.content_rating {
    display: inline-block;
    margin-inline-end: 15px;
}

.content_vote {
    display: inline-block;
    margin-bottom: 15px;
}

.content_rating ul {
    margin: 0 0 15px;
}

.content_vote select {
    display: inline-block;
    height: 30px;
}

.content_vote input.btn {
    height: 30px;
    line-height: 30px;
    padding-top: 0;
    padding-bottom: 0;
}

/* blog */

.items-more ol.nav {
    margin:0;
}

.items-more ol.nav li a {
    border:0;
    padding:5px 0;
}

.items-more ol.nav li a:hover,
.items-more ol.nav li a:focus {
    background:none;
}

/* category */

ul.category {
    margin:0;
    padding:0;
    list-style:none;
}

ul.category li {
    padding:10px 0;
}

ul.category li .list-title {
    font-size:18px;
}

/* contact form */


/* search form */

ol.com-finder__results-list,
ol.com-finder__results-list ul.result__taxonomy {
    margin: 0;
}

.com-finder__explained {
    padding-bottom: 30px;
}

/* user */

.registration legend,
.profile-edit legend {
    border:0;
    font-size:18px;
}

ul.mod-login__options {
    margin-left:0;
    margin-right:0;
}

/* breadcrumbs */

ol.mod-breadcrumbs {
    margin: 0;
}

/* faq */

.accordion-header {
    padding: 0;
}


/* Custom user code */

html {
  	overflow-x: hidden;
}

/* typography */

b, strong {
	font-weight: 700;
}

.colored {
	color: var(--sparkycolor1);
	font-weight: 700;
}

.thin {
	max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

/* form */

a.btn, a.sparky_button,  p.readmore a.btn, button.btn {
	background: var(--sparkycolor1);
	border: 0;
	border-radius: 20px;
	color: var(--sparkycolor2);
	font-size: 16px;
	font-weight: 700;
	padding: 5px 25px;
	text-transform: uppercase;
}

a.btn:hover, a.sparky_button:hover, p.readmore a.btn:hover, button.btn:hover {
	background: #fff;
	border: 0;
	color: var(--sparkycolor2);
}

.card, legend {
	background-color: var(--sparkycolor3);
}

/* logorow */

.sparky_home .logorow {
	position: absolute;
	width: 100%;
	z-index: 2;
	background: transparent;
}

.sparky_logo_image img {
	max-width: 90px;
}

.logorow ul.menu {
	text-transform: uppercase;
}

.logorow ul.menu ul {
	text-transform: none;
}

.mp_top1.sparky_cell {
	font-weight: 700;
	margin: -10px 0 0;
	line-height: 80px;
}

.mp_top1 p::after {
	content: "\f095";
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	display: inline-block;
    width: 40px;
    height: 40px;
    margin-left: 15px;
    background: #fff;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    color: var(--sparkycolor2);
}

.mp_top1 p {
	margin: 0;
}

.logorow > .sparky_container > .sparky_cell:nth-of-type(2) {
	padding-top: 20px;
}

/* carouselrow */

.carouselrow {
	font-weight: 700;
}

.carouselrow .sparky_cell {
	padding: 0;
}

.carouselrow p {
	position: relative;
	max-width: 75%;
	line-height: 1.2;
}

.carouselrow span {
	color: var(--sparkycolor1);
}

.flickity-page-dots {
	text-align: right !important;
    max-width: 1140px;
    margin: 0 auto !important;
    left: calc((100% - 1140px) / 2);
    bottom: 150px !important;
}

.flickity-page-dots .dot {
    width: 15px !important;
    height: 15px !important;
    background: transparent !important;
    border: 1px solid #fff;
    opacity: 1 !important;
}

.flickity-page-dots .dot.is-selected {
	background: #fff !important;
}

.carouselrow .is-selected img {
	animation-name: carousel_image_fade;
    animation-duration: 5s;
    animation-fill-mode: forwards;
}

@keyframes carousel_image_fade {
    0%   {filter: brightness(1);}
    100% {filter: brightness(0.3);}
}

.carouselrow .is-selected .contents h2, .carouselrow .is-selected .contents p {
	animation-name: carousel_text_fade;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes carousel_text_fade {
	0%  {opacity: 0; top: -30px;}
    100% {opacity: 1; top: 0; }
}

/* servicesrow */

.servicesrow > .sparky_page_container {
	margin-top: -115px;
}

.servicesrow .sparky_cell {
	z-index: 1;
}

.servicesrow .sparky_col0 {
	margin-left: -80px;
	padding-left: 95px;
    width: calc(50% + 100px);
}

.servicesrow .sparky_col1 {
 	background: var(--sparkycolor3);
 	margin-left: 20px;
 	margin-right: 10px;
}

.servicesrow .sparky_col2 {
 	background: var(--sparkycolor4);
 	margin-left: 10px;
 	margin-right: 10px;
}

.servicesrow .sparky_col3 {
 	background: var(--sparkycolor5);
 	margin-left: 10px;
}

.servicesrow span {
	font-weight: 700 !important;
	color: var(--sparkycolor1);
}

.servicesrow i {
	width: 40px;
    height: 40px;
    line-height: 40px;
    background: var(--sparkycolor1);
    border-radius: 50%;
    text-align: center;
    margin-top: 0 !important;
}

.servicesrow i:hover {
	background: #fff;
}

.servicesrow a.sparky_icon_link {
	margin-top: 0 !important;
}

/* eventsrow */

.eventsrow {
	background-size: 100% 166px;
}

.eventsrow h4 {
	padding-top: 0;
}

.eventsrow span {
	font-weight: 700 !important;
	color: var(--sparkycolor1);
}

.eventsrow figure img {
	margin-bottom: 0;
}

/* beersrow */

.beersrow span {
	font-weight: 700 !important;
	color: var(--sparkycolor1);
}

/* galleryrow */

.galleryrow .sparky_cell {
	z-index: 1;
}

/* testimonials carousel */

.hot_swipe_carousel_slides_testimonials img {
    width: 100px !important;
    border-radius: 50%;
    position: relative;
    z-index: 1;
}

.hot_swipe_carousel_slides_testimonials .contents {
    position: relative !important;
    top: -60px !important;
    padding-top: 100px !important;
    min-height: 260px;
}

.hot_swipe_carousel_slides_testimonials .contents p {
	max-width: 600px;
	margin: 0 auto;
}

.hot_swipe_carousel_slides_testimonials .gallery-cell, .hot_swipe_carousel_slides_testimonials h4 {
	text-align: center;
}

.hot_swipe_carousel_slides_testimonials .flickity-prev-next-button {
	background: var(--sparkycolor3) !important;
}

.hot_swipe_carousel_slides_testimonials .flickity-prev-next-button:hover {
	background: var(--sparkycolor4) !important;
}

.hot_swipe_carousel_slides_testimonials .flickity-prev-next-button svg {
    left: 30%;
    top: 30%;
    width: 40%;
    height: 40%;
}

.hot_swipe_carousel_slides_testimonials .flickity-prev-next-button .arrow {
    fill: #fff;
}

.hot_swipe_carousel_slides_testimonials .flickity-page-dots {
	text-align: center !important;
	bottom: 30px !important;
}

/* search */

.sparky_inner.search .sparky_page_container {
	display: flex;
}

.sparky_inner.search .mp_top1 .sparky_cell {
    padding: 15px 0;
}

.sparky_inner.search .sparky_social_icons a {
    color: inherit;
    padding: 0 10px;
}

.sparky_inner.search .sparky_social_icons a:hover {
    color: var(--sparkycolor1);
}

/* blog */

.article-info.text-muted {
    color: var(--sparkycolor1) !important;
}

dl.article-info {
	font-size: 14px;
}

dl.article-info dd {
    border-right: 1px solid var(--sparkycolor1);
}

.blog-items .blog-item {
	margin-bottom: 50px;
}

.blog-items .blog-item .pull-right.item-image,
.blog-items .blog-item .right.item-image {
	max-width: 50%;
	padding-left: 15px;
}

/* gallery */

#responsivelightbox {
	margin: 0 -15px;
}

/* footerrow1 */

.footerrow1 {
	margin-top: 100px;
}

.mp_bottom1.sparky_cell {
	padding-right: 60px;
}

.mp_bottom2.sparky_cell {
	padding-top: 60px;
}

.mp_bottom3 .moduletable {
	margin-top: -100px;
}

/* footerrow2 */

.footerrow2 {
	font-weight: 700;
}

p.phone::before {
	content: "\f095";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 15px;
    background: var(--sparkycolor1);
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    color: var(--sparkycolor2);
}

p.email::before {
	content: "\f0e0";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 15px;
    background: var(--sparkycolor1);
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    color: var(--sparkycolor2);
}

p.address::after {
	content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-left: 15px;
    background: #fff;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    color: var(--sparkycolor2);
}

/* contact */

.com-contact.contact dt {
    float: inline-start;
    clear: both;
    padding-top: 15px;
}

.com-contact.contact dd {
    padding-inline-start: 30px;
}

.com-contact.contact dt + dd {
    padding-top: 15px;
}

@media (min-width: 992px) {

    .com-contact.contact {
        display: flex;
        flex-wrap: wrap;
    }

    .com-contact.contact .page-header,
    .com-contact.contact h1 {
        width: 100%;
    }

    .com-contact__container {
        width: 34%;
    }

    .com-contact__form.contact-form {
        width: 66%;
        margin-top: 15px;
    }

    .com-contact__form.contact-form legend {
        background: transparent;
        padding: 15px 0;
        font-size: 24px;
        line-height: 1.4;
        font-weight: 700;
        text-transform: uppercase;
    }

    .com-contact.contact > h2 {
        display: none;
    }

}

/* responsive */

.nav-toggle {
	margin-top: 20px;
	float: none;
}

@media (max-width: 1200px) {

	.mp_mainmenu nav:not(.opened) ul.menu {
		display: none;
	}

	.logorow > .sparky_container > .sparky_cell:nth-of-type(1),
	.logorow > .sparky_container > .sparky_cell:nth-of-type(3) {
		width: 40% !important;
	}

	.logorow > .sparky_container > .sparky_cell:nth-of-type(2) {
		text-align: center;
		width: 20% !important;
	}

	.hot_swipe_carousel_slides .contents {
		left: 15px !important;
		top: 30% !important;
		font-size: 48px !important;
	}

	.flickity-page-dots {
		text-align: center !important;
		bottom: 130px !important;
		left: auto !important;
	}

	.eventsrow .sparky_page_container > .sparky_cell {
		justify-content: flex-end;
	}

	.footerrow2 .sparky_page_container {
		display: block;
	}

	.footerrow2 .sparky_cell {
		width: 100% !important;
	}

	.footerrow2 .mp_bottom5 {
		padding-top: 0;
	}

	.footerrow2 p {
		text-align: inherit !important;
	}

	.footerrow2 p.address::after {
		float: left;
		margin-left: 0;
		margin-right: 15px;
		margin-top: -5px;
	}

}

@media (max-width: 960px) {

	.hot_swipe_carousel_slides .contents {
		width: 90% !important;
		left: 0 !important;
		font-size: 40px !important;
		padding: 15px !important;
		background: transparent !important;
	}

	.servicesrow > .sparky_page_container {
		flex-wrap: wrap;
		margin-top: 0;
	}

	.servicesrow > .sparky_page_container > .sparky_cell {
		width: 100%;
		margin: 0 0 15px;
	}

	.servicesrow > .sparky_page_container > .sparky_col0 {
		min-height: 60vh;
	}

	.flickity-page-dots {
		bottom: 30px !important;
		text-align: right !important;
	}

	.eventsrow {
		margin-top: 30px !important;
	}

}

@media (max-width: 600px) {

	.hot_swipe_carousel_slides .contents {
		font-size: 30px !important;
	}

	.blog-items .blog-item .pull-right.item-image,
	.blog-items .blog-item .right.item-image {
		max-width: 100%;
		float: none;
		padding: 0;
    	margin: 0;
	}

}

@media (max-width: 500px) {

	.sparky_home .logorow {
		position: relative;
	}

	.mp_top1 p {
		line-height: 2;
	}

}

@media (max-width: 420px) {

	.servicesrow > .sparky_page_container > .sparky_col0 {
		min-height: 50vh;
		padding-left: 15px;
	}

	.galleryrow .sparky_cell {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

}
/* =====================================================================
   ESCALIERS ÉLÉGANCE – styles du site (ajoutés lors de la refonte 2026)
   ===================================================================== */

/* couleurs du site : fond noir, texte blanc (comme l'ancien site) */
body { background: #000; }
.sparky_row1.sparky_full, .sparky_row5.sparky_full, .sparky_row6.sparky_full, .sparky_row7.sparky_full, .sparky_row8.sparky_full { background-color: #000; }
.sparky_row4.sparky_full { background-color: #3c3c3b; }
a { color: #fff; }
a:hover, a:focus { color: #d0d0d0; }
h1, h2, h3, h4, h5, h6 { color: #fff; }

/* menu principal : hauteur 50 px, sous-menu blanc */
.mnu_mainmenu > li > a, .mnu_mainmenu > li > span { height: 50px; line-height: 50px; }
.mnu_mainmenu ul { background: #fff; }
.mnu_mainmenu li ul li:hover, .mnu_mainmenu li:hover { background: #fff; }
.mnu_mainmenu li ul a, .mnu_mainmenu li ul span { color: #000; font-size: 14px; }
.mnu_mainmenu li ul li:hover > a, .mnu_mainmenu li ul li:hover > span { color: #3c3c3b; }
.mnu_mainmenu > li > a:hover, .mnu_mainmenu > li:hover > a, .mnu_mainmenu > li:hover > span { color: #d0d0d0; }
.mnu_mainmenu img { height: 40px; width: auto; vertical-align: middle; }
.sparky_logo_image img { max-width: 160px; }
.logorow > .sparky_container > .sparky_cell:nth-of-type(2) { padding-top: 35px; }

/* boutons */
a.btn, a.sparky_button, p.readmore a.btn, button.btn { background: #acacac; color: #fff; }
a.btn:hover, a.sparky_button:hover, button.btn:hover, a.btn:focus, a.sparky_button:focus { background: #fff; color: #000; }
a.btn.btn-outline, a.sparky_button.btn-outline, .btn-outline { background: transparent; border: 2px solid #acacac; color: #fff; padding: 3px 23px; }
a.btn.btn-outline:hover, .btn-outline:hover { background: #fff; border-color: #fff; color: #000; }
a.btn.btn-fb { background: #1877f2; color: #fff; }
a.btn.btn-fb:hover { background: #fff; color: #1877f2; }
.btn i { margin-right: 6px; }

/* carrousel d'accueil : pas d'assombrissement de l'image */
.carouselrow .is-selected img { animation-name: none; filter: none; }
.carouselrow .contents p { text-transform: uppercase; }

/* accueil */
.introrow { margin-top: 20px; }
.introrow .sparky_cell { text-align: center; }
h1.home-title { font-size: 30px; line-height: 1.2; margin: 0 0 10px; }
p.home-intro { max-width: 820px; margin: 0 auto 10px; }
.servicesrow > .sparky_page_container { margin-top: 0; }
.servicesrow .sparky_col1 { background: #3c3c3b; }
.servicesrow .sparky_col2 { background: #706f6f; }
.servicesrow h2 { font-size: 20px; line-height: 1.2; text-transform: uppercase; }
.servicesrow i { background: #000; }
.servicesrow i:hover { background: #575756; }
.kicker { font-weight: 700; font-size: 16px; line-height: 1.4; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 5px; color: #fff; }
.eventsrow h2, .beersrow h2 { text-transform: uppercase; }
.kitsrow h2.kits-title { font-size: 20px; line-height: 1.2; text-transform: uppercase; margin-bottom: 5px; }
p.smalltxt { font-size: 18px; text-transform: uppercase; }
p.catg { max-width: 320px; }
.photosrow h2.photos-title { text-align: center; font-size: 16px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 20px; }

/* carrousel de photos (accueil) */
.hot_swipe_carousel_slides_photos .gallery-cell { width: 29%; margin-right: 2%; }
.hot_swipe_carousel_slides_photos img { width: 100%; height: 420px; object-fit: cover; }
.hot_swipe_carousel_slides_photos .flickity-prev-next-button { background: #3c3c3b !important; }
.hot_swipe_carousel_slides_photos .flickity-prev-next-button:hover { background: #706f6f !important; }
.hot_swipe_carousel_slides_photos .flickity-prev-next-button .arrow { fill: #fff; }

/* pages intérieures : hiérarchie Hn complète, rendu proche de l'ancien site */
.item-page h2.page-intro, .com-contact h2.page-intro { font-size: 20px; line-height: 1.3; }
.item-page h2.page-cta { font-size: 20px; line-height: 1.3; margin-top: 30px; }
.item-page h3 { font-size: 16px; line-height: 1.4; text-transform: uppercase; letter-spacing: .03em; margin-top: 25px; }
.item-page h4 { font-size: 16px; line-height: 1.4; }
.item-page figure img { margin: 10px 0; }
.video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; margin: 15px 0; }
.video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
.has-text-align-center { text-align: center; }

/* galerie des réalisations (Hot Responsive Lightbox) */
#responsivelightbox { margin: 20px -10px 0; }
#responsivelightbox img { object-position: center; }

/* distributeurs */
.distributeurs { text-align: center; padding: 30px 0 0; }
.distributeurs h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .05em; }
.distributeurs-list { list-style: none; margin: 0 0 20px; padding: 0; }
.distributeurs-list li { margin: 0; }
.distributeurs figure img { max-width: 100%; height: auto; }

/* bande « parlez-nous de votre projet » (advert2 / advert3) */
.mp_advert2 .suivez-nous { text-align: center; }
.mp_advert2 .suivez-nous figure img { max-width: 160px; margin: 0 0 10px; }
.mp_advert2 h2, .mp_advert3 h2 { font-size: 20px; line-height: 1.3; text-transform: uppercase; }
.mp_advert2 p, .mp_advert3 p { margin-bottom: 10px; }
.projet-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
.projet-note { font-size: 14px; opacity: .85; }

/* pied de page */
.footerrow1 { margin-top: 60px; }
.mp_bottom1.sparky_cell img { max-width: 180px; }
.mp_bottom3 .moduletable { margin-top: 0; }
.ee-map { min-height: 320px; background: #1c1b19; display: flex; align-items: center; justify-content: center; }
.ee-map iframe { width: 100%; height: 320px; border: 0; display: block; }
.footerrow2 a { color: #fff; }
.footerrow2 a:hover { color: #d0d0d0; }
p.phone::before, p.email::before { background: #d0d0d0; color: #333; }
p.address::after { background: #d0d0d0; color: #333; }
.copyrightrow { text-align: center; }
.copyrightrow a { font-weight: 400; }
.copyrightrow .ee-cookies-open { cursor: pointer; }

/* bouton téléphone flottant (remplace Click To Call) */
.ee-call { position: fixed; left: 20px; bottom: 20px; z-index: 9000; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: #3c3c3b; color: #fff; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.5); text-decoration: none; font-size: 20px; }
.ee-call:hover, .ee-call:focus { background: #fff; color: #000; }
.ee-call span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* bandeau témoins (cookies) */
.ee-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9500; background: #1c1b19; color: #fff; border-top: 2px solid #acacac; padding: 15px 20px; font-size: 14px; line-height: 1.5; box-shadow: 0 -2px 12px rgba(0,0,0,.6); }
.ee-cookies__inner { max-width: 1140px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.ee-cookies__text { flex: 1 1 420px; margin: 0; }
.ee-cookies__text a { text-decoration: underline; }
.ee-cookies__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ee-cookies .btn { cursor: pointer; font-size: 14px; padding: 5px 18px; }
.ee-cookies[hidden] { display: none; }

/* page de contact (com_contact) */
.com-contact .page-header h1 { text-transform: uppercase; }
.com-contact dl.contact-address, .com-contact dl { font-size: 16px; }
.com-contact dt { font-weight: 700; }
.com-contact__form fieldset { border: 0; padding: 0; }
.com-contact__form legend { font-size: 20px; font-weight: 700; text-transform: uppercase; background: transparent; padding: 10px 0; }
.com-contact__form .form-control, .com-contact__form input[type="text"], .com-contact__form input[type="email"], .com-contact__form textarea { width: 100%; background: #fff; color: #000; border: 1px solid #acacac; border-radius: 4px; padding: 8px 10px; margin-bottom: 10px; font-family: inherit; }
.com-contact__form .form-check { margin-bottom: 15px; }
.com-contact__form .btn, .com-contact__form button { background: #acacac; color: #fff; border: 0; border-radius: 20px; padding: 6px 25px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.com-contact__form .btn:hover, .com-contact__form button:hover { background: #fff; color: #000; }
.com-contact .control-label, .com-contact label { font-weight: 700; }
.com-contact .star { color: #f1c983; }

/* accessibilité : focus visible */
a:focus-visible, button:focus-visible { outline: 2px solid #f1c983; outline-offset: 2px; }

/* responsive */
@media (max-width: 1200px) {
	.logorow > .sparky_container > .sparky_cell:nth-of-type(2) { padding-top: 10px; }
}
@media (max-width: 960px) {
	.hot_swipe_carousel_slides_photos .gallery-cell { width: 48%; }
	.hot_swipe_carousel_slides_photos img { height: 320px; }
	.kitsrow .has-text-align-right, .kitsrow .align-right { text-align: center !important; }
	.kitsrow > .sparky_page_container { flex-wrap: wrap; }
	.kitsrow > .sparky_page_container > .sparky_cell { width: 50% !important; }
	.kitsrow > .sparky_page_container > .sparky_col0 { width: 100% !important; }
	.ee-cookies__inner { display: block; }
	.ee-cookies__actions { margin-top: 10px; }
}
@media (max-width: 600px) {
	.hot_swipe_carousel_slides_photos .gallery-cell { width: 85%; }
	.hot_swipe_carousel_slides_photos img { height: 260px; }
	h1.home-title { font-size: 24px; }
	.projet-actions a { width: 100%; text-align: center; }
	.kitsrow > .sparky_page_container > .sparky_cell { width: 100% !important; }
	.ee-map, .ee-map iframe { min-height: 260px; height: 260px; }
	.mp_advert2 .suivez-nous p a.btn { width: 100%; text-align: center; }
	p.address::after { display: none; }
}

/* titres de page (h1) : même taille que l'ancien site */
.item-page .page-header h1, .com-contact .page-header h1 { font-size: 30px; line-height: 1.2; text-transform: uppercase; margin: 10px 0 25px; }

/* fil Facebook (iframe Page Plugin), carte et formulaire Elfsight affichés directement */
.fb-page-wrap { display: flex; justify-content: center; margin-bottom: 15px; }
.fb-page-wrap iframe { max-width: 100%; }
.mp_advert2 .suivez-nous { text-align: center; }
.mp_advert2 .suivez-nous p a.btn { margin: 0 4px 8px; }
.ee-map { min-height: 0; display: block; background: transparent; }
.ee-map-link { font-size: 14px; margin: 8px 0 0; }
.mp_advert3 .elfsight-app-7c44e4ac-1593-49be-bbd2-def6b048c254 { min-height: 300px; }

/* ===== pied de page 3 colonnes (logo + réseaux | coordonnées | carte) ===== */
.footerrow1 { margin-top: 60px; padding-top: 40px; border-top: 1px solid #2a2a2a; }
.footerrow1 .sparky_page_container { align-items: stretch; }
.mp_bottom1.sparky_cell { padding-right: 15px; }
.mp_bottom2.sparky_cell { padding-top: 15px; }
.footer-brand { text-align: left; }
.footer-logo { margin: 0 0 10px; }
.footer-logo img { max-width: 160px; height: auto; }
.footer-tagline { font-size: 14px; line-height: 1.6; opacity: .85; margin: 0 0 15px; }
.footer-social { font-size: 22px; }
.footer-social a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: #3c3c3b; color: #fff; margin-right: 8px; text-decoration: none; }
.footer-social a:hover, .footer-social a:focus { background: #fff; color: #000; }
.footer-contact h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 15px; }
.footer-contact-list { list-style: none; margin: 0 0 20px; padding: 0; }
.footer-contact-list li { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px; font-weight: 700; line-height: 1.5; }
.footer-contact-list li i { flex: 0 0 36px; width: 36px; height: 36px; line-height: 36px; border-radius: 50%; background: #d0d0d0; color: #333; text-align: center; font-size: 15px; }
.footer-contact-list a { color: #fff; }
.footer-contact-list a:hover { color: #d0d0d0; }
.mp_bottom3 .moduletable { margin-top: 15px; }
.ee-map iframe { height: 280px; border-radius: 4px; }
.ee-map-link { text-align: right; font-size: 14px; margin: 8px 0 0; }
.ee-map-link i { margin-right: 4px; }
.copyrightrow { border-top: 1px solid #2a2a2a; }
@media (max-width: 960px) {
	.footerrow1 .sparky_page_container { flex-wrap: wrap; }
	.footerrow1 .sparky_page_container > .sparky_cell { width: 100% !important; }
	.footer-brand { text-align: center; }
	.footer-social a { margin: 0 4px; }
	.footer-contact-list li { justify-content: flex-start; }
	.ee-map-link { text-align: center; }
}

/* ===== pages internes : lecture confortable, sections aérées, encadré d'appel à l'action ===== */
.sparky_inner .item-page .page-header { margin: 10px 0 30px; padding-bottom: 15px; border-bottom: 1px solid #2a2a2a; position: relative; }
.sparky_inner .item-page .page-header::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 80px; height: 3px; background: #acacac; }
.sparky_inner .item-page .page-header h1, .com-contact .page-header h1 { margin: 0; }
.sparky_inner .item-page .sparky_page_row > .sparky_page_container > .sparkle12 { max-width: 900px; }
.sparky_inner .item-page > p, .sparky_inner .item-page > h2, .sparky_inner .item-page > ul { max-width: 900px; }
.item-page h2.page-intro { font-size: 22px; line-height: 1.35; font-weight: 700; margin: 0 0 15px; }
.item-page h3 { position: relative; padding-left: 16px; margin: 35px 0 12px; }
.item-page h3::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 4px; background: #acacac; border-radius: 2px; }
.item-page h4 { margin: 20px 0 6px; color: #d0d0d0; }
.item-page p { margin-bottom: 14px; }
.item-page h2.page-cta { background: #3c3c3b; border-radius: 6px; padding: 22px 26px 6px; margin: 40px 0 0; font-size: 20px; }
.item-page h2.page-cta + p { background: #3c3c3b; border-radius: 0 0 6px 6px; padding: 0 26px 22px; margin: 0 0 20px; }
.item-page h2.page-cta a, .item-page h2.page-cta + p a { text-decoration: underline; }
.item-page figure { margin: 25px 0; text-align: center; }
.item-page figure img { background: #fff; padding: 15px; border-radius: 6px; }
.item-page .video-wrapper { border-radius: 6px; overflow: hidden; }
.com-contact .page-intro { font-size: 22px; }

/* pied de page : espace entre icônes et texte */
.footer-contact-list li { gap: 14px; }
.footer-contact-list li i { margin-right: 2px; }
.footer-social a { margin-right: 10px; }

/* responsive : pages internes */
@media (max-width: 960px) {
	.item-page .sparky_page_container { flex-wrap: wrap; }
	.item-page .sparky_page_container > .sparky_cell { width: 100% !important; }
	.item-page h2.page-intro { font-size: 19px; }
	.sparky_inner .item-page .page-header h1, .com-contact .page-header h1 { font-size: 24px; }
	.item-page figure img { padding: 10px; }
}

/* encadré CTA : un seul bloc sans ligne de séparation */
.item-page h2.page-cta { border-radius: 6px 6px 0 0; }
.item-page h2.page-cta + p { margin-top: -1px; }
/* bande Facebook : titre + boutons au-dessus du fil */
.mp_advert2 .suivez-nous h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 12px; }
.mp_advert2 .suivez-nous > p { margin-bottom: 15px; }

/* ===== pages internes : texte + photo (colonne droite collante) ===== */
.item-page .page-row > .sparky_page_container { align-items: flex-start; }
.item-page .page-text { max-width: none; padding-right: 40px; }
.item-page .page-media { position: sticky; top: 20px; }
.item-page figure.page-photo { margin: 0; }
.item-page figure.page-photo img { background: none; padding: 0; border-radius: 8px; width: 100%; height: auto; box-shadow: 0 6px 24px rgba(0,0,0,.6); }
@media (max-width: 960px) {
	.item-page .page-text { padding-right: 0; }
	.item-page .page-media { position: static; order: -1; margin-bottom: 20px; }
	.item-page figure.page-photo img { max-height: 280px; object-fit: cover; object-position: center 40%; }
}

/* ===== menu : « Contactez-nous » en bouton ===== */
.mnu_mainmenu > li.item-112 > a { background: #acacac; color: #000 !important; border-radius: 20px; height: 36px; line-height: 36px; margin: 7px 0 0 10px; padding: 0 18px; }
.mnu_mainmenu > li.item-112 > a:hover, .mnu_mainmenu > li.item-112.active > a { background: #fff; color: #000 !important; }
@media (max-width: 1200px) {
	.mnu_mainmenu > li.item-112 > a { display: inline-block; margin: 8px 0 0; }
}

/* mobile : titres longs sans débordement */
@media (max-width: 600px) {
	.sparky_inner .item-page .page-header h1, .com-contact .page-header h1 { font-size: 21px; letter-spacing: 0; overflow-wrap: anywhere; }
	.item-page h2.page-intro, .com-contact .page-intro { font-size: 18px; }
}

/* liens dans les titres : même taille que le titre */
.item-page h1 a, .item-page h2 a, .item-page h3 a, .item-page h2.page-cta a { font-size: inherit !important; font-weight: inherit; line-height: inherit; }

/* menu : au survol, texte noir sur fond blanc (lisibilité) */
.mnu_mainmenu > li:hover > a, .mnu_mainmenu > li > a:hover, .mnu_mainmenu > li:hover > span, .mnu_mainmenu > li.active:hover > a { color: #000 !important; background: #fff; }
.mnu_mainmenu li ul li:hover > a, .mnu_mainmenu li ul li:hover > span, .mnu_mainmenu li ul a:hover { color: #000 !important; }
.mnu_mainmenu li ul a, .mnu_mainmenu li ul span { color: #000 !important; }

/* accueil : liens explicites des tuiles et bouton sous le carrousel photos */
/* lien d'appel a l'action des tuiles de l'accueil : texte + fleche ronde, aligne en bas de chaque tuile */
.servicesrow a.tile-link { display: inline-flex; align-items: center; align-self: flex-start; gap: 10px; margin-top: auto; padding: 0; border: 0; font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .04em; line-height: 1.2; color: #fff; text-decoration: none; }
.servicesrow a.tile-link i { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; min-width: 30px; margin: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.45); background: rgba(255,255,255,.12); font-size: 13px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.servicesrow a.tile-link:hover, .servicesrow a.tile-link:focus-visible { color: #fff; }
.servicesrow a.tile-link:hover i, .servicesrow a.tile-link:focus-visible i { background: #fff; color: #3c3c3b; border-color: #fff; transform: translateX(3px); }
.servicesrow .sparky_cell > .sparky_spacer { height: 30px !important; }
.photosrow .photos-more { text-align: center; margin: 25px 0 0; }

/* ===== performance ===== */
/* polices : version WOFF latin (28 Ko) si présente, sinon TTF ; affichage immédiat du texte (swap) */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/montserrat-300.woff) format('woff'), url(../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCs16Ew-Y3tcoqK5.ttf) format('truetype'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/montserrat-400.woff) format('woff'), url(../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew-Y3tcoqK5.ttf) format('truetype'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/montserrat-700.woff) format('woff'), url(../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w-Y3tcoqK5.ttf) format('truetype'); }
/* carrousels : réserver la hauteur avant l'initialisation du script (évite le saut de mise en page) */
.carouselrow .hot_swipe_carousel_slides { aspect-ratio: 1600 / 790; overflow: hidden; }
.carouselrow .hot_swipe_carousel_slides:not(.flickity-enabled) .gallery-cell:not(:first-child) { display: none; }
.carouselrow .gallery-cell img { aspect-ratio: 1600 / 790; width: 100%; height: auto; object-fit: cover; }
.hot_swipe_carousel_slides_photos:not(.flickity-enabled) { display: flex; overflow: hidden; height: 420px; }
.hot_swipe_carousel_slides_photos:not(.flickity-enabled) .gallery-cell { flex: 0 0 29%; margin-right: 2%; }
@media (max-width: 960px) { .hot_swipe_carousel_slides_photos:not(.flickity-enabled) { height: 320px; } .hot_swipe_carousel_slides_photos:not(.flickity-enabled) .gallery-cell { flex-basis: 48%; } }
@media (max-width: 600px) { .hot_swipe_carousel_slides_photos:not(.flickity-enabled) { height: 260px; } .hot_swipe_carousel_slides_photos:not(.flickity-enabled) .gallery-cell { flex-basis: 85%; } }
@media (max-width: 768px) { .carouselrow .hot_swipe_carousel_slides { aspect-ratio: auto; } }
/* logo : dimensions réservées */
.sparky_logo_image img { aspect-ratio: 262 / 123; }

/* ===== mobile : logo plus petit, hamburger décollé à droite ===== */
@media (max-width: 1200px) {
	.logorow > .sparky_container > .sparky_cell:nth-of-type(1) { width: 65% !important; }
	.logorow > .sparky_container > .sparky_cell:nth-of-type(2) { width: 35% !important; text-align: right; padding-right: 15px; }
	.sparky_logo_image img { max-width: 140px; }
	.nav-toggle { margin: 18px 0 0; float: none; display: inline-block; overflow: hidden; font-size: 0; color: transparent; }
}
@media (max-width: 480px) {
	.sparky_logo_image img { max-width: 120px; }
}

/* ===== bandeau témoins Web357 aux couleurs du site ===== */
#w357_cpnb_outer.cpnb-outer { background: #1c1b19 !important; color: #fff !important; border-top: 2px solid #acacac !important; box-shadow: 0 -4px 16px rgba(0,0,0,.6) !important; font-family: 'Montserrat', sans-serif !important; font-size: 14px !important; line-height: 1.5 !important; padding: 14px 20px !important; }
#w357_cpnb_outer .cpnb-inner { max-width: 1140px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
#w357_cpnb_outer .cpnb-message { flex: 1 1 420px; color: #fff !important; text-align: left !important; margin: 0 !important; }
#w357_cpnb_outer .cpnb-buttons { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#w357_cpnb_outer .cpnb-button { display: inline-block !important; border-radius: 20px !important; padding: 6px 18px !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; font-family: 'Montserrat', sans-serif !important; cursor: pointer; box-shadow: none !important; border: 2px solid transparent !important; line-height: 1.4 !important; margin: 0 !important; }
#w357_cpnb_outer .cpnb-button-ok { background: #acacac !important; color: #000 !important; }
#w357_cpnb_outer .cpnb-button-ok:hover { background: #fff !important; }
#w357_cpnb_outer .cpnb-button-decline { background: transparent !important; color: #fff !important; border-color: #acacac !important; }
#w357_cpnb_outer .cpnb-button-decline:hover { background: #fff !important; color: #000 !important; }
#w357_cpnb_outer .cpnb-button-more-default { background: transparent !important; color: #d0d0d0 !important; text-decoration: underline !important; text-transform: none !important; font-weight: 400 !important; padding: 6px 4px !important; }
#cpnb_inner-moreinfo.cpnb-modal-inner { background: #1c1b19 !important; color: #fff !important; border-radius: 8px !important; font-family: 'Montserrat', sans-serif !important; }
#cpnb_inner-moreinfo .cpnb-modal-inner-text h1, #cpnb_inner-moreinfo .cpnb-modal-inner-text h3 { color: #fff !important; }
#cpnb_inner-moreinfo .cpnb-modal-inner-text p, #cpnb_inner-moreinfo .cpnb-modal-inner-text li { color: #e0e0e0 !important; }
#cpnb_inner-moreinfo .cpnb-modal-inner-text hr { border-color: #3c3c3b !important; }
#cpnb_inner-moreinfo .cpnb-modal-close { color: #fff !important; }
#cpnb_inner-moreinfo .cpnb-button { border-radius: 20px !important; text-transform: uppercase !important; font-weight: 700 !important; }
#cpnb_inner-moreinfo .cpnb-button-ok { background: #acacac !important; color: #000 !important; }
#cpnb_inner-moreinfo .cpnb-button-decline { background: transparent !important; color: #fff !important; border: 2px solid #acacac !important; }
@media (max-width: 600px) {
	#w357_cpnb_outer.cpnb-outer { padding: 12px 15px !important; font-size: 13px !important; }
	#w357_cpnb_outer .cpnb-buttons { width: 100%; }
	#w357_cpnb_outer .cpnb-button { padding: 6px 14px !important; font-size: 12px !important; }
}

/* ===== menu : tenir dans la largeur du conteneur (1170 px) ===== */
@media (min-width: 1201px) {
	.mnu_mainmenu > li > a, .mnu_mainmenu > li > span { font-size: 14px; padding: 0 7px; }
	.mnu_mainmenu > li.item-112 > a { padding: 0 14px; margin-left: 6px; }
	.mnu_mainmenu > li.item-185 > a { padding: 0 6px; }
	.mnu_mainmenu img { height: 34px; }
}

/* ===== accès au portail Réseau Accès (accueil + pied de page) ===== */
.home-acces { margin: 0 0 24px; }
.acces-client { display: inline-flex; align-items: center; gap: 13px; background: #fff; border: 1px solid #e6e6e6; border-radius: 999px; padding: 6px 22px 6px 6px; text-decoration: none; color: #3c3c3b; text-align: left; box-shadow: 0 2px 10px rgba(0,0,0,.18); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.acces-client:hover, .acces-client:focus-visible { background: #fff; color: #3c3c3b; border-color: #cfcfcf; box-shadow: 0 7px 20px rgba(0,0,0,.26); transform: translateY(-1px); }
.acces-client img { width: 46px; height: 46px; min-width: 46px; border-radius: 50%; background: #fff; padding: 0; margin: 0; }
.acces-client__txt { display: flex; flex-direction: column; line-height: 1.25; }
.acces-client__txt strong { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: #8c8c8b; }
.acces-client__txt span { font-size: 15px; font-weight: 700; color: #3c3c3b; opacity: 1; }
.acces-client i { font-size: 13px; color: #a0a09f; margin-left: 3px; transition: transform .2s ease; }
.acces-client:hover i { transform: translateX(3px); }
.footer-acces { margin: 15px 0 0; font-size: 14px; }
.footer-acces a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; }
.footer-acces a:hover { color: #d0d0d0; }
.footer-acces img { width: 32px; height: 32px; min-width: 32px; border-radius: 50%; background: #fff; padding: 2px; margin: 0; }
@media (max-width: 600px) {
	.acces-client { padding: 6px 18px 6px 6px; gap: 11px; }
	.acces-client img { width: 42px; height: 42px; min-width: 42px; }
	.acces-client__txt span { font-size: 14px; }
}

/* pastille Accès clients dans le menu : pas de fond blanc au survol */
.mnu_mainmenu > li.item-185:hover > a, .mnu_mainmenu > li.item-185 > a:hover { background: transparent !important; }
.mnu_mainmenu > li.item-185 img { transition: transform .2s ease; }
.mnu_mainmenu > li.item-185:hover img { transform: scale(1.08); }
/* pastille identique sur mobile et sur ordinateur */
@media (max-width: 600px) {
	.acces-client { width: auto; padding: 8px 20px 8px 8px; }
}

/* boutons : jamais plus larges que leur colonne (corrige un debordement horizontal sur mobile, page Composantes) */
.sparky_button, a.sparky_button { max-width: 100%; }
