* {
	box-sizing: border-box;
}

body {
	margin:0;
	padding:0;
}

p {
	margin: 0 0 15px;
	line-height: 1.4;
}

.contentrow li {
	line-height: 1.4;
}

h1 {
    padding:30px 0;
    margin:0;
    line-height:normal;
}

h2, h2 a {
    padding:15px 0;
    margin:0;
    line-height:normal;
}

.sparky_container > h2 {
	text-align: center;
}

h3 {
    margin:15px 0;
    padding:0;
}

h4 {
    margin:15px 0;
    padding:0;
}

/* forms */

.inputbox, input.required, textarea.required, .form-control {
	display: inline-block;
	vertical-align: middle;
	padding: 10px;
	margin: 0;
	background-color: #ffffff;
	color:#555555;
	font-family: 'Raleway', sans-serif;
	text-transform: uppercase;
}

textarea {
	font-family: 'Raleway', sans-serif;
	padding: 8px;
}

.button, .btn, a.readmore, p.readmore a.btn, button.btn {
	display: inline-block;
	padding: 12px 24px;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	background: #e62739;
	border:1px solid #e62739;
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
}

.button:hover, .btn:hover, a.readmore:hover, p.readmore a.btn:hover, button.btn:hover, .btn:active, .btn:focus {
	color: #e62739 !important;
	text-decoration: none;
	background: transparent !important;
}

img.img_left {
	float:left;
	margin:0 30px 30px 0;
}

img.img_right {
	float:right;
	margin:0 0 30px 30px;
}

/* abovecontent and belowcontent modules */

div.abovecontent {
	padding: 0 0 30px 0;
}

div.belowcontent {
	padding: 30px 0 0 0;
}

/******* HOT HAIR *******/

/* logorow */

.mp_topmenu {
	padding-top: 48px !important;
}

.mnu_topmenu > li {
	margin: 0 3px;
}

.sparky_logo {
	background:url(../images/logo.png) no-repeat;
	background-position: top center;
	text-align: center;
	min-height: 98px;
	padding-top: 23px;
}

.magnifier {
	display: block;
	width: 13px;
	height: 15px;
	background:url(../images/custom/magnifier.png) no-repeat;
	position: relative;
    top: 40px;
    cursor: pointer;
}

.close_button {
	cursor: pointer;
}

.mp_search .moduletable .form-search {
	position: absolute;
    width: 100%;
    left: 0;
    text-align: center;
    margin-top: 12px;
    display: none;
}

.mp_search .moduletable .mod-finder__search {
 	justify-content: center; 
}

.mp_search input {
	border: 0;
    border-radius: 0;
}

.mp_search button {
	margin: 0;
  	border: 0;
  	background: #e62739;
  	color: #fff;
}

.mnu_topmenu > li > ul {
	padding-top: 15px;
	padding-bottom: 15px;
}

.mnu_topmenu li ul li {
	border-bottom: 0;
}

.mnu_topmenu > li > ul ul {
	margin-left: -2px;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-top: -16px;
}

@media screen and (max-width: 992px) {
    .logorow nav:not(.opened) ul.menu {
		display: none;
	}
  	.logorow nav.opened ul.menu ul ul {
		padding: 0 15px;
	}
}

/* carouselrow */

.carouselrow .sparky_container > .sparky_cell,
.servicesrow .sparky_container > .sparky_cell,
.maprow .sparky_container > .sparky_cell {
  padding: 0;
}

.carouselrow .gallery-cell {
	background: linear-gradient(to bottom,  rgba(225,232,240,0.9) 0%,rgba(110,211,207,0.9) 100%);
}

.carouselrow .gallery-cell > img {
	opacity: 0.2;
	position: relative;
}

.carouselrow .gallery-cell:not(.is-selected) .contents {
	display: none;
}

.carouselrow .contents img {
	float: left;

	max-width: 50%;
	position: relative;
	left: 10%;
	margin-top: 4%;
	opacity: 0;
}

