/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* **************************************** */
/* GLOBAL STYLES */
/* **************************************** */

/* Main Colors */
 :root {
     --primary: #191818;
     --secondary: #171616;
     --text: #141313;
     --accent: #141313;
	 --brand: #EA348F;
     --brand-hover: #EE5DA5;
     --dark-1: #121111;
     --dark-2: #0f0e0e;
     --shade-1: #302f2f;
     --shade-2: #474646;
     --shade-3: #5e5d5d;
     --shade-4: #747474;
     --shade-5: #8c8c8c;
     --light-1: #f8f8f8;
     --light-2: #f2f2f2;
     --light-3: #dadada;
     --light-4: #c2c2c2;
     --light-5: #a9a9a9;
     --white: #ffffff;
     --black: #000000;
	 --opacity-3: rgba(0, 0, 0, 0.3);
	 --opacity-8: rgba(0, 0, 0, 0.8);}

/* Global Background */
body {background-color: #FFFFFF;}

/* Mouse Functions */
::selection {background-color: var(--black); color: var(--white);}

/* **************************************** */
/* TITLES */
/* **************************************** */
h1.entry-title {display:none !important;}

/* Animated Spin on Hover */
.njg-animated-spin {
    display: inline-block;
    cursor: pointer;
    transition: transform 0.3s ease-in-out;}

.njg-animated-spin:hover {
    transform: rotate(45deg) scale(1.2);}

/* Custom Cursor */
.rev-cursor {
	width: 60px;
	height: 60px;
	border-radius: 100%;
	border: 1px solid var(--primary);
	transition: all 200ms ease-out;
	position: fixed;
	pointer-events: none;
	left: 0;
	top: 0;
	transform: translate(calc(-50% + 15px), -50%);
	z-index: 999;
	overflow: hidden;}

.rev-cursor-enlarged {
	width: 400px;
	height: 400px;
	transition: all 200ms ease-out;
	background-size: cover;
	background-position: center;}

.rev-cursor-inner {
	width: 5px;
	height: 5px;
	border-radius: 100%;
	background-color: var(--primary);
	opacity: .3;
	position: fixed;
	transform: translate(-50%, -50%);
	pointer-events: none;
	transition: width .3s, height .3s, opacity .3s;
	z-index: 999;}

.rev-cursor-hover {
	background-color: none;
	opacity: 0.5;
	width: 120px;
	height: 120px;}

.rev-cursor-inner-hover {
	width: 50px;
	height: 50px;
	opacity: .5;}

.elementor-editor-active .rev-cursor {display:none;}
.elementor-editor-active .rev-cursor-inner {display:none;}

/* Ensure video is hidden when not enlarged */
.revolver-services-title-branding-box {display: none;}

.elementor-price-list-title:hover {color: var(--brand);}
.elementor-price-list .elementor-price-list-image {max-width: 5% !important;}

/* Highlight Words */
.njg-highlight-black {
  background-color: var(--black);
  color: var(--white);
  padding: 0 3px;
  display: inline-block;}

.njg-highlight-brand {
  background-color: var(--brand);
  color: var(--white);
  padding: 0 3px;
  display: inline-block;}

/* Archive Password */
#archive-password {
	color: var(--brand);
	text-decoration:underline;}

/* **************************************** */
/* MOBILE QUERIES */
/* **************************************** */
@media (max-width: 768px) {
	.rev-cursor {display:none;}
	.rev-cursor-inner {display:none;}
	.rev-cursor-enlarged {display:none;}
}

/* **************************************** */
/* FLICKITY CAROUSEL (SINGLE) */
/* **************************************** */

/* Outer carousel container (full width) */
.rs-flickity-carousel {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 1; }

/* Flickity viewport: allow side peeking */
.rs-flickity-carousel .flickity-viewport {
	overflow: visible !important; }

/* Carousel cells (slides) */
.rs-flickity-carousel .carousel-cell {
	width: 100%;
	max-width: 1140px;
	margin: 0 10px;
	box-sizing: border-box;
	display: block; }

/* Image inside slide */
.rs-flickity-carousel .carousel-cell img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px; }

/* Clear float for layout flow below */
.rs-flickity-carousel + *,
.rs-flickity-carousel-five + * {
	clear: both;
	position: relative;
	z-index: 0;
	display: block; }

/* Mobile responsiveness */
@media (max-width: 1024px) {
	.rs-flickity-carousel .carousel-cell,
	.rs-flickity-carousel-five .carousel-cell {
	  max-width: 90%;
	  margin: 0 10px;
	}
}
/* Flickity arrow buttons */
.rs-flickity-carousel .flickity-button,
.rs-flickity-carousel-five .flickity-button {
	background: #191818;
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	padding: 0;
	text-align:center;
	opacity: 1;
	transition: all 0.3s ease;
	z-index: 2; }

.rs-flickity-carousel .flickity-button svg,
.rs-flickity-carousel-five .flickity-button svg {
	width: 18px;
	fill: #fff;
	display: block;
	margin-left: auto;
	margin-right: auto; }

.flickity-prev-next-button .flickity-button-icon,
.flickity-prev-next-button-five .flickity-button-icon {
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important; }

/* Optional: hover effect */
.rs-flickity-carousel .flickity-button:hover
.rs-flickity-carousel-five .flickity-button:hover {
	background: #EA348F !important; }

/* Responsive arrow repositioning */
@media (max-width: 1024px) {
	.rs-flickity-carousel .flickity-button.previous,
	.rs-flickity-carousel-five .flickity-button.previous {
		left: 10px;
	}
	
	.rs-flickity-carousel .flickity-button.next,
	.rs-flickity-carousel-five .flickity-button.next {
	  right: 10px;
	}
}
/* **************************************** */
/* SECOND FLICKITY CAROUSEL (FIVE) */
/* **************************************** */

.rs-flickity-carousel-five {
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 1; }

.rs-flickity-carousel-five .flickity-viewport {
  overflow: visible !important; }

.rs-flickity-carousel-five .carousel-cell {
  width: 100%;
  max-width: 460px !important;  /* adjust this based on how wide you want each slide */
  margin: 0 !important;    /* adjust to space out slides */
  box-sizing: border-box;
  display: block; }


/* **************************************** */
/* PASSWORD PROTECTED PAGES */
/* **************************************** */

.post-password-form {
	margin: 50px auto;
    max-width: 380px;
	background:  var(--light-1);
	border-radius: 20px;
	padding:40px; }

.post-password-form input {
	padding: 10px !important; }

.post-password-form p {
	font-weight:normal; }

.post-password-form button {
	border: 1px solid var(--brand);
	background: var(--brand);
	color: var(--white);
	padding: 10px 25px 10px 25px !important}

.post-password-form button:hover {
	border: 1px solid var(--brand-hover);
	background: var(--brand-hover);
	color: var(--white); }



.njg-typewriter { visibility: hidden; }