/*====================== Google fonts ========================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

/*====================== web fonts =========================*/
@font-face {
	font-family: 'Product Sans';
	src: url('../webfonts/ProductSans-Black.eot');
	src: url('../webfonts/ProductSans-Black.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/ProductSans-Black.woff2') format('woff2'),
		url('../webfonts/ProductSans-Black.woff') format('woff'),
		url('../webfonts/ProductSans-Black.ttf') format('truetype'),
		url('../webfonts/ProductSans-Black.svg#ProductSans-Black') format('svg');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Product Sans';
	src: url('../webfonts/ProductSans-Italic.eot');
	src: url('../webfonts/ProductSans-Italic.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/ProductSans-Italic.woff2') format('woff2'),
		url('../webfonts/ProductSans-Italic.woff') format('woff'),
		url('../webfonts/ProductSans-Italic.ttf') format('truetype'),
		url('../webfonts/ProductSans-Italic.svg#ProductSans-Italic') format('svg');
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Product Sans';
	src: url('../webfonts/ProductSans-Bold.eot');
	src: url('../webfonts/ProductSans-Bold.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/ProductSans-Bold.woff2') format('woff2'),
		url('../webfonts/ProductSans-Bold.woff') format('woff'),
		url('../webfonts/ProductSans-Bold.ttf') format('truetype'),
		url('../webfonts/ProductSans-Bold.svg#ProductSans-Bold') format('svg');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Product Sans';
	src: url('../webfonts/ProductSans-Regular.eot');
	src: url('../webfonts/ProductSans-Regular.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/ProductSans-Regular.woff2') format('woff2'),
		url('../webfonts/ProductSans-Regular.woff') format('woff'),
		url('../webfonts/ProductSans-Regular.ttf') format('truetype'),
		url('../webfonts/ProductSans-Regular.svg#ProductSans-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Product Sans';
	src: url('../webfonts/ProductSans-Medium.eot');
	src: url('../webfonts/ProductSans-Medium.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/ProductSans-Medium.woff2') format('woff2'),
		url('../webfonts/ProductSans-Medium.woff') format('woff'),
		url('../webfonts/ProductSans-Medium.ttf') format('truetype'),
		url('../webfonts/ProductSans-Medium.svg#ProductSans-Medium') format('svg');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Product Sans';
	src: url('../webfonts/ProductSans-Light.eot');
	src: url('../webfonts/ProductSans-Light.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/ProductSans-Light.woff2') format('woff2'),
		url('../webfonts/ProductSans-Light.woff') format('woff'),
		url('../webfonts/ProductSans-Light.ttf') format('truetype'),
		url('../webfonts/ProductSans-Light.svg#ProductSans-Light') format('svg');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Steelfish Eb';
	src: url('../webfonts/SteelfishEb-Italic.eot');
	src: url('../webfonts/SteelfishEb-Italic.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/SteelfishEb-Italic.woff2') format('woff2'),
		url('../webfonts/SteelfishEb-Italic.woff') format('woff'),
		url('../webfonts/SteelfishEb-Italic.ttf') format('truetype'),
		url('../webfonts/SteelfishEb-Italic.svg#SteelfishEb-Italic') format('svg');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Steelfish Eb';
	src: url('../webfonts/SteelfishEb-Regular.eot');
	src: url('../webfonts/SteelfishEb-Regular.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/SteelfishEb-Regular.woff2') format('woff2'),
		url('../webfonts/SteelfishEb-Regular.woff') format('woff'),
		url('../webfonts/SteelfishEb-Regular.ttf') format('truetype'),
		url('../webfonts/SteelfishEb-Regular.svg#SteelfishEb-Regular') format('svg');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/*====================== Basic css ========================*/
@-ms-viewport {
	width: device-width;
}

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-ms-overflow-style: scrollbar;
	font-size: 0.521vw;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	scroll-behavior: unset;

	/* fonts */
	--noto-sans: "Noto Sans", sans-serif;
	--steelfish-eb: 'Steelfish Eb';
	--product-sans: 'Product Sans';

	/* color */
	--white: #FFF;
	--black: #000;
	--dark: #383838;
	--dark-light: #444444;
}

html,
body,
header,
footer,
main,
nav,
section,
div,
menu,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
strong,
i,
ol,
ul,
li,
form,
label,
button {
	margin: 0;
	padding: 0;
}

ol,
ul {
	list-style: none;
}

button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus {
	outline: none;
}

a {
	text-decoration: none;
	color: inherit;
	transition: 0.2s all ease;
	-webkit-transition: 0.2s all ease;
	-moz-transition: 0.2s all ease;
}

a:visited,
a:hover,
a:active {
	text-decoration: none;
}

img {
	max-width: 100%;
	vertical-align: middle;
}


/* body */
body {
	font-family: var(--noto-sans), sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	background: var(--dark-light);
	color: var(--white);
}

/*====================== main_wrapper start ========================*/
.main_wrapper {
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: flex-start;
}

.sidebar {
	width: 37rem;
	min-height: 100vh;
	flex-shrink: 0;
	background: var(--dark);
}

.content_wrapper {
	width: calc(100% - 37rem);
	min-height: 100vh;
	flex-grow: 1;
	background: var(--dark-light);
}

.social {
	width: 32rem;
	margin: 1rem auto 0 auto;
	text-align: center;
	vertical-align: middle;
}

.links {
	width: 17%;
	padding: 1rem;
}

.email {
	width: 20%;
	padding: 1rem;
}

.sidebar ul {
	width: 37rem;
	height: 100vh;
	flex-shrink: 0;
	background: var(--dark);
	padding: 5rem 0rem;
	position: fixed;
	z-index: 1024;
	overflow-y: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.sidebar ul::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
	background: transparent;
}

.sidebar ul li a {
	background: transparent;
	display: block;
	text-align: center;
	padding: 2rem 1rem;
	transition: 0.2s all ease;
}

.sidebar ul li a img {
	max-width: 100%;
}

.sidebar ul li a:hover,
.sidebar ul li a.active {
	background: var(--dark-light);
}

.sidebar ul li a.active img {
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2207%) hue-rotate(17deg) brightness(109%) contrast(96%);
}