.carouselrow .gallery-cell.is-selected .contents img {
	animation-name: fadeIn;
	animation-duration: 3s;
	animation-fill-mode: forwards;
	animation-delay: .5s;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes fromRight {
    0% { opacity: 0; left: 20px; } 
    100% { opacity: 1; left: 0; }
}

.carouselrow .contents h3 {
	font-size: 30px;
	font-weight: 800;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 2px 2px 1px #6ed3cf;
	max-width: 95%;
	margin-top: 10%;
}

.carouselrow .contents p {
	max-width: 95%;
}

.carouselrow .gallery-cell.is-selected .contents h3,
.carouselrow .gallery-cell.is-selected .contents p,
.carouselrow .gallery-cell.is-selected .contents a.button {
	position: relative;
	opacity: 0;
	animation-name: fromRight;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-delay: 2s;
}

.carouselrow .contents h3 span {
	display: block;
	text-shadow: none;
	font-size: 90px;
	line-height: 1;
	font-family: "Playfair Display", sans-serif;
	text-transform: none;
	color: #55595d;
  	font-style: italic;
}

.carouselrow .flickity-prev-next-button,
.carouselrow .flickity-prev-next-button:hover {
	background: url(../images/custom/carousel_arrows.png);
	width: 40px;
	height: 73px;
}

.carouselrow .flickity-prev-next-button.previous {
	left: 30px;
}

.carouselrow .flickity-prev-next-button.next {
	background-position: right;
	right: 30px;
}

.carouselrow .flickity-prev-next-button svg {
	display: none;
}

.carouselrow .contents .button {
	background: #9068be;
	border: 1px solid #9068be;
	font-size: 24px;
	font-weight: 300;
	z-index: 1;
	position: relative;
}

.carouselrow .contents .button:hover {
	background: #55595d;
	border: 1px solid #55595d;
	color: #fff;
}

.carouselrow  .flickity-page-dots .dot {
	background: #fff;
	opacity: 1;
	width: 10px;
	height: 10px;
}

.carouselrow  .flickity-page-dots .dot.is-selected {
	background: transparent;
	border: 2px solid #fff;
}

/* smallcontactrow */

.smallcontactrow {
	text-align: center;
	font-size: 20px;
	padding: 37px 0;
}

.mp_top1 a::before, .mp_top2 span::before, .mp_top3 span::before,
.mp_advert1 span::before, .mp_advert3 span::before {
	content:" ";
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 30px;
	margin: 0 20px;
}

.mp_top1 a::before {
	background: url(../images/custom/icon_envelope.png) no-repeat;
}

.mp_top2 span::before {
	background: url(../images/custom/icon_phone.png) no-repeat right;
}

.mp_top3 span::before {
	background: url(../images/custom/icon_location.png) no-repeat;
}

/* servicesrow */

.servicesrow {
	text-align: center;
	color: #ffffff;
	font-size: 20px;
}

.servicesrow .sparky_cell {
	border-right:1px solid #fff;
}

.servicesrow .sparky_cell:last-child {
	border-right: 0;
}

.servicesrow h3 {
	text-align: center;
	color: #ffffff;
	font-family: Playfair Display;
	font-style: italic;
	font-size: 36px;
	margin-top: 0;
}

.servicesrow hr {
	background: url(../images/custom/divider.png) no-repeat center;
	border-top: 0;
	border-bottom: 0;
	margin: 15px 0;
	height: 7px;
}

.servicesrow img {
	display: block;
	width: 100%;
}

.servicesrow .sparky_cell:nth-child(odd) img {
	border-top: 1px solid #fff;
}

.servicesrow .sparky_cell:nth-child(even) img {
	border-bottom: 1px solid #fff;
}

.sparky_inner .servicesrow img {
	display: none;
}

.servicesrow .button {
	background: #fff;
	border:0;
	color: #55595d;
	font-weight: 300;
}

.servicesrow .button:hover {
	background: #f2f2f2 !important;
}

.mp_top4 {
	background: #6ed3cf;
}

.mp_top5 {
	background: #e62739;
}

.mp_top6 {
	background: #9068be;
}

.hair_menu {
	display: table-cell;
    text-align: center;
    vertical-align: middle;
}

/* testimonialsrow */

.testimonialsrow {
	padding: 80px 0 120px;
}

.hot_swipe_carousel_slides_testimonials img {
	width: 50% !important;
}

.hot_swipe_carousel_slides_testimonials .gallery-cell {
	background: #fff;
}

.hot_swipe_carousel_slides_testimonials h2 {
	text-transform: uppercase;
}

.hot_swipe_carousel_slides_testimonials h2::before {
	content: " ";
	display: block;
	width: 60px;
	height: 60px;
	background: url(../images/custom/icon_quotes.png) no-repeat;
}

.testimonialsrow .author {
	color: #e62739;
	font-size: 14px;
	text-transform: uppercase;
}

.hot_swipe_carousel_slides_testimonials .flickity-page-dots {
	bottom: -50px;
}

.hot_swipe_carousel_slides_testimonials  .flickity-page-dots .dot {
	background: #b7bbc0;
	width: 10px;
	height: 10px;
}

.hot_swipe_carousel_slides_testimonials  .flickity-page-dots .dot.is-selected {
	background: transparent;
	border: 2px solid #55595d;
}

/* workinghoursrow */

.workinghoursrow {
	text-align: center;
	font-size: 20px;
	padding: 37px 0;
	background: #fff;
}

.mp_advert2 {
	font-size: 36px;
	color: #e62739;
	font-weight: 800;
}

.mp_advert1 span::before {
	background: url(../images/custom/icon_scissors.png);
	width: 31px;
	height: 34px;
}

.mp_advert3 span::before {
	background: url(../images/custom/icon_sun.png);
	width: 41px;
	height: 41px;
}

/* featuresrow */

.featuresrow {
	padding: 60px 0;
}

.featuresrow h3 {
	text-transform: uppercase;
	margin-bottom: 30px;
}

/* tabs */

.featuresrow .tabs {
	position: relative;   
	min-height: 300px;
	clear: both;
}

.featuresrow .tab {
	float: left;
	width: 33.3%;
	text-align:center;
}

.featuresrow .tab label {
  	display: block;
	background: #e1e8f0; 
	padding: 12px 0; 
	border: 0; 
	margin-left: -1px; 
	position: relative;
	left: 1px;
	text-transform: uppercase;
	font-weight: bold;
	border-left:1px solid #fff;
	cursor: pointer;
}

.featuresrow .tab:first-child label {
	border-left:0;
}

.featuresrow .tab [type=radio] {
	display: none;
}

.featuresrow .content {
	position: absolute;
	top: 44px;
	left: 0;
	background: white;
	right: 0;
	bottom: 0;
	padding: 23px;
	border: 0; 
	text-align: left;
}

.featuresrow [type=radio]:checked ~ label {
	background: #e62739;
	color: #fff;
	z-index: 2;
}

.featuresrow [type=radio]:checked ~ label ~ .content {
	z-index: 1;
}

.featuresrow .content img {
	padding-bottom: 20px;
}

/* accordion */

.accordion p, ul.accordion li i:before, ul.accordion li i:after {
	transition: all 0.25s ease-in-out;
}

ul.accordion li {
	animation: flipdown 0.5s ease both;
}

.accordion h4 {
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.accordion h4 {
	display: block;
	background-color: #fff;
	margin: 0;
	cursor: pointer;
	text-transform: uppercase;
	padding: 13px 20px;
	font-size: 14px;
}

.accordion li:hover h4 {
	background: #9068be;
	color: #fff;
}

.accordion p {
	position: relative;
	overflow: hidden;
	max-height: 800px;
	opacity: 1;
	transform: translate(0, 0);
	margin: 20px;
	z-index: 2;
}

.accordion p:after {
	content:" ";
	display: block;
	height: 20px;
}

ul.accordion {
	list-style: none;
	perspective: 900;
	padding: 0;
	margin: 0;
}

ul.accordion li {
	position: relative;
	padding: 0;
	margin: 0 0 20px 0;
	background: #fff;
}

ul.accordion li:nth-of-type(1) {
	animation-delay: 0.5s;
}

ul.accordion li:nth-of-type(2) {
	animation-delay: 0.75s;
}

ul.accordion li:nth-of-type(3) {
	animation-delay: 1s;
}

ul.accordion li:last-of-type {
	padding-bottom: 0;
}

ul.accordion li i {
	position: absolute;
	right: 30px;
}

ul.accordion li i:before {
	content: "-";
	position: absolute;
	font-style: normal;
	font-size: 48px;
	color: #fff;
	top: -10px;
}

ul.accordion li:hover i:before {
	color: #fff;
}

ul.accordion li input[type=checkbox] {
	position: absolute;
	cursor: pointer;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
}

ul.accordion li input[type=checkbox]:checked ~ p {
	margin-top: 0;
	max-height: 0;
	opacity: 0;
	transform: translate(0, 50%);
}

ul.accordion li input[type=checkbox]:not(:checked) ~ h4 {
	background: #9068be;
	color: #fff;
}

ul.accordion li input[type=checkbox]:checked ~ i:before {
	content: "+";
	top: -7px;
	color: #e62739;
}

ul.accordion img {
	float: left;
	margin-right: 20px;
}

@keyframes flipdown {
  0% {
    opacity: 0;
    transform-origin: top center;
    transform: rotateX(-90deg);
  }
  5% {
    opacity: 1;
  }
  80% {
    transform: rotateX(8deg);
  }
  83% {
    transform: rotateX(6deg);
  }
  92% {
    transform: rotateX(-3deg);
  }
  100% {
    transform-origin: top center;
    transform: rotateX(0deg);
  }
}

/* image gallery */

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button {
    position: absolute;
    bottom: 0;
    width: 50%;
    height: 40px;
    border: none;
    border-radius: 0;
    cursor: pointer;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button.previous:hover,
.hot_swipe_carousel_slides_gallery .flickity-prev-next-button.previous:active {
	background: #64c7c3 url(../images/custom/gallery_arrow_left.png) no-repeat center !important;
	opacity: 1;
}

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button.next:hover,
.hot_swipe_carousel_slides_gallery .flickity-prev-next-button.next:active {
	background: #64c7c3 url(../images/custom/gallery_arrow_right.png) no-repeat center !important;
	opacity: 1;
}

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button svg {
	display: none;
}

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button.previous {
	background: #6ed3cf url(../images/custom/gallery_arrow_left.png) no-repeat center;
	left: 0;
	bottom: 0;
}

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button.next {
	background: #6ed3cf url(../images/custom/gallery_arrow_right.png) no-repeat center;
	right: 0;
	bottom: 0;
}

.hot_swipe_carousel_slides_gallery .flickity-prev-next-button {
	bottom: 0 !important;
	top: auto !important;
}

/* contentrow */

.contentrow {
	padding-bottom: 60px;
}

.sparky_inner .contentrow {
	background: #f2f2f2;
}

.sparky_inner .contentrow .sparky_container {
	background: #fff;
	width: 1080px;
}

.sparky_home .contentrow .sparky_container {
	width: 100%;
}

.sparky_home .contentrow .sparky_container .sparky_cell {
	padding: 0;
}

.contentrow h2 {
	text-transform: uppercase;
}

.blog-featured .blog-items {
	border-left: 2px solid #fff;
}

.blog-featured .blog-items .blog-item {
  	padding-bottom: 0;
  	margin-bottom: 0 !important;
}

.blog-items .blog-item {
  	padding-bottom: 50px;
}

.blog-featured div.blog-item {
	margin: 0;
}

.blog-featured div.blog-item .item-image {
	border-right: 1px solid #fff;
	padding-bottom: 15px;
}

.blog-featured dl.article-info {
	background: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	position: absolute;
	margin-top: 20px;
	margin-left: 40px;
}

.blog-featured dl.article-info dd {
	padding: 0;
}

.blog-featured dl.article-info time span,
.newsflash time span {
	display: block;
	width: 60px;
	color:#fff;
	background: #9068be;
	font-size:30px;
	line-height: 42px;
	text-align: center;
	border-radius:4px 4px 0 0;
}

.blog-featured dl.article-info time span:last-child,
.newsflash time span:last-child {
	background: #55595d;
	font-size: 14px;
	line-height: 32px;
	font-weight: bold;
	border-radius:0 0 4px 4px;
}

.intro_text {
	padding: 0 40px;
}

.item-page .item-image {
	margin: -20px 0 0 -20px;
	padding-bottom: 30px;
}

.item-page .item-image img {
	width: 100%;
}

ul.tags {
    padding-top: 30px;
}

.blog div.blog-item .item-image {
	padding-bottom: 15px;
}

.blog div.blog-item .item-image img {
	width: 100%;
}

.blog .blog-items .item-image {
	margin-left: -20px;
	margin-top: -20px;
}

/* right column */

.sparky_cell.mp_right {
	padding-top: 0;
}

.mp_right .moduletable {
	margin-bottom: 30px;
}

.mp_right h3 {
	font-family: Playfair Display;
	font-size: 24px;
}

.mp_right h4 {
	text-transform: uppercase;
}

.mp_right a.readmore {
	font-size: 12px;
	padding: 8px 20px;
	margin: 0;
}

.mp_right span.icon {
	width: 50px;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}

.mp_right span.icon.envelope {
	background: url(../images/custom/icon_envelope.png) no-repeat;
}

.mp_right span.icon.phone {
	background: url(../images/custom/icon_phone.png) no-repeat;
	background-position: 5px 0;
}

.mp_right span.icon.location {
	background: url(../images/custom/icon_location.png) no-repeat;
}

.newsflash_article {
	margin-bottom: 40px;
}

.newsflash .image-container {
	height: 90px;
	background-size: cover !important;
	margin-right: -20px;
}

.newsflash time {
	position: absolute;
	transform: scale(0.7);
}

/* headingsrow */

.headingsrow h1 {
	padding: 40px 30px 15px 30px;
}

.mp_header4 {
	font-weight: 700;
	text-transform: uppercase;
	text-align: right;
}

.mp_header4 a {
	color:#55595d;
	font-weight: 800;
}

ol.breadcrumb {
    padding: 45px 20px 0 20px !important;
    background: none;
  	justify-content: flex-end;
}

.breadcrumb-item+.breadcrumb-item::before {
	background: url(../images/custom/breadcrumb_arrow_left.png) no-repeat center;
	display: inline-block;
	width: 7px;
	height: 10px;
	padding: 5px 10px;
  	margin-top: 4px;
    margin-right: 5px;
  	content: "";
}

ol.breadcrumb .divider img {
	display: none;
}

.divider.icon-location {
	display: none;
}

/* contactrow */

.sparky_home .contactrow {
	position: absolute;
    z-index: 1;
    width: 100%;
    margin-top: 300px;
}

.sparky_inner .contactrow {
	background: #f2f2f2;
	padding-bottom: 60px;
}

.contactrow .moduletable {
	background: #fff;
	min-height: 428px;
}

.mp_user1 .moduletable::before {
	content: " ";
	display: block;
	float: right;
	width: 50%;
	height: 428px;
	background: url(../images/custom/barber_shop.jpg);
}

div.hot_simple_contact {
	padding: 15px;
}

div.hot_simple_contact .form-group {
	margin-bottom: 30px;
}

div.mp_user1 .intro_text::before {
	content: " ";
	display: block;
	width: 30px;
	height: 30px;
	background: url(../images/custom/icon_envelope.png) no-repeat;
	padding: 30px 0;
}

div.mp_user1 .intro_text {
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 30px 30px 0 30px;
}

.hot_simple_contact input, .hot_simple_contact textarea {
	border:2px solid #aaacae;
	border-radius: 0;
}

.hot_simple_contact input:focus, .hot_simple_contact textarea:focus {
	border:2px solid #6ed3cf;
}

.hot_simple_contact_submit {
	text-align: right;
}

.hot_simple_contact input.button {
	border: 1px solid #d01d2d;
	font-family: 'Raleway', sans-serif;
	width: auto;
}

.hot_simple_contact input.button:hover {
	border: 1px solid #d01d2d;
}

.hot_simple_contact input#hot_simple_contact_field_antispam {
	width: auto;
	padding-top: 12px;
	padding-bottom: 12px;
	border: 0;
	border-bottom:1px solid #ccc;
}

/* message */

#system-message-container {
    position: fixed;
    z-index: 999;
    bottom: 30px;
    right: 30px;
}

#system-message-container span.info {
    border: 0;
    background: transparent;
    padding: 0;
}

