html {
  	overflow-x: hidden;
}

/* Added by me */

body {
    background-color: #ffffff !important; /* Replace with your preferred hex color code */
}

/* Center the thumbnail grid wrapper */
.brSigContainer,
.br-sig-wrapper, 
.sig-container { 
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto;
    text-align: center;
}

/* Ensure individual thumbnail items align correctly */
.br-sig-thumb {
    display: inline-block;
    float: none !important; /* Overrides any legacy float alignments */
}

.sparky_row4.sparky_full {
    background-color:#ffffff;
}

/* Forces every paragraph/text block inside your container to respect line breaks */
.hsp_text_class,
.hsp_text_class p, 
.hsp_text_class span,
.hsp_text_class div {
    white-space: pre-wrap !important;
}

/* Gives all your selected text blocks a left and right border */
.pricing_servces_border {
    border-left: 2px solid #333333;
    border-right: 2px solid #333333;
    padding-left: 20px;   /* Space between text and left border */
    padding-right: 20px;  /* Space between text and right border */
    margin: 0 !important; /* Removes gaps between the rows */
}

/* Caps the very first text block with a top border */
.pric_servces_border:first-of-type {
    border-top: 2px solid #333333;
    padding-top: 20px;    /* Space at the very top of the box */
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

/* Caps the very last text block with a bottom border */
.pricing_servces_border:last-of-type {
    border-bottom: 2px solid #333333;
    padding-bottom: 20px; /* Space at the very bottom of the box */
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Reduce bottom spacing of the header banner */
header, .header, #hot-header, .container-header {
    margin-bottom: 0px !important;
    padding-bottom: 5px !important;
}

/* Hide the date element in TrustReviews */
.trust-review-date, .trustreviews-date, .tr-date {
    display: none !important;
}

/* 1. Force the inner slide block to conform to a specific boundary */
.swiper-slide, 
.jo-testimonials-wrapper .swiper-slide {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* 2. Overwrite the paragraph or content span to force word wrapping */
.jo-testimonial-desc,
.jo-testimonials-wrapper p,
.jo-testimonials-wrapper span {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    display: inline-block !important;
    max-width: 100% !important;
}

/* Reduce top spacing of the component/article section */
main, .main, #hot-main, .com-content, .body {
    margin-top: 0px !important;
    padding-top: 0px !important;
}

/* Targets Joomla 6 core main layout component block */
.site-grid, main.content, #main-content {
    background-color: #1a1a1a !important; /* Replace with your pizza template colour (e.g., dark charcoal, red, etc.) */
}

/* 1. Force the outer full-width row container to stay black across the entire screen */
.bottom1_row, .bottom1-wrapper, div[class*="bottom1"] {
    background-color: #000000 !important; /* Pure black background */
    width: 100vw !important;              /* Spans 100% of the viewport screen width */
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;        /* Pulls the edges perfectly to both screen sides */
    margin-right: -50vw !important;
    box-sizing: border-box !important;
}

/* 2. Keeps your internal menu column layout neatly aligned and centered with the rest of your site content */
div[class*="bottom1"] .row, div[class*="bottom1"] .container {
    max-width: 1140px !important;         /* Matches the default layout width limit of your Pizzeria theme */
    margin: 0 auto !important;            /* Centers your columns inside the black full-width row strip */
}

/* 3. Keeps your fonts inside bottom1 readable against the black background */
div[class*="bottom1"] p, div[class*="bottom1"] h3, div[class*="bottom1"] a {
    color: #ffffff !important;
}

/* Forces all social media and structural icons in the footer to become black */
footer i, .footer-wrapper i, footer svg, .footer-wrapper svg, footer .icon {
    color: #000000 !important;
    fill: #000000 !important; /* Used in case the icons are SVG vector files */
}

/* Keep the outer row white and full-width */
.white-footer-row {
    background-color: #ffffff !important;
    background-image: none !important;
    width: 100% !important;
}

/* Force the inner container to center itself on the screen */
.white-footer-row .sparky_container {
    margin: 0 auto !important; /* Centering math */
    float: none !important;    /* Prevents the left pull */
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
}

/* Zero out the inner padding while keeping elements centered */
.white-footer-row .sparky_cell {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    padding-left: 0px !important;  /* Soft breathing room so text doesn't touch the screen edge */
    padding-right: 0px !important;
}

/* Keep your test text legible and dark grey */
.white-footer-row *, 
.white-footer-row p, 
.white-footer-row a {
    color: #222222 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important; /* Removes any default theme gradients or patterns */
}

