h1 {
    text-transform: uppercase;
}

/* read more button */

p.readmore a.btn {
	display: inline-block;
	padding: 10px 20px;
	color: #FFFFFF;
	text-align: center;
	vertical-align: middle;
	background-color: var(--sparkycolor2);
	border: 0;
	border-radius: 4px;
	text-transform: uppercase;
}

p.readmore a.btn:hover, p.readmore a.btn:focus {
	color: #FFFFFF;
	text-decoration: none;
}

/* forms */

.inputbox, input.required, textarea.required, .form-control, textarea {
	display: inline-block;
	vertical-align: middle;
	padding: 15px;
	margin: 0;
	background-color: #f5f5f5;
	color:#333;
	border: 0;
	border-radius: 4px;
}

.button, .btn, a.btn, button.btn {
	display: inline-block;
	padding: 10px 30px;
	margin: 0;
	border: 0;
	border-radius: 4px;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	background: var(--sparkycolor1);
	text-transform: uppercase;
}

.button:hover, .btn:hover, a.btn:hover, button.btn:hover, p.readmore a.btn:hover {
	text-decoration: none;
	background-color: var(--sparkycolor3);
	color: #fff;
}

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: 15px 0 30px 0;
}

.abovecontent #map {
	box-sizing:border-box;
}

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

p.copyright {
	text-align: center;
}

/* topmenurow */

.sparky_logo {
	background: url(../images/logo_flat.png) no-repeat left;
	padding: 0 50px;
	margin-top: 15px;
}

.topmenurow {
	background: var(--sparkycolor1);
}

.topmenurow.topmenushow {
	background: var(--sparkycolor3) !important;
}

.mnu_topmenu ul {
	border-radius: 0 0 5px 5px;
}

.sparky_home .mnu_topmenu > li.active {
	background: transparent;
}

@media screen and (max-width: 991px) {
    .topmenurow nav:not(.opened) ul.menu {
		display: none;
	}
}

/* carouselrow */

.carouselrow {
    background: var(--sparkycolor1);
    font-weight: 400;
    padding-top: 50px;
}

.carouselrow h2 {
	color: #fff;
	text-transform: uppercase;
	letter-spacing: -2px;
}

.flickity-page-dots {
	text-align: left !important;
}

.flickity-page-dots .dot {
	margin: 0 15px 0 0;
}

.hot_swipe_carousel_slides1 img {
	width: 720px !important;
	float: right;
}

/* contentrow */

.contentrow {
    padding: 50px 0;
}

.contentrow p,
.content_sparky li,
blockquote {
    line-height: 1.7;
}

.sparky_home .contentrow h1 {
	text-align: center;
	font-size: 32px;
}

.sparky_home .contentrow h2 {
    text-align: center;
    padding: 30px 0 15px;
}

.sparky_home .contentrow h2 a {
	font-size: 32px;
    font-weight: 400;
}

.contentrow h2 a:hover {
    color: var(--sparkycolor1);
}

.sparky_home .contentrow p {
    text-align: center;
}

.blog-items .blog-item {
	margin-bottom: 30px;
}

.blog-featured .blog-items.columns-4 .blog-item {
	width: calc(25% - 30px);
}

.blog-featured .item-image {
	text-align: center;
	float: none;
    margin: 0;
}

.blog-featured .item-image img {
	max-width: 150px;
}

.tagscloud a {
    color: #909090;
}

.tagscloud a:hover {
    color: #333;
}

.item-page ul.tags,
.items-row ul.tags {
    display: block;
    margin: 30px 0;
}

.blog-items ul.tags {
	font-size: 12px;
}

.item-page .item-image {
    padding-bottom: 15px;
}

.blog .blog-items.columns-1 .blog-item .item-image {
    float: right;
    margin-left: 30px;
}

.blog .blog-items .blog-item dl.article-info {
    margin-bottom: 10px;
    font-size: 12px;
}

.blog .blog-items .item h2 {
    padding: 0;
}

.blog-items.columns-1 {
    padding-bottom: 60px;
}

/* side modules */

.mp_right.sparky_cell {
	padding-left: 40px;
}

.contentrow .moduletable,
.contentrow .moduletable._featured {
	background: #f3f3f3;
	border-radius: 5px;
	margin-bottom: 50px;
}

.contentrow .moduletable._plain {
	margin-bottom: 50px;
	background: transparent;
}

.contentrow .moduletable > div,
.contentrow .moduletable > nav,
.contentrow .moduletable > form,
.contentrow .moduletable._featured > div,
.contentrow .moduletable._featured > nav,
.contentrow .moduletable._featured > form {
	padding: 15px;
}

.contentrow .moduletable._plain > form {
	padding-left: 0;
	padding-right: 0;
}

#responsivelightbox {
	padding: 15px;
}

.contentrow .moduletable > h3,
.contentrow .moduletable._featured > h3 {
	background: var(--sparkycolor3);
	color: #fff;
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
	text-transform: none;
	text-align: center;
	padding: 15px 0;
	border-radius: 5px 5px 0 0;
}