#system-message-container span.info::before {
    float: none;
}
/* bottomrow */

.bottomrow {
	color: #e1e8f0;
	padding: 30px 0;
}

.bottomrow h3 {
	color: #fff;
	text-transform: uppercase;
}

.bottomrow strong {
	color: #fff;
  	font-weight: bold;
}

.bottomrow img {
	float: left;
	margin-right: 20px;
	margin-bottom: 50px;
}

.bottomrow .sparky_logo {
	width: 100px;
	background-size: 100px 49px;
	min-height: 49px;
	padding-top: 12px;
	margin-bottom: 15px;
}

.bottomrow .sparky_logo, .bottomrow .sparky_logo a {
	font-size: 18px;
	color: #fff;
}

.bottomrow a i {
	color: #55595d;
	margin: 0 15px 0 0;
}

.bottomrow a:hover i {
	background: #e62739;
	color:#fff;
}

.bottomrow i {
	background: #f2f2f2;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 30px;
}

.mp_bottom3 a {
	color: #fff;
	font-weight: bold;
	text-decoration: underline;
}

.mp_bottom3 a:hover {
	color: #e62739;
}

.mp_bottom2 p::before,
.mp_bottom3 p::before {
	content: " ";
	display: block;
	float: left;
    margin-right: 20px;
    margin-bottom: 50px;
}