/* End of Added by me */


/* typography */

.colored {
	color: var(--sparkycolor1);
	font-weight: 700;
}

.thin {
	max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

figure img.rounded {
	border-radius: 10px !important;
}

figure img.rounded50 {
	border-radius: 50% !important;
	border: 10px solid var(--sparkycolor2);
}

.marginbottom0 {
	margin-bottom: 0 !important;
}

.paddingtop0 {
	padding-top: 0 !important;
}

.paddingtop5 {
	padding-top: 5px !important;
}

.paddingbottom30 {
	padding-bottom: 30px !important;
}

/* form */

a.btn, a.sparky_button,  p.readmore a.btn, button.btn, .logorow nav:not(.opened) ul.menu > li:last-child {
	background: linear-gradient(var(--sparkycolor4), var(--sparkycolor1));
	border: 1px solid var(--sparkycolor1);
	border-radius: 10px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	padding: 14px 30px;
	text-transform: uppercase;
}

a.btn:hover, a.sparky_button:hover, p.readmore a.btn:hover, button.btn:hover, .logorow nav:not(.opened) ul.menu > li:last-child:hover {
	background: linear-gradient(var(--sparkycolor1), var(--sparkycolor1));
	border: 1px solid var(--sparkycolor1);
	color: #fff;
}

.input-group .form-control {
	padding: 17px;
}

/* logorow */

.logorow {
	padding-top: 30px;
	padding-bottom: 30px;
}

.sparky_logo {
	text-transform: uppercase;
}

.logorow nav:not(.opened) ul.menu > li:last-child {
	margin-left: 30px;
}

.logorow nav:not(.opened) ul.menu > li:last-child > a {
	color: #fff;
	padding: 0;
	height: auto;
    line-height: 1.8;
}

.logorow ul.menu ul {
	border-radius: 10px;
}

.logorow ul.menu ul ul {
	left: calc(200px - 10px);
}

.logorow ul.menu li ul li {
	border-radius: 6px;
}

/* carouselrow */

.carouselrow .sparky_cell {
	padding: 0 0 30px;
}

.carouselrow .hot_swipe_carousel_slides .contents {
	left: calc((100% - 1140px) / 2);
}

.carouselrow h2 {
	font-weight: 900;
}

.carouselrow .contents p {
	margin: 15px 0 30px;
}

.carouselrow .flickity-page-dots .dot.is-selected {
	width: 12px !important;
	height: 12px !important;
	background: var(--sparkycolor1); !important;
}

.carouselrow .flickity-page-dots .dot {
	opacity: 1 !important;
}

/* contentrow */

.contentrow {
	padding: 30px 0;
}

/* bottomrow */

.bottomrow {
	font-size: 16px;
	padding: 20px 0;
}

.bottomrow {
	color: #ccc;
}

.bottomrow h3 {
	color: #fff;
	padding-bottom: 30px;
}

.bottomrow .mp_bottom2 h3,
.bottomrow .mp_bottom3 h3 {
	padding-top: 30px;
}

/* footerrow */

.footerrow {
	color: #ccc;
	font-size: 16px;
	padding-bottom: 20px;
}

.footerrow a:hover {
	color: var(--sparkycolor4);
}

.footerrow .mp_footer a:hover {
	color: #fff;
}

.footerrow i {
	background: var(--sparkycolor1);
	color: #fff;
    padding: 10px;
    border-radius: 50%;
}

.footerrow i:hover {
	background: var(--sparkycolor4);
	color: #fff;
}

/* home */

.sparky_home h1 {
	font-size: 48px;
	font-weight: 700;
}

.testimonials_row .sparky_col0 {
	display: block;
	padding-top: 100px;
}

.testimonials_row .sparky_col0 figure {
	float: left;
	margin-right: 30px;
	margin-bottom: 50px;
}

.testimonials_row .sparky_col0 figure img {
	border-radius: 50%;
}

.newsrow {
	color: #ccc;
}

.newsrow .mod-articlesnews-horizontal li {
	background: rgba(0, 0, 0, 0.75);
	border-radius: 10px;
	padding: 15px;
}

.newsrow h4 {
	color: #fff;
}

.newsrow h4 a:hover {
	color: var(--sparkycolor1);
}

.newsrow .mod-articlesnews-horizontal .readmore {
	margin-top: 0;
}

.newsrow .mod-articlesnews-horizontal .readmore .btn {
	background: transparent;
	border: 0;
	color: var(--sparkycolor1);
	padding: 0;
}

.newsrow .mod-articlesnews-horizontal .readmore .btn:hover {
	color: #fff;
}

/* pricing */

.pricing_row .sparky_cell {
	border: 3px solid var(--sparkycolor1);
	border-radius: 10px;
	background: var(--sparkycolor2);
}

.pricing_row img {
	border-radius: 50%;
}

/* blog */

.blog-items .blog-item {
	margin: 25px 0;
}

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

@media (max-width: 1150px) {

	.carouselrow .hot_swipe_carousel_slides .contents {
		left: 15px !important;
		top: 5% !important;
		width: 45% !important;
	}

	.hot_swipe_carousel_slides .contents h2 {
		font-size: 40px !important;
	}

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

}

@media (max-width: 991px) {

	.logorow nav:not(.opened) ul.menu {
		display: none;
	}

	.carouselrow .hot_swipe_carousel_slides .contents {
		top: 0 !important;
	}

	.carouselrow .contents p {
		margin: 0 0 15px;
	}

	.carouselrow .hot_swipe_carousel_slides .contents a.btn {
		border: 0;
		padding: 0;
		background: transparent;
		color: var(--sparkycolor1);
	}

	.mod-articlesnews-horizontal {
		grid-template-columns: repeat(auto-fit,minmax(100%,1fr));
		margin: 0;
	}

}

@media (max-width: 768px) {

	.carouselrow .hot_swipe_carousel_slides .contents {
	    left: 0 !important;
	    width: 100% !important;
	    background: transparent !important;
	    padding-bottom: 50px !important;
	}

	.hot_swipe_carousel_slides img {
		margin-left: -100%;
		width: 200% !important;
	}

}

/* For DEMO purposes only. Can be safely deleted */

.sparky_settings {
    position: fixed;
    z-index: 9999;
    top:70%;
    padding: 0 5px;
    background: #000;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    line-height: 1.4;
}

.sparky_settings:hover {
    background: #000;
}

.settings_content {
    display: none;
    float: left;
    padding-right: 15px;
    height: 28px;
}

.settings_content span {
    display: inline-block;
    width: 28px;
    height: 28px;
    border:3px solid #333;
    border-radius: 19px;
}

.settings_content span:hover {
    border:3px solid #fff;
}

.settings_content span.style1 {
    background: #e49b18;
}

.settings_content span.style2 {
    background: #e41818;
}

.settings_content span.style3 {
    background: #81ac0c;
}

.settings_content span.style4 {
    background: #e418e2;
}

.settings_content a {
    text-decoration: none;
}

.settings_cog {
    float: left;
    width: 30px;
    height: 28px;
}

.sparky_settings i {
    font-size: 28px;
    color: #eee;
}

/* Added by me */

/* Force the specific copyright ID container to be white as well */
#copyright, 
.copyright-row,
div[class*="copyright"] {
    background-color: #ffffff !important;
    background-image: none !important;

  /* Update the copyright paragraph bottom margin to 25px */
p.copyright {
    margin: 0 0 0 58px !important;
    padding: 20px 0 0 0px !important;
}

/* Force every inner framework wrapper to adopt the white background */
#sparky_wrapper .white-footer-row .sparky_container,
#sparky_wrapper .white-footer-row .sparky_cell,
#sparky_wrapper #footer .sparky_container,
#sparky_wrapper #footer .sparky_cell,
#sparky_wrapper #copyright .sparky_container,
#sparky_wrapper #copyright .sparky_cell {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

/* High-priority rule to force the row background to solid white */
#sparky_wrapper .white-footer-row,
.white-footer-row {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important; /* Removes any default theme gradients or patterns */
}

/* FORCE A UNIFIED BORDER AROUND THE LAYOUT BLOCKS */

.border-left-side, 
.border-right-side {
    position: relative !important;
}

/* 1. Gives both side-by-side blocks a top and bottom border */
.stripe_services_horizontal {
    border-top: 2px solid #333333 !important;
    border-bottom: 2px solid #333333 !important;
    padding: 12px !important;    /* Sleek, balanced padding instead of large gaps */
    margin: 0 !important;        /* Removes gaps between the columns */
    background-color: #ffffff !important;
}

/* 2. Caps the leftmost block (Stripe Button) with a left border and rounded corners */
.stripe_services_horizontal:first-of-type {
    border-left: 2px solid #333333 !important;
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

/* 3. Caps the rightmost block (Text Content) with a right border and rounded corners */
.stripe_services_horizontal:last-of-type {
    border-right: 2px solid #333333 !important;
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}