.contentrow .moduletable._featured > h3 {
	background: var(--sparkycolor1);
}

.contentrow .moduletable._plain > h3 {
	background: transparent;
	text-align: initial;
	color: #333;
	font-weight: 700;
}


/* productrow */

.productrow {
    padding: 50px 0 0 0;
    background: #f3f3f3;
    text-align: center;
}

.productrow h3 {
    text-transform: uppercase;
    text-align: center;
}

.productrow p {
	margin-bottom: 60px;
}


/* timelinerow */

.timelinerow {
    padding: 60px 0;
}

.timelinerow p.intro {
	margin-bottom: 60px;
	text-align: center;
}

.timelinerow h3 {
    text-transform: uppercase;
    text-align: center;
}

.timeline {
	display:flex;
	display: -ms-flexbox;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-content: flex-start;
	align-items: flex-start;
	background: url(../images/custom/timeline_bg.png) no-repeat center;
}

.timeline .item {
	width: 150px;
	text-align: center;
}

.timeline .item:nth-child(even) p {
	margin-top: 27px;
}

.timeline span {
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 32px;
	font-weight: 700;
	display: block;
	text-align: center;
}

.timeline img {
	margin: 10px 0;
}


/* portfoliorow */

.portfoliorow {
    padding: 50px 0;
    background: #f3f3f3;
}

.portfoliorow h3 {
    text-transform: uppercase;
    text-align: center;
}

.hot_swipe_carousel_slides2 img {
    width: auto !important;
    border-radius: 50%;
    position: relative;
    z-index: 1;
}

.hot_swipe_carousel_slides2 .contents {
    position: relative !important;
    padding-top: 0;
    min-height: 160px;
}

.hot_swipe_carousel_slides2 .contents p {
    max-width: 600px;
    margin: 0 auto;
}

.hot_swipe_carousel_slides2 .gallery-cell,
.hot_swipe_carousel_slides2 h4 {
    text-align: center;
}

.hot_swipe_carousel_slides2 .flickity-page-dots {
    bottom: 0;
    position: relative;
    padding: 0;
}

.hot_swipe_carousel_slides2 .flickity-page-dots .dot {
    background: #ccc;
}

.hot_swipe_carousel_slides2 .flickity-page-dots .dot.is-selected {
    background: #fff;
}

.hot_swipe_carousel_slides2 .flickity-page-dots {
	text-align: center;
	margin-top: 30px;
}


/* purchaserow */

.purchaserow {
    padding: 50px 0;
    background: var(--sparkycolor1);
    color: #fff;
}

.purchaserow p {
	float: left;
	margin: 15px 0;
}

.purchaserow a.btn {
	float: right;
	background: transparent;
	border:2px solid #fff;
	color: #fff;
	text-transform: uppercase;
}

.purchaserow a.btn:hover {
	background: #fff;
	color: var(--sparkycolor1);
}

/* maprow */

.maprow {
    padding: 50px 0;
    background: var(--sparkycolor3);
}

.maprow h3 {
    text-transform: uppercase;
    color: #fff;
}

.maprow .subheading {
    margin-bottom: 60px;
}

.hot_simple_contact .form-group {
	margin-top: 15px !important;
	margin-bottom: 0 !important;
}

.hot_simple_contact textarea {
	height: 145px;
}

.hot_simple_contact input.btn {
	display: block;
	width: 100%;
	padding: 15px 30px;
	transition: all 0.3s;
}

.maprow .button:hover, .maprow .btn:hover {
	color: var(--sparkycolor4);
    background-color: #fff;
}

.mp_user3 #map {
	margin-top: 15px;
}

/* 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;
}

/* pricingrow */

.pricingrow {
    padding: 50px 0;
	text-align: center;
	background: #f3f3f3;
}

.pricingrow h3 {
	font-size: 32px;
	text-transform: uppercase;
	text-align: center;
}

.pricingrow h4 {
	text-align: center;
	background: var(--sparkycolor3);
	color: #fff;
	font-family: "Open Sans", sans-serif;
	font-size: 24px;
	font-weight: 300;
	margin: 0;
	padding-top: 15px;
	padding-bottom: 0;
	border-radius: 5px 5px 0 0;
}

.pricingrow .blog-items {
	padding-top: 30px;
}

.pricingrow .blog-items.columns-3 .blog-item {
	background: #fff;
	width: calc(33.33% - 25px);
    border-radius: 5px;
    padding-bottom: 15px;
}

.pricingrow .blog-item p.pricing_price {
	background: var(--sparkycolor3);
	color: #fff;
	margin: 0 0 15px 0 !important;
	padding-bottom: 15px;
	border:0;
}

.pricingrow .blog-item p {
	margin: 0 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f3f3f3;
}

.pricingrow .blog-item p:last-child {
	border-bottom: 0;
}

.pricingrow .featured h4, .pricingrow .blog-item.featured p.pricing_price {
	background: var(--sparkycolor1);
}