.mp_bottom2 p::before {
	background: url(../images/custom/icon_scissors.png);
	width: 31px;
	height: 34px;
}

.mp_bottom3 p::before {
	background: url(../images/custom/icon_location.png);
	width: 30px;
	height: 30px;
}

/* copyrightrow */

.copyrightrow, .copyrightrow a {
	color:#e1e8f0;
}

p.copyright {
	margin: 0;
}

.mp_footer {
	text-align: right;
}

.copyrightrow img {
	margin: 0 5px;
}

/* 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;
}

/* responsive */

.servicesrow, .smallcontactrow, .sparky_home .contentrow, .workinghoursrow {
  	max-width: 1425px;
	margin: 0 auto;
}

.nav-collapse.opened li {
	width: auto;
}

.nav-collapse.opened li a {
	padding: 0 15px;
}

.nav-collapse.opened li li a {
    padding: 0 30px;
}

@media (min-width: 1425px) {

	.hair_menu {
		height: 473px !important;
	}

}

@media (max-width: 1350px) {

	.carouselrow .contents h3 span {
		font-size: 72px;
	}

}

@media (max-width: 1150px) {

	.servicesrow hr {
	    margin: 0 0 10px 0;
	}

	.hair_menu {
		font-size: 80%;
	}

	.servicesrow h3 {
		font-size: 28px;
	}

	.carouselrow .contents h3,
	.mp_advert2 {
		font-size: 24px;
	}

	.carouselrow .contents h3 span {
		font-size: 60px;
	}

	.hot_swipe_carousel_slides .contents,
	.carouselrow .contents .button,
	.hot_swipe_carousel_slides_testimonials .contents h2,
	div.mp_user1 .intro_text {
		font-size: 18px !important;
	}

	.hot_swipe_carousel_slides_testimonials .contents,
	.workinghoursrow,
	.smallcontactrow {
		font-size: 14px !important;
	}

	.headingsrow h1 {
	    padding: 20px 0 15px 0;
	}

	ol.breadcrumb {
		padding-top: 30px;
	}

	.sparky_inner .contentrow .sparky_container {
		width: 100%;
	}

	.carouselrow .flickity-prev-next-button, .carouselrow .flickity-prev-next-button:hover {
	    width: 20px;
	    height: 36px;
	    background-size: cover;
	}

	.carouselrow .flickity-prev-next-button.previous {
	    left: 10px;
	}

	.carouselrow .flickity-prev-next-button.next {
	    right: 10px;
	}

}