.sidebar ul li .phone_number {
	padding: 2rem 1rem;
	text-align: center;
}

.rjholiday {
	width: 27rem;
	display: block;
	margin: 0 auto;
	position: relative;
	left: 10px;
}

.line {
	width: 13rem;
	display: block;
	margin: 0 auto;
	text-align: center;
}

.sidebar ul li:first-child {
	text-align: center;
}

.sidebar ul li .side_img1 {
	width: 23rem;
}

.sidebar ul li a:has(.copacetic) {
	padding: 1rem 0 !important;
}

.sidebar ul li a:has(.hash) {
	padding: 2.5rem 0 3rem 0 !important;
}

.sidebar ul li a .side_img2 {
	width: 23rem;
}

.sidebar ul li a .copacetic {
	width: 25rem;
	padding-left: 1rem;
}

.sidebar ul li a .side_img3 {
	width: 23rem;
}

.sidebar ul li a .side_img4 {
	width: 23rem;
}

.sidebar ul li a .side_img5 {
	width: 23rem;
}

.sidebar ul li a .side_img6 {
	width: 23rem;
}

.sidebar ul li a .side_img7 {
	width: 23rem;
}

.sidebar ul li a .side_img8 {
	width: 23rem;
}

.sidebar ul li a .side_img9 {
	width: 23rem;
}

.wrapper_text {
	padding-left: 6.5rem;
	padding-top: 2em;
}

.wrapper_text p {
	font-size: 4.2rem;
	font-weight: 500;
	color: #FF3586;
}

.wrapper_text p strong {
	font-weight: 900;
}

.swiper {
	width: 100%;
	height: 100%;
	position: relative !important;
}

