/*
Theme Name: Joe's New York Pizza Las Vegas
Theme URI: https://joesnypizzalv.com/
Author: Sage Digital Agency
Author URI: https://sage.agency/
Description: Joe's New York Pizza Las Vegas custom desigend theme by Sage Digital Agency Team.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: elementor-header, elementor-footer, elementor-menu, wp-form, full-width-template, smooth animation, blogs, Sticky post, Google Fonts 
Text Domain: joesnypizzalv

/* FONTS
-----------------------*/
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&family=Zalando+Sans:ital,wght@0,200..900;1,200..900&display=swap');

/* COLOR
-----------------------*/
:root {
	--red: #CD1E24;
	--light-yellow: #FFC659;
	--body: #231F20;
	--black: #000000;
	--white: #FFFFFF;
	--gray: #D3D3D3;
}

/* MAIN STYLESHEET
----------------------*/
body,html{ overflow-x: hidden; }
body{
	font-family: "Zalando Sans", sans-serif;
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
	line-height: 1.6;
	leading-trim: NONE;
	color: var(--body);
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6{
	font-family: "Rubik", sans-serif;
	font-weight: 800;
	font-style: italic;
	line-height: 1;
	leading-trim: NONE;
	color: var(--body);
}
h1, .h1{ font-size: 110px; text-transform: uppercase; }
h2, .h2{ font-size: 70px; text-transform: uppercase; }
h3, .h3{ font-size: 40px; }
h4, .h4{ font-size: 38px; line-height: 1.1; }
h5, .h5{ font-size: 32px; }
h6, .h6{ font-size: 18px; font-weight: 500!important; }
p{ padding: 0; margin: 0 0 15px 0; }
a{ color: var(--body); cursor: pointer; outline: 0; text-decoration: none; }
a:link{ color: var(--body); }
a:active{ color: var(--body); }
a:visited{ color: var(--body); }
a:hover{ color: var(--red); text-decoration: none; }
a:focus{ outline: none; text-decoration: none; }
button:focus{ outline: unset; }
img{ max-width: 100%; }
a img{ border: 0; }
.w-100 img{ width: 100%; }
label{ cursor: pointer; }
iframe{ max-width: 100%; }
.f-18{ font-size: 18px!important; }
.elementor-icon-box-content p:empty{ display: none!important; }
.elementor-custom-embed-play i, .elementor-custom-embed-play svg{ opacity: 1!important; }
.elementor-widget-n-carousel .swiper-pagination-bullet{ border-radius: 100px!important; }
.elementor-widget-n-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active{ width: 40px!important; }
.elementor-image-carousel-wrapper .swiper-pagination{ bottom: -7px!important; }
.elementor-image-carousel-wrapper .swiper-pagination-bullet{ border-radius: 100px!important; }
.elementor-image-carousel-wrapper .swiper-pagination-bullet.swiper-pagination-bullet-active{ width: 40px!important; }

/* COLORS
----------------------*/
.color-red{ color: var(--red)!important; }
.color-yellow{ color: var(--light-yellow)!important; }
.color-black{ color: var(--black)!important; }
.color-white{ color: var(--white)!important; }

/* PADDING & MARGINS 
----------------------*/
#main-content{ padding: 70px 0 35px 0; }
.theme-flush-top-space{ margin-top: -70px; }
.theme-flush-bottom-space{ margin-bottom: -35px; }
.pt70{ padding-top: 70px!important; }
.pb70{ padding-bottom: 70px!important; }
.ptb70{ padding-top: 70px!important; padding-bottom: 70px!important; }
.pt35{ padding-top: 35px!important; }
.pb35{ padding-bottom: 35px!important; }
.ptb35{ padding-top: 35px!important; padding-bottom: 35px!important; }

.full-width-left{ flex-grow: 1!important; margin-left: calc(((100vw - 1320px) /2*-1)) !important; }
.full-width-right{ flex-grow: 1!important; margin-right: calc(((100vw - 1320px) /2*-1)) !important; }

/* SEARCH FORM
----------------------*/
.search-form label{ position: relative; margin: 0; width: calc( 100% - 50px ); }
.search-form .search-field{ width: 100%; height: 50px; border: 1px solid var(--gray); border-radius: 0; padding: 10px 15px; margin-bottom: 0; }
.search-form .search-field:focus-visible{ outline: unset; }
.search-form .search-submit{
	float: right;
	width: 50px; height: 50px;
	padding: 0;
	background-color: var(--white);
	border: 1px solid var(--gray);
	border-radius: 0;
	cursor: pointer;
}
.search-form .search-submit i{ font-size: 18px; color: var(--body); }

/* POST COMMON
----------------------*/
.post-meta .meta{ display: inline-block; margin: 0 10px 3px 0; }
.post-meta .meta i, .post-meta .meta img{ margin-right: 2px; }
.post-categories{ padding: 0; margin: 0; display: inline-block; list-style-type: none; }
.post-categories a, .post-meta .meta a, .entry-title a{ color: inherit; }
#commentform label{ position: relative; background-color: unset; color: var(--black); top: 0; left: 0; padding: 0; margin-bottom: 5px; }
#commentform .form-group{ margin-bottom: 1.5rem; }

/* WIDGET COMMON
----------------------*/
aside.sidebar .widget{ margin-bottom: 25px; }
aside.sidebar .widget ul{ margin: 0; padding: 0; list-style-type: none; }
aside.sidebar .widget ul li{ padding: 8px 0; border-bottom: 1px solid var(--gray); }

/* PAGINATION COMMON
----------------------*/
.pagination{ margin-bottom: 0; }
.pagination-wrap{ width: 100%; text-align: center; }
.page-item .page-link{ color: var(--white); background-color: #ec622c; border: 1px solid var(--gray); padding: 7px 15px; }
.page-item.active .page-link,
.page-item .page-link:hover{ color: var(--white); background-color: var(--black); border: 1px solid var(--gray); }
.page-item .page-link:focus{ box-shadow: unset; }
.page-item:first-child .page-link{ border-radius: 0	; }
.page-item:last-child .page-link{ border-radius: 0; }

/* BUTTONS 
----------------------*/
.btn{
	font-family: "Rubik", sans-serif;
	font-size: 20px;
	font-weight: 800;
	font-style: italic;
	line-height: 1;
	text-transform: uppercase;
	leading-trim: NONE;
	border-radius: 100px;
	padding: 20px 25px;
}
.btn.btn-theme{ color: var(--white); background: var(--red); border: 1px solid var(--red); }
.btn.btn-theme:hover{ color: var(--red); background: var(--light-yellow); border: 1px solid var(--light-yellow); }
.btn.focus, .btn:focus{ outline: unset; -webkit-box-shadow: unset; box-shadow: unset; }
.elementor-widget-button .elementor-button{ font-family: "Rubik", sans-serif!important; font-weight: 800!important; }

/* HEADER
----------------------*/
.admin-bar .fixed-top{ top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .fixed-top{ top: 46px; }
}

.site-header .elementor-widget-theme-site-logo a{
	position: absolute;
	top: -45px;
	left: 0; right: 0;
	margin: 0 auto;
	z-index: 2147483621;
}
.site-header .elementor-widget-theme-site-logo a:before{
	content: "";
	position: absolute;
	top: -90px; bottom: unset;
	left: 0; right: 0;
	width: 290px; height: 290px;
	margin: 0 auto;
	background-color: var(--red);
	border-radius: 100%;
	z-index: -1;
}

/* PAGE BANNER
----------------------*/
.page-banner-video{ padding: 185px 0 195px 0; }

/* HOME 
----------------------*/
.counter-sec:after{
	content: "";
	position: absolute;
	bottom: -80px; left: 0;
	width: 209px; height: 239px;
	background-image: url("/wp-content/uploads/2026/01/Shape-1.png");
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: auto;
	z-index: -1;
}
.counter-sec > div:before{
	content: "";
	position: absolute;
	bottom: -180px; right: 20%;
	width: 294px; height: 256px;
	background-image: url("/wp-content/uploads/2026/01/Shape-2.png");
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: auto;
	z-index: 1025;
}
.counter-sec .winner-box h6{ font-size: 20px!important; font-weight: 800!important; }
.counter-sec .winner-box h3{ font-size: 46px!important; }
.explore-pizzas-sec .elementor-widget-n-carousel .e-n-carousel{ overflow: visible; }
.explore-menu-sec.cs-page .ems-heading:after{ content: unset; }
.explore-menu-sec .ems-heading:after{
	content: "";
	position: absolute;
	top: -175px; left: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-3.png);
	background-repeat: no-repeat;
	background-position: top left 17%;
	background-size: 290px auto;
	z-index: 0;
}
.explore-menu-sec .ems-heading:before{
	content: "";
	position: absolute;
	top: -190px; bottom: 0;
	left: 0; right: 12%;
	width: 370px; height: 358px;
	margin: 0 0 0 auto;
	background-image: url(/wp-content/uploads/2026/01/Shape-4.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: auto;
	z-index: 0;
}
.explore-menu-sec:after{
	content: "";
	position: absolute;
	bottom: 20px; left: 0;
	width: 148px; height: 294px;
	background-image: url("/wp-content/uploads/2026/01/Shape-5.png");
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: auto;
	z-index: 0;
}
.io-boxes .elementor-widget-image-box .elementor-image-box-img{ position: relative; }
.io-boxes .elementor-widget-image-box .elementor-image-box-img:before{
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 0; right: 0;
	width: 100%; height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.7) 100%);
	border-radius: 20px;
	z-index: 1;
}
.io-boxes .elementor-widget-image-box .elementor-image-box-content{
	position: absolute;
	bottom: 0;
	left: 0; right: 0;
	width: 100%;
	padding: 10px 35px 35px 35px;
	z-index: 11;
}