@media (max-width: 992px) {

	.one .mp_logo {
		width: 60% !important;
	}

	.one .mp_topmenu, .one .mp_search {
		width: 20% !important;
	}

	.magnifier {
		float: right;
	}

	.nav-toggle {
		background: url(../images/tinynav_white.png);
      	width: 40px;
    	height: 30px;
      	margin-top: 5px;
	}

	.sparky_logo {
	    background-position: top left;
	    text-align: left;
	}

	.servicesrow hr {
		display: none;
	}

	.featuresrow .tab label,
	.accordion h4 {
		font-size: 12px;
	}

	.featuresrow .tabs {
		min-height: 405px;
	}

	ul.accordion img {
		margin-bottom: 20px;
	}

	.hair_menu {
		font-size: 70%;
	}

	.hair_menu p {
		margin-bottom: 10px;
	}

	.carouselrow .contents h3 span {
		font-size: 48px;
	}

	.hot_swipe_carousel_slides .contents, .carouselrow .contents .button, .hot_swipe_carousel_slides_testimonials .contents h2, div.mp_user1 .intro_text {
		font-size: 14px !important;
	}

	.button, .btn, a.readmore {
		padding: 8px 16px;
	}

	.mp_search input {
		padding: 10px 10px 9px;
	}

}

@media (max-width: 767px) {
  
  	.sparky_logo {
      	font-size: 24px;
      	padding-top: 32px;
      	text-align: center !important;
  	}
  
  	.blog-featured .item-image img {
      	width: 100%;
  	}

	.sparky_cell {
	    padding: 10px;
	}

	.headingsrow h1, .mp_header3, .mp_header4 {
		text-align: center;
		padding: 0;
	}

	.breadcrumb {
	    padding-top: 0;
	}

	.mp_header3 {
		padding-bottom: 0;
	}

	.newsflash .image-container {
		max-width: 100%;
      	height: 200px;
	}

	.hair_menu {
		width: 100% !important;
		height: auto !important;
		display: block;
	}

	.servicesrow h3 {
		padding-top: 10px;
	}

	.bottomrow, .bottomrow h3, .copyrightrow, .mp_footer {
		text-align: center;
	}

	.mp_bottom2 p::before, .mp_bottom3 p::before {
		content: " ";
		float:none;
		background-position: center;
		width: 100%;
		background-repeat: no-repeat;
		margin-bottom: 15px;
	}

	.bottomrow .sparky_logo {
		display: inline-block;
	}

	.servicesrow .button {
		margin-bottom: 15px;
	}

	.bottomrow a i {
	    margin: 0 7px;
	}

	.workinghoursrow .sparky_cell, .smallcontactrow .sparky_cell {
		padding: 7px 0 !important;
	}

	.featuresrow .content img {
		width: 100%;
	}

	.blog .blog-items .item-image {
	    margin: 0;
	}

	.mp_user1 .moduletable::before {
		display: none;
	}

	.featuresrow .tabs {
	    min-height: 350px;
	}

	.testimonialsrow {
	    padding: 40px 0;
	}

	.hot_swipe_carousel_slides_testimonials img {
		width: 100% !important;
	}

	.hot_swipe_carousel_slides_testimonials .contents {
		background:rgba(255,255,255,0.6) !important;
		left: 0 !important;
    	width: 100% !important;
    	bottom:0 !important;
    	top: auto !important;
    	color: #000 !important;
	}

	.hot_swipe_carousel_slides_testimonials h2::before {
		display: none;
	}

	.flickity-page-dots {
		display: none;
	}

	.carouselrow .contents {
		font-size: 12px !important;
	}

	.carouselrow .contents h3 {
		margin-top: 2%;
		font-size: 14px !important;
	}

	.carouselrow .contents h3 span {
		font-size: 22px !important;
	}

	.carouselrow .contents .button {
		margin-top: 0;
		padding: 5px 10px;
		font-size: 12px !important;
	}

	.carouselrow .contents p {
		margin-bottom: 8px;
	}

	.close_button {
		font-size: 10px;
	}
  
  	[id^=responsivelightbox] li {
      	display: block !important;
      	margin-left: 0 !important;
      	margin-right: 0 !important;
  	}
  
  	[id^=responsivelightbox] li img {
      	width: 100% !important;
    	height: auto !important;
  	}

}