.slider_wraper {
	padding: 0 5.5rem;
	position: relative !important;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.swiper.brands_slider,
.swiper.brands_slider>.swiper-wrapper,
.swiper.brands_slider>.swiper-wrapper>.swiper-slide {
	min-height: 100vh !important;
	flex-grow: 1;
}

/* FIXED SWIPE BUTTON POSITIONING */
.slider_wraper .swiper-button-next,
.slider_wraper .swiper-button-prev,
.swiper .swiper-button-next,
.swiper .swiper-button-prev {
	position: absolute !important;
	top: 37rem !important;
	bottom: auto !important;
	margin-top: 0 !important;
	transform: none !important;
	-webkit-transform: none !important;
	z-index: 999 !important;
}

.slider_wraper .swiper-button-prev,
.swiper .swiper-button-prev {
	width: 2.6rem !important;
	left: 2.5rem !important;
	right: auto !important;
}

.slider_wraper .swiper-button-next,
.swiper .swiper-button-next {
	width: 3.5rem !important;
	right: 3.5rem !important;
	left: auto !important;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	display: none !important;
}

.swiper-button-prev img,
.swiper-button-next img {
	width: 3.5em;
	display: block;
}

.swiper-button-prev .left_arrow {
	transform: rotate(-180deg);
}

.swiper-button-disabled {
	opacity: 0 !important;
}

.wrapper_title {
	margin-top: 2rem;
	margin-left: 1rem;
}

.wrapper_title img {
	width: 82rem;
}

.price_item {
	padding-left: 6.5rem;
	display: flex;
	align-items: center;
	gap: 6rem;
	padding-top: 5rem;
}

.price_item img {
	width: 30rem;
}

.price_item ul li {
	font-family: var(--product-sans), sans-serif;
	font-size: 4.6rem;
	font-weight: 700;
	line-height: 1.14;
	color: #90ff88;
	padding-left: 4.2rem;
	position: relative;
}

.price_item ul li::before {
	content: "";
	width: 2.5rem;
	height: 2.5rem;
	display: block;
	background: #90ff88;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.logos_wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-height: 94rem;
	padding: 10rem 0;
}

.splash {
	width: 55%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin-right: 15rem;
}

.hash-splash {
	width: 62%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin-right: 30rem;
	margin-bottom: 10rem;
}

.hash_slide1 {
	width: 65%;
	height: 100%;
	display: block;
	align-items: center;
	justify-content: center;
	margin-right: 17rem;
}

.hash_slide2 {
	width: 60%;
	height: 100%;
	display: block;
	align-items: center;
	justify-content: center;
	margin-right: 10rem;
}

.hash_slide4 {
	width: 60%;
	height: 100%;
	display: block;
	align-items: center;
	justify-content: center;
	margin-right: 20rem;
	margin-bottom: 15rem;
}

.hash_slide5 {
	width: 75%;
	height: 100%;
	display: block;
	align-items: center;
	justify-content: center;
	margin-right: 10rem;
}

.hash_slide3 {
	width: 60%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: calc(50% - 5rem);
	transform: translateX(-50%);
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.hash_slide3 img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* Specific fix for hash4.png and hash5.png to add top padding without overflowing a flex container */
.hash_slide3 img[src="img/hash4.png"],
.hash_slide3 img[src="img/hash5.png"] {
	padding: 10rem 0 0 0;
	/* Because global CSS uses box-sizing: border-box, padding shrinks the image 
	   inward rather than expanding the 100% max-height, preventing top cutoff! */
}

.brand_logo {
	width: 70%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0rem 2rem;
	margin-left: auto;
	margin-right: auto;
}

.brand_logo img {
	width: 100%;
}

.brand_logo1 {
	width: 85%;
}

.brand_logo2 {
	width: 36%;
}

.brand_logo3 {
	width: 70%;
}

.brand_logo4 {
	width: 70%
}

.brand_logo5 {
	width: 85%
}

.brand_logo6 {
	width: 70%
}

.brand_logo7 {
	width: 70%
}

.brand_logo8 {
	width: 70%
}

.brand_logo9 {
	width: 47%
}

.brand_logo10 {
	width: 70%
}

.brand_logo11 {
	width: 75%
}

.brand_logo12 {
	width: 80%
}

.brand_logo13 {
	width: 80%
}

.brand_logo14 {
	width: 70%
}

.brand_logo15 {
	width: 80%
}

/*===================== mobile_version start =======================*/
.mobile_version {
	background: var(--dark-light);
	padding: 5rem 2.4rem 2rem;
	display: none;
	position: relative;
	transition: opacity 0.3s ease;
}

.mobile_hash {
	background: #515151;
	padding: 0;
	margin: 0;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	position: static !important;
}

.brands_header {
	display: flex;
	align-items: center;
	padding: 0rem 0.5rem;
}

.back_btn a {
	background: transparent;
	border: none;
	outline: none;
	padding: 0;
	z-index: 9;
	cursor: pointer;
}

.back_btn a img {
	width: 2rem;
}

.brands_logo2 {
	margin: 0 15px;
}

.brands_logo2 img {
	width: 29rem;
	display: block;
	margin: 0 auto;
}

.mobile_version .wrapper_title {
	margin: 2.8rem 0rem;
	margin-left: 1rem;
}

.mobile_version .wrapper_title img {
	width: 68rem;
}

.mobile_version .wrapper_text {
	padding: 0rem 2rem;
}

.mobile_version .wrapper_text p {
	font-size: 2.5rem;
}

.mobile_version .wrapper_text p br {
	display: none;
}

.mobile_version .price_item {
	padding: 3.6rem 2rem 3rem;
	gap: 3rem;
}

.mobile_version .price_item img {
	width: 22rem;
}

.mobile_version .price_item ul li {
	font-size: 3.4rem;
	padding-left: 2.5rem;
}

.mobile_version .price_item ul li::before {
	width: 1.5rem;
	height: 1.5rem;
}

.contact_text {
	width: 50rem;
	display: block;
	margin: 15px 25px 30px 25px;
	text-align: center;
}

.contact_text img {
	width: 50rem;
	display: block;
	margin: 0;
}

.down {
	width: 5rem;
	display: block;
	text-align: center;
	margin: 50px auto 0 auto;
}

.mobile_logos {
	padding: 1rem 0rem 0rem;
	text-align: center;
}

.authority {
	padding: 0 5rem 5rem 5rem;
	text-align: center;
}

.call {
	width: 5rem;
	position: absolute;
	top: 3rem;
	right: 3rem;
}

.mobile_logos img {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.mobile_logos .logo {
	margin-bottom: 2rem;
}

.sidebar ul li a .side_im2mobile {
	display: none;
}

.sidebar ul .group_chat_item {
	display: none;
}

.sidebar ul .group_chat_item a .side_group {
	width: 23rem;
}

/* HASH mobile images */
.mobile_hash>img,
.mobile_hash>a,
.mobile_hash>a img {
	display: block;
	width: 100%;
	height: auto;
}

/* HASH-4 swiper */
.hash4-scene {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	line-height: 0;
}

.hash4-bg {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

.hash4-overlay {
	position: absolute;
	inset: 0;
	z-index: 5;
}

.hash4-phone-swiper {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 6;
	transform: translateY(-30px);
	overflow: visible !important;
}

.hash4-phone-swiper .swiper-wrapper {
	height: 100%;
	align-items: center;
}

/* 🔥 KEY FIX: slide and image SAME width logic */
.hash4-phone-swiper .swiper-slide {
	width: 56%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 🔥 KEY FIX: do NOT overshrink inside slide */
.hash4-phone-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
}

.hash4-phone-swiper .swiper-button-next,
.hash4-phone-swiper .swiper-button-prev,
.hash4-phone-swiper .swiper-pagination {
	display: none !important;
}

/* copy phone number */
.phone_number {
	position: relative;
}

.copy-message {
	position: absolute;
	top: 90%;
	left: 50%;
	transform: translateX(-50%);
	background-color: #4caf50;
	color: #fff;
	padding: 0.6rem 1.2rem;
	border-radius: 0.4rem;
	font-size: 1.4rem;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	white-space: nowrap;
	z-index: 9;
}

.copy-message.show {
	opacity: 1;
}

.contact_text .copy-message {
	top: 110%;
}

.content_wrapper iframe {
	width: 100%;
	height: 100vh;
	border: none;
	box-shadow: none;
	outline: none;
}