.pricingrow a.btn {
	background: var(--sparkycolor3);
	color: #fff;
	margin-top: 15px;
	text-transform: uppercase;
}

.pricingrow .featured a.btn, .pricingrow a.btn:hover {
	background: var(--sparkycolor1);
}

.pricingrow .featured a.btn:hover {
	background: var(--sparkycolor3);
}


/* testimonialsrow */

.testimonialsrow {
	background: var(--sparkycolor1) url(../images/custom/world_bg.png) no-repeat;
    padding: 40px 0;
    text-align: center;
    background-attachment: fixed;
}

.testimonialsrow h4 {
	font-size: 24px;
	color: #fff;
	font-weight: 300;
}

/* grid */

.grid-item {
	width: 30%;
	min-height: 354px; /* safari fix */
	margin: 20px 1.66%;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
}

.grid-item h4 {
	padding: 15px;
	color: var(--sparkycolor1);
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
}

.grid-item p {
	padding: 0 15px;
}

.grid-item img {
	border-radius: 5px 5px 0 0;
	width: 100%;
	height: auto;
}

.button-group {
	text-align: center;
	margin-bottom: 50px;
}

button {
	background: #fff;
	border:0;
	border-radius: 5px;
	color: #444;
	padding: 15px 30px;
	margin: 0 5px;
	outline: none;
	font-family: 'Open Sans', sans-serif;
}

button:hover, button.active {
	background: var(--sparkycolor1);
	color: #fff;
}

#imagelightbox-close {
	padding: 0;
}

/* bottomrow */

.bottomrow {
    background: var(--sparkycolor4);
    padding: 25px 0 0;
    text-align: center;
}

.bottomrow a {
	padding: 0 10px;
}


/* copyrightrow */

.copyrightrow {
    background: var(--sparkycolor4);
    bottom: 0;
    color: #fff;
    padding: 25px 0;
}

.copyrightrow p {
	margin: 0;
}

.copyrightrow a {
	color: var(--sparkycolor1);
}

/* responsive */

.nav-toggle {
    background: url(../images/tinynav_white.png);
    background-size: 42px 84px;
    margin-top: 10px;
}

@media (max-width: 1240px) {

	.timeline {
		background: none;
	}

	.timeline .item {
		width: 33.33%;
	}

	.timeline .item:first-child {
		display: none;
	}

	.timeline img {
	    display: block;
	    margin: 5px auto;
	}

	.timeline .item:nth-child(even) p {
		margin-top: 0;
	}

	.hot_swipe_carousel_slides1 .contents {
		top: 0 !important;
	}

	.hot_swipe_carousel_slides1 .contents h2 {
		line-height: 1;
	}

	.mp_right #mod-search-searchword {
		width: 160px;
	}

}

@media (max-width: 992px) {

	.sparky_logo {
	    margin: 10px 0;
	}

	.nav-toggle {
	    margin-top: 5px;
	}

	.button, .btn, a.btn, button.btn {
		padding: 16px 25px;
	}

	.carouselrow {
	    padding-top: 30px;
	}

	.hot_swipe_carousel_slides1 img {
		width: 500px !important;
	}

	.hot_swipe_carousel_slides1 .contents {
		font-size: 14px !important;
	}

	.hot_swipe_carousel_slides1 .contents h2 {
		font-size: 32px !important;
	}

	.purchaserow {
		text-align: center;
	}

	.purchaserow p, .purchaserow a.btn {
		float: none;
	}

	.blog .blog-items.columns-1 .blog-item .item-image {
	    float: none;
	    margin-left: 0;
	}

	.contentrow .moduletable h3, .contentrow .moduletable._featured h3 {
		font-size: 18px;
	}

	.fontawesome-icon-list div {
		width: 100%;
		float: none;
	}

	.testimonialsrow {
	    background-attachment: scroll;
	    background-size: cover;
	}

	[class*="span"] {
	    margin-left: 0;
	}

}

@media (max-width: 767px) {

	.blog-items .blog-item {
	    width: 100% !important;
	}

	.mp_right.sparky_cell {
	    padding: 50px 15px 0;
	}

	.pricingrow .item {
		margin: 20px 0 !important;
	}

	.timeline .item {
		width: 100%;
	}

	.portfoliorow button {
		margin-bottom: 15px;
	}

	.grid-item {
		width: 96%;
	}

	.hot_swipe_carousel_slides1 .contents {
		padding: 0 !important;
		background: transparent !important;
	}

	.hot_swipe_carousel_slides1 .contents p {
		width: 65%;
		float: left;
	}

	.hot_swipe_carousel_slides1 .contents p.readmore {
		width: 30%;
		float: right;
		text-align: right;
		padding-bottom: 30px;
	}

	.hot_swipe_carousel_slides1 img {
		width: 100% !important;
		float: none;
	}

	.flickity-page-dots {
		bottom: 15px !important;
	}

	.pcolumn-2 {
		margin-left: 0;
	}

	.pull-right.item-image,
	.pull-left.item-image {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

}
	