@media (max-width: 340px) {

	.carouselrow .contents h3 {
		margin-top: 1%;
		font-size: 12px !important;
	}

	.carouselrow .contents h3 span {
		font-size: 16px !important;
	}

	.carouselrow .contents,
	.carouselrow .contents .button {
		font-size: 10px !important;
	}

}

	

/******* CONCEPTION JPARADIS – styles propres au site (ajoutés après le CSS du template) *******/

/* Police des titres (auto-hébergée, pas d'appel à Google Fonts) */
@font-face {
	font-family: "Alfa Slab One";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/alfa-slab-one-v21-latin-regular.woff2) format("woff2");
}

/* Polices et couleurs de base */
.sparky_wrapper { overflow-x: hidden; }
.button, .btn, a.readmore, p.readmore a.btn, button.btn, .hot_simple_contact_submit input.button {
	background: #d01d2d;
	border: 1px solid #d01d2d;
	border-radius: 0;
}
.button:hover, .btn:hover, a.readmore:hover, button.btn:hover {
	color: #d01d2d !important;
	background: transparent !important;
}
.centre { text-align: center; }
.petit { font-size: 12px; }

/* En-tête (logo + menu) */
.logorow.sparky_full { background-color: #6c6c6c; }
.mnu_topmenu > li > a, .mnu_topmenu > li > span { color: #fff; }
.mnu_topmenu > li.active, .mnu_topmenu > li:hover { background: #000; }
.mnu_topmenu > li.active > a, .mnu_topmenu > li:hover > a { color: #fff !important; }
.logorow .sparky_cell { display: flex; align-items: center; min-height: 90px; }
.sparky_logo_image img { display: block; max-height: 66px; width: auto; }
.mp_topmenu { padding-top: 0 !important; justify-content: flex-end; }
.mp_topmenu .sparky_menu { width: 100%; text-align: right; }
.mnu_topmenu > li > a, .mnu_topmenu > li > span { text-transform: uppercase; }
.mnu_topmenu > li:last-child > a { background: #d01d2d; }
.mnu_topmenu > li:last-child:hover > a, .mnu_topmenu > li.active:last-child > a { background: #000; }
@media (max-width: 992px) {
	.logorow .sparky_container { display: flex; align-items: center; }
	.logorow .sparky_cell { min-height: 64px; padding: 8px 16px; float: none; }
	.logorow .mp_logo { width: 65%; }
	.logorow .mp_topmenu { width: 35%; justify-content: flex-end; }
	.sparky_logo_image img { max-height: 44px; }
	.nav-collapse.opened > ul { background: #333; left: 0; width: 100%; padding-top: 60px; }
	.nav-collapse.opened li a { text-align: center; }
	/* Bouton hamburger dessiné en CSS (carré arrondi rouge, 3 barres qui deviennent une croix) */
	.nav-toggle, .nav-toggle.active {
		background: #d01d2d; width: 44px; height: 44px; border-radius: 8px; text-indent: -9999px; position: relative;
		float: right; margin: 0; display: inline-block;
	}
	.nav-toggle::before, .nav-toggle::after { content: ""; position: absolute; left: 10px; width: 24px; height: 3px; background: #fff; border-radius: 2px; transition: transform .25s, top .25s, box-shadow .25s; }
	.nav-toggle::before { top: 12px; box-shadow: 0 8.5px 0 #fff; }
	.nav-toggle::after { top: 29px; }
	.nav-toggle.active { position: fixed; z-index: 1000; right: 16px; top: 10px; margin: 0; }
	.nav-toggle.active::before { top: 20.5px; transform: rotate(45deg); box-shadow: none; }
	.nav-toggle.active::after { top: 20.5px; transform: rotate(-45deg); }
}

/* Bandeau d'accueil (hero) */
.carouselrow .gallery-cell { background: none; }
.carouselrow .gallery-cell > img { z-index: 0; }
.hero { position: relative; line-height: 0; background: #000; }
.hero img { width: 100%; height: auto; display: block; }
.hero-text {
	position: absolute; left: 0; right: 0; bottom: 0;
	padding: 30px 5% 25px;
	line-height: 1.4;
	background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,0) 100%);
	color: #fff;
}
.hero-text h1 {
	color: #fff; font-family: "Alfa Slab One", "Raleway", sans-serif; font-style: normal; font-weight: 400;
	font-size: 30px; line-height: 1.2; padding: 0 0 8px; margin: 0; text-align: left; text-shadow: 0 2px 6px rgba(0,0,0,.6);
}
.hero-text p { margin: 0 0 12px; font-size: 18px; font-weight: 400; max-width: 60%; }
.hero-text .button { margin: 0; }
@media (max-width: 992px) {
	.hero-text h1 { font-size: 22px; }
	.hero-text p { font-size: 15px; max-width: 100%; }
}
@media (max-width: 767px) {
	.hero-text { position: static; background: #111; padding: 18px 16px 20px; }
	.hero-text h1 { font-size: 20px; }
	.hero-text p { font-size: 14px; margin-bottom: 10px; }
	.hero-text .button { padding: 8px 16px; font-size: 13px; }
}

/* Bandeau des pages intérieures (carrousel) */
.sparky_inner .carouselrow .flickity-page-dots { display: none; }
.sparky_inner .hot_swipe_carousel_slides img { min-height: 160px; object-fit: cover; }

/* Rangée coordonnées (courriel / téléphone / adresse) */
.smallcontactrow a { color: #d01d2d; }

/* Tuiles de services */
.mp_top4 { background: #373838; }
.mp_top5 { background: #737373; }
.mp_top6 { background: #000000; }
.servicesrow .cell, .servicesrow .sparky_cell { border-right: 1px solid #fff; }
.servicesrow h2 {
	text-align: center; color: #fff; font-family: "Alfa Slab One", "Raleway", sans-serif; font-weight: 400;
	font-size: 30px; line-height: 1.25; margin: 0; padding: 0 0 15px;
}
.servicesrow .hair_menu { padding: 30px 20px; }
.servicesrow .button { background: #fff; border: 0; color: #55595d; font-weight: 300; }
.servicesrow .button:hover { background: #f2f2f2 !important; color: #55595d !important; }
.servicesrow img { height: auto; }
@media (min-width: 1425px) { .servicesrow .hair_menu { height: 473px !important; } }
@media (max-width: 1150px) { .servicesrow h2 { font-size: 24px; } }
@media (max-width: 767px) {
	.servicesrow h2 { font-size: 22px; padding-top: 10px; }
	.servicesrow .sparky_cell { display: flex; flex-direction: column; border-right: 0; }
	.servicesrow .hair_menu { order: 1; width: 100% !important; height: auto !important; display: block; padding: 20px 16px; }
	.servicesrow img { order: 2; border: 0 !important; }
}

/* Bloc À propos (accueil) */
.aboutrow { padding: 60px 0; background: #f2f2f2; }
.apropos-accueil { display: flex; align-items: center; background: #fff; max-width: 1120px; margin: 0 auto; }
.apropos-accueil img { width: 50%; height: auto; flex: 0 0 50%; object-fit: cover; }
.apropos-accueil .contents { padding: 3% 5%; font-size: 18px; }
.apropos-accueil h2 { text-transform: uppercase; font-family: "Alfa Slab One", "Raleway", sans-serif; font-weight: 400; font-size: 30px; }
@media (max-width: 767px) {
	.aboutrow { padding: 30px 10px; }
	.apropos-accueil { flex-direction: column; }
	.apropos-accueil img { width: 100%; flex: none; }
	.apropos-accueil .contents { font-size: 15px; padding: 20px; }
	.apropos-accueil h2 { font-size: 24px; }
}

/* Réalisations (accueil) */
.galleryrow { max-width: 1120px; margin: 0 auto; padding: 20px 0 50px; }
.galleryrow h2 {
	font-size: 36px; line-height: 1.3; text-transform: uppercase; color: #55595d; font-weight: 400;
	font-family: "Alfa Slab One", "Raleway", sans-serif; text-align: center; padding: 40px 0 30px;
}
.galleryrow .row { display: flex; flex-wrap: wrap; }
.galleryrow .sparkle { padding: 5px; text-align: center; float: none; }
.galleryrow .sparkle3 { width: 25%; }
@media (max-width: 768px) { .galleryrow .sparkle3 { width: 50%; } }
.galleryrow .sparkle img { max-width: 100%; height: auto; }
.galleryrow p.desc {
	font-size: 12px; line-height: 14px; text-transform: uppercase; color: #55595d; font-weight: 400;
	font-family: "Alfa Slab One", "Raleway", sans-serif; text-align: center;
}
@media (max-width: 767px) { .galleryrow h2 { font-size: 26px; padding: 20px 0; } }

/* Titres de page et fil d'Ariane */
.headingsrow .breadcrumb { padding: 20px 0 0; font-size: 12px; }
.headingsrow .breadcrumb li { margin: 0; }
.headingsrow .breadcrumb-item + .breadcrumb-item::before { content: "›"; padding: 0 8px; color: #999; }
.contentrow .page-header h1, .contentrow h1 { padding: 20px 0 10px; }
.contentrow h2 { text-transform: uppercase; font-size: 22px; }
.contentrow h3 { font-weight: 700; font-size: 17px; }
.contentrow { padding-bottom: 60px; }
.sparky_inner .contentrow .sparky_container { background: #fff; }
.contentrow p, .contentrow li { font-size: 16px; }
.contentrow ul, .contentrow ol { margin: 10px 25px 20px; }
.contentrow ul.checklist { margin-left: 45px; }
.item-page .article-info, .item-page .article-info-term { display: none; }
.coordonnees p { font-size: 18px; }
.button-facebook { background: #1877f2; border-color: #1877f2; }

/* Galerie des réalisations (Hot Responsive Lightbox) */
div.belowcontent { padding-top: 10px; }
#responsivelightboxrealisations ul { display: flex; flex-wrap: wrap; }
#responsivelightboxrealisations li { width: 23%; margin: 1%; }
#responsivelightboxrealisations img { width: 100%; height: 190px; border-width: 1px; }
@media (max-width: 767px) { #responsivelightboxrealisations li { width: 48%; } #responsivelightboxrealisations img { height: 150px; } }

/* Formulaire de contact (Hot Simple Contact) */
.contactrow { background: #f2f2f2; padding: 40px 0; }
.sparky_home .contactrow { position: static; margin: 0; }
.contactrow .sparky_cell { padding: 0 20px; }
.contactrow .moduletable, .contactrow .module { background: #fff; max-width: 1120px; margin: 0 auto; padding: 30px; min-height: 0; }
.mp_user1 .moduletable::before { background: url(../../../../../images/accueil/contact.jpg) center / cover no-repeat; width: 42%; height: 430px; margin: -30px -30px 0 20px; }
.contactrow div.hot_simple_contact { padding: 0; }
.contactrow .hot_simple_contact_submit { text-align: left; }
.contact-titre {
	padding: 0 0 20px; margin: 0; font-size: 30px; line-height: 1.2; text-transform: uppercase; color: #d01d2d; font-weight: 400;
	font-family: "Alfa Slab One", "Raleway", sans-serif; max-width: 55%;
}
.contact-titre span { color: #55595d; display: block; font-size: 20px; margin-top: 8px; }
.hot_simple_contact_form { max-width: 55%; }
.hot_simple_contact .form-group { margin-bottom: 15px; }
.hot_simple_contact label { font-size: 14px; margin-bottom: 4px; display: block; }
.hot_simple_contact input#hot_simple_contact_field_antispam { border: 2px solid #aaacae; padding: 10px; width: 100%; }
.contentrow .page-header h1, .contentrow h1 { font-family: "Alfa Slab One", "Raleway", sans-serif; font-style: normal; font-weight: 400; font-size: 32px; }
.hot_simple_contact .form-control { border: 2px solid #aaacae; border-radius: 0; padding: 12px; text-transform: none; font-size: 15px; }
.hot_simple_contact .form-control:focus { border-color: #d01d2d; box-shadow: none; }
.hot_simple_contact textarea.form-control { min-height: 130px; }
.hot_simple_contact_submit input.button { width: auto; margin: 0; }
.hot_simple_contact_hp { position: absolute; left: -9999px; }
@media (max-width: 992px) {
	.mp_user1 .moduletable::before { width: 35%; }
	.contact-titre, .hot_simple_contact_form { max-width: 60%; }
}
@media (max-width: 767px) {
	.contactrow { padding: 20px 0; }
	.contactrow .sparky_cell { padding: 0 10px; }
	.mp_user1 .moduletable::before { display: none; }
	.contactrow .moduletable, .contactrow .module { padding: 20px; }
	.contact-titre, .hot_simple_contact_form { max-width: 100%; }
	.contact-titre { font-size: 22px; }
	.contact-titre span { font-size: 16px; }
}

/* Carte Google Maps avec consentement */
.maprow .sparky_cell { padding: 0; }
.carte-consentement { background: #e9e9e9; min-height: 300px; display: flex; align-items: center; justify-content: center; text-align: center; }
.carte-placeholder { max-width: 560px; padding: 40px 20px; font-size: 15px; }
.carte-placeholder .button { margin: 0 10px 10px 0; }
.carte-consentement iframe { display: block; width: 100%; height: 450px; border: 0; }
.carte-consentement.chargee { display: block; min-height: 0; }

/* Pied de page */
.bottomrow { color: #e1e8f0; padding: 30px 0; }
.bottomrow h3 { color: #fff; text-transform: uppercase; font-weight: 700; }
.bottomrow img { float: none; margin: 0 0 15px; max-width: 120px; height: auto; }
.bottomrow p { font-size: 16px; }
.bottomrow a { color: #fff; }
.bottomrow a:hover { color: #d01d2d; }
.bottomrow a.facebook { display: inline-block; font-weight: 700; }
.bottomrow a.facebook i { background: #f2f2f2; color: #55595d; width: 30px; height: 30px; line-height: 30px; text-align: center; margin-right: 8px; border-radius: 50%; }
.bottomrow a.facebook:hover i { background: #d01d2d; color: #fff; }
.mp_bottom2 p::before { display: none; }
.copyrightrow { text-align: center; }
.copyrightrow, .copyrightrow a { color: #e1e8f0; font-size: 13px; }
.copyrightrow a:hover { color: #fff; text-decoration: underline; }
.copyrightrow .sparky_cell { text-align: center; }
@media (max-width: 767px) { .bottomrow, .bottomrow h3 { text-align: center; } }

/* Messages système Joomla */
#system-message-container { max-width: 1120px; margin: 0 auto; }