.loves-pizaas-sec > div:after{
	content: "";
	position: absolute;
	top: -40px; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-6.png);
	background-repeat: no-repeat;
	background-position: top right 30px;
	background-size: auto;
	z-index: 0;
}
.loves-pizaas-sec > div:before{
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 0; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-7.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto;
	z-index: 0;
}
.loves-pizaas-sec .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{ width: 100%; }
.our-vibe-sec:after{ 
	content: "";
	position: absolute;
	top: -220px; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-8.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: auto;
	z-index: 0;
}
.our-vibe-sec > div:after{
	content: "";
	position: absolute;
	top: -30px; bottom: 0;
	left: 30px; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-9.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: auto;
	z-index: 0;
}
.our-vibe-sec > div:before{
	content: "";
	position: absolute;
	bottom: 0; left: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-1.png);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: auto;
	z-index: 0;
}
.our-pride-sec:after{ 
	content: "";
	position: absolute;
	top: -75px; right: 27%;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-10.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: auto;
	z-index: 0;
}
.our-pride-sec > div:after{
	content: "";
	position: absolute;
	top: -75px; bottom: 0;
	left: 0; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-11.png);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: auto;
	z-index: 0;
}
.cs-section > div:after{
	content: "";
	position: absolute;
	top: -150px; left: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-12.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: auto;
	z-index: 1;
}
.cs-section > div:before{
	content: "";
	position: absolute;
	top: -70px; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-13.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: auto;
	z-index: 1;
}
.our-location-sec:after{ 
	content: "";
	position: absolute;
	top: -130px; left: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-5.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: auto;
	z-index: 0;
}
.our-location-sec > div:after{
	content: "";
	position: absolute;
	top: -120px; right: 17%;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-4.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: auto;
	z-index: 0;
}
.our-location-sec > div:before{
	content: "";
	position: absolute;
	bottom: 23%; right: 0;
	width: 100%; height: 100%;
	background-image: url(/wp-content/uploads/2026/01/Shape-14.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: auto;
	z-index: 0;
}

/* FOOTER
----------------------*/

/* HOVER
----------------------*/
a, a:hover, .btn, input[type=submit]{
	cursor: pointer;
	outline: 0;
	text-decoration: none;
	transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
}

/* RESPONSIVE
----------------------*/
@media only screen and (max-width: 1399px) {
	h1, .h1{ font-size: 100px; }
	h2, .h2{ font-size: 65px; }
	h3, .h3{ font-size: 40px; }
	h4, .h4{ font-size: 38px; }
	h5, .h5{ font-size: 32px; }
	h6, .h6{ font-size: 18px; }

	.full-width-left{ flex-grow: 1!important; margin-left: calc(((100vw - 1140px) /2*-1)) !important; }
	.full-width-right{ flex-grow: 1!important; margin-right: calc(((100vw - 1140px) /2*-1)) !important; }

	.site-header .elementor-widget-theme-site-logo a:before{ left: -20px; }
	.page-banner-video{ padding: 170px 0 180px 0; }
	.counter-sec .winner-box h6{ font-size: 19px!important; }
	.counter-sec .winner-box h3{ font-size: 44px!important; }
	.explore-menu-sec .ems-heading:after{ top: -165px; background-position: top left 18%; }
	.explore-menu-sec .ems-heading:before{ top: -180px; right: 11%; }
	.explore-menu-sec:after{ bottom: 10px; }
	.io-boxes .elementor-widget-image-box .elementor-image-box-content{ padding: 10px 30px 30px 30px; }
	.loves-pizaas-sec > div:after{ top: -30px; }
	.our-vibe-sec:after{ top: -180px; }
	.our-vibe-sec > div:after{ top: -40px; left: 40px; }
	.our-pride-sec:after{ top: -70px; right: 26%; }
	.cs-section > div:after{ top: -140px; }
	.cs-section > div:before{ top: -60px; }
	.our-location-sec > div:after{ right: 16%; }
	.our-location-sec > div:before{ bottom: 22%; }
}
@media only screen and (max-width: 1199px) {
	h1, .h1{ font-size: 90px; }
	h2, .h2{ font-size: 60px; }
	h3, .h3{ font-size: 40px; }
	h4, .h4{ font-size: 38px; }
	h5, .h5{ font-size: 32px; }
	h6, .h6{ font-size: 18px; }

	.full-width-left{ flex-grow: 1!important; margin-left: calc(((100vw - 960px) /2*-1)) !important; }
	.full-width-right{ flex-grow: 1!important; margin-right: calc(((100vw - 960px) /2*-1)) !important; }

	.site-header .elementor-widget-theme-site-logo a:before{ left: -30px; width: 270px; height: 270px; }
	.page-banner-video{ padding: 155px 0 165px 0; }
	.counter-sec > div:before{ bottom: -145px; background-size: 250px auto; }
	.counter-sec .winner-box h6{ font-size: 18px!important; }
	.counter-sec .winner-box h3{ font-size: 42px!important; }
	.explore-menu-sec .ems-heading:after{ top: -140px; background-position: top left 15%; background-size: 250px auto; }
	.explore-menu-sec .ems-heading:before{ top: -170px; right: 10%; background-size: 320px auto; }
	.explore-menu-sec:after{ bottom: 0; background-size: 100px auto; }
	.io-boxes .elementor-widget-image-box .elementor-image-box-content{ padding: 10px 25px 25px 25px; }
	.loves-pizaas-sec > div:after{ top: -20px; background-size: 170px auto; background-position: top right 0px; }
	.our-vibe-sec:after{ top: -90px; background-size: 250px auto; }
	.our-vibe-sec > div:after{ top: 40px; background-size: 200px auto; }
	.our-pride-sec:after{ top: -65px; right: 25%; background-size: 250px auto; }
	.cs-section > div:after{ top: -130px; background-size: 150px auto; }
	.cs-section > div:before{ top: -60px; background-size: 250px auto; }
	.our-location-sec:after{ top: -100px; background-size: 100px auto; }
	.our-location-sec > div:after{ top: -100px; right: 15%; background-size: 320px auto; }
	.our-location-sec > div:before{ bottom: 21%; }
}
@media only screen and (max-width: 991px) {
	h1, .h1{ font-size: 80px; }
	h2, .h2{ font-size: 55px; }
	h3, .h3{ font-size: 40px; }
	h4, .h4{ font-size: 38px; }
	h5, .h5{ font-size: 32px; }
	h6, .h6{ font-size: 18px; }

	.full-width-left{ flex-grow: unset!important;  margin-left: unset!important; }
	.full-width-right{ flex-grow: unset!important; margin-right: unset!important; }

	.site-header .elementor-widget-theme-site-logo a{ position: relative; top: unset; left: unset; right: unset; margin: unset; }
	.site-header .elementor-widget-theme-site-logo a:before{ content: unset; }
	.site-header .elementor-menu-toggle{ width: 70px!important; height: 60px!important; padding: 10px 20px!important; }
	.site-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{
		padding: 40px;
		border-top: 1px solid rgba(255, 255, 255, 0.30)!important;
		background: url("/wp-content/uploads/2026/01/Menu-BG.jpg");
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: cover;
	}
	.site-header .elementor-nav-menu--dropdown .btn-menu{ padding-top: 30px; }
	.site-header .elementor-nav-menu--dropdown .btn-menu a{
		display: inline-block!important;
		width: 100%!important;
		font-family: "Rubik", sans-serif !important;
		font-size: 20px!important;
		font-weight: 800!important;
		font-style: italic!important;
		line-height: 1!important;
		text-transform: uppercase;
		border-radius: 100px!important;
		padding: 20px 25px!important;
		color: var(--red)!important;
		background: var(--white)!important;
		border: 1px solid var(--white)!important;
		text-align: center!important;
	}

	.page-banner-video{ padding: 100px 0 100px 0; }
	.counter-sec:after{
		top: -70px; right: 0;
		left: unset; bottom: unset;
		width: 273px; height: 244px;
		background-image: url("/wp-content/uploads/2026/01/Shape-10.png");
		background-position: top right;
		background-size: 200px auto;
		z-index: 1025;
	}
	.counter-sec > div:before{
		bottom: -110px; right: 0;
		width: 191px; height: 166px;
		background-image: url(/wp-content/uploads/2026/01/Shape-16.png);
		background-position: bottom right;
		background-size: 191px auto;
	}
	.counter-sec .winner-box h6{ font-size: 17px!important; }
	.counter-sec .winner-box h3{ font-size: 40px!important; }
	.explore-menu-sec .ems-heading:after{ content: unset; }
	.explore-menu-sec .ems-heading:before{ top: -100px; right: 0; background-size: 200px auto; background-repeat: no-repeat; }
	.explore-menu-sec:after{ bottom: -30px; }
	.loves-pizaas-sec > div:after{ top: -40px; background-size: 140px auto; }
	.loves-pizaas-sec > div:before{ content: unset; }
	.our-vibe-sec:after{ top: -120px; background-size: 240px auto; }
	.our-vibe-sec > div:before{ content: unset; }
	.our-vibe-sec > div:after{ content: unset; }
	.our-pride-sec:after{ top: -50px; right: 0; background-size: 200px auto; }
	.cs-section > div:after{ content: unset; }
	.cs-section > div:before{ top: -50px; background-size: 200px auto; }
	.our-location-sec:after{ content: unset; }
	.our-location-sec > div:after{ top: -50px; right: 0; background-size: 250px auto; }
	.our-location-sec > div:before{ content: unset; }
}
@media only screen and (max-width: 767px) {
	h1, .h1{ font-size: 70px; }
	h2, .h2{ font-size: 50px; }
	h3, .h3{ font-size: 40px; }
	h4, .h4{ font-size: 38px; }
	h5, .h5{ font-size: 32px; }
	h6, .h6{ font-size: 18px; }

	.site-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{ padding: 30px; }
	.page-banner-video{ padding: 80px 0 80px 0; }
	.counter-sec:after{ top: -60px; background-size: 150px auto; }
	.counter-sec .winner-box h6{ font-size: 16px!important; }
	.counter-sec .winner-box h3{ font-size: 38px!important; }
	.io-box .elementor-widget-image-box .elementor-image-box-content{ padding: 10px 30px 40px 30px; }
	.our-vibe-sec:after{ top: -100px; background-size: 220px auto; }
	.our-pride-sec:after{ background-size: 180px auto; }
	.cs-section > div:before{ top: -40px; background-size: 180px auto; }
	.our-location-sec > div:after{ top: -65px; background-size: 200px auto; }
}
@media only screen and (max-width: 575px) {
	h1, .h1{ font-size: 60px; }
	h2, .h2{ font-size: 46px; }
	h3, .h3{ font-size: 40px; }
	h4, .h4{ font-size: 38px; }
	h5, .h5{ font-size: 32px; }
	h6, .h6{ font-size: 18px; }

	.site-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{ padding: 20px 20px; }
	.page-banner-video{ padding: 80px 0 110px 0; }
	.counter-sec:after{ top: -55px; background-size: 140px auto; }
	.counter-sec .winner-box h6{ font-size: 20px!important; }
	.counter-sec .winner-box h3{ font-size: 66px!important; }
	.explore-menu-sec .ems-heading:before{ top: -105px; background-size: 180px auto; }
	.io-boxes .elementor-widget-image-box .elementor-image-box-content{ padding: 10px 25px 35px 25px; }
	.loves-pizaas-sec > div:after{ background-size: 120px auto; }
	.our-vibe-sec:after{ top: -60px; background-size: 150px auto; }
	.our-pride-sec:after{ background-size: 180px auto; }
	.cs-section > div:before{ top: -35px; background-size: 140px auto; }
	.our-location-sec > div:after{ top: -65px; background-size: 200px auto; }
}