* {
	margin: 0px;
	padding: 0px;
}

:root {
	--light: #fcfcfc;
	--bg:#dfdede;
	--dark: #0a0a0a;
	--pill: 200px;
	--round: 10px;
	--primary: #ffdb52;
	--borderSize: 3px;
	--iosFix: fixed;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
}

body {
	overflow-x: hidden;
	height: 100%;
}

a:any-link {
	color: var(--dark);
	text-decoration: none;
}

h1 {
	font-weight: 1000;
}

.header {
	position: fixed;
	top: 0px;
	width: 100%;
	height: 60px;
	background: rgba(0, 0, 0, 0);
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	padding: 0px 15px;
	z-index: 50;
	transition: background 0.4s ease;
}

.header.stuck {
	background: var(--primary);
	color: var(-dark);
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
}

.header.stuck a:any-link {
	color: var(--dark);
}

.header svg {
    width: auto;
    height: 20px;
    display: block;
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s, visibility 0.3s;
}

.header svg path {
	fill: var(--primary);
	transition: fill 1s ease;
}

.header.stuck svg path {
	fill: var(--dark);
}

.header.stuck .button {
	background: var(--primary);
	color: var(--dark) !important;
	box-shadow: 0px 0px 0px var(--borderSize) var(--dark);
}

.header.stuck .button:hover {
	background: var(--dark) !important;
	color: var(--light) !important;
	box-shadow: 0px 0px 0px var(--borderSize) var(--primary);
}


.header a:any-link {
	margin: 0px 10px;
	color: var(--light);
}



.dropdown.x{
    color: var(--dark) !important; /* Ensure text remains visible */
}








/* 
.dropdown a:hover {

	color: var(--dark);
} */


.menu-opener,
.menu-closer {
	display: none;
}

.button {
	font-weight: bold;
	box-sizing: border-box;
	padding: 10px 20px;
	border-radius: 100px;
	box-shadow: 0px 0px 0px var(--borderSize) var(--primary);
	color: var(--primary) !important;
	transition: all 0.4s ease;
	cursor: pointer;
	background: var(--dark);

    &.light{
        background: var(--primary);
        color: var(--dark) !important;
        box-shadow: 0px 0px 0px var(--borderSize) var(--dark);
    
    }

    &.no-border{
        box-shadow: none;
    }
}

.button:hover {
	background: var(--primary) !important;
	color: var(--dark) !important;
    box-shadow: 0px 0px 0px var(--borderSize) var(--dark);

    &.light{
        background: var(--dark) !important;
        color: var(--light) !important;
        box-shadow: 0px 0px 0px var(--borderSize) var(--primary);
    }
}

.landing {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	width: 100vw;
	color: var(--light);
	background: url("../assets/bg-opt.jpg");
	background-size: cover;
	background-attachment: scroll;
}

.landing-content {
	width: 60vw;
	text-shadow: 0px 0px 10px var(--dark);
	font-size: 1.4em;
	padding: 25px;
	box-sizing: border-box;
	border-radius: var(--round);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	animation: landAni 0.7s ease forwards;
}

@keyframes landAni {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0px);
	}
}

.landing-content .highlight{
	color: var(--primary);
}

.landing-content h1 {
	margin-bottom: 25px;
}

.landing-content p {
	margin: 10px 0px;
	line-height: 1.5em;
}

.landing-content .button {
	margin-top: 50px;
	text-shadow: none;
	align-self: flex-end;
}

#what,
#work {
	background: var(--dark);
	color: var(--light);
	min-height: 100vh;
	width: 100vw;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	font-size: 1.5em;
	box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.5);
}

#work {
	color: var(--light);
	background: var(--dark);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: unset;
}

#work section {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 25px;
    width: 1250px;
    max-width: 100%;
}

#work h2 {
	text-align: center;
	margin: 50px 10px;
}

.ig-link {
	color: var(--light) !important;
}

.what-content h2 {
	text-align: center;
	margin-bottom: 50px;
}

.what-content section {
	display: flex;
	align-items: center;
}

.what-content section .boxes {
	flex-grow: 5;
}

.what-content section .box {
	display: flex;
	align-items: center;
	border-radius: var(--round);
	box-shadow: 0px 0px 0px var(--borderSize) var(--primary);
	background: var(--primary);
	color: var(--dark);
	box-sizing: border-box;
	padding: 25px;
	margin: 25px 0px;
}

.what-content section .box img {
	width: 75px;
}

.what-content section .box > div {
	margin-left: 50px;
}

.what-content section .feature-image {
	width: 500px;
	max-width: 100%;
	height: 500px;
	object-fit: cover;
	margin-left: 50px;
	border-radius: var(--round);
}

.scroll-feature {
	height: 100vh;
	position: sticky;
	top: 0;
	overflow: hidden;
}

.scroll-feature h2 {
	color: var(--light);
	font-size: 4em;
	text-shadow: 0px 0px 50px rgba(0, 0, 0, 0.7);
	transition: opacity 0.1s linear;
}

.scroll-feature img {
	bottom: 0px;
	position: absolute;
	width: 100%;
}

.scroll-feature > div {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.before {
	background: url("../assets/before.jpg");
}

.after {
	background: url("../assets/after.jpg");
	background-attachment: var(--iosFix);
}

#why {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: var(--light);
	width: 100vw;
	min-height: 100vh;
	font-size: 1.5em;
	text-align: center;
	box-sizing: border-box;
	padding: 25px;
}

#why h2 {
	margin-bottom: 50px;
}

#image-compare {
	width: 100%;
	max-width: 700px;
}

#quote {
	min-height: 100vh;
	width: 100vw;
	background: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 25px;
	position: relative;
    scroll-padding-top: 60px;
}

#quote > div {
	width: 800px;
	max-width: 100%;
	text-align: center;
}

#quote h1 {
	color: var(--light);
	margin-bottom: 50px;
	font-size: 3em;
}

form section {
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
}

#quote .in-group {
	width: 100%;
	border: none;
	outline: none;
	margin: 10px;
	box-sizing: border-box;
	font-family: Arial, Helvetica, sans-serif;
}

#quote input,
#quote textarea {
	width: 100%;
	border: none;
	outline: none;
	padding: 10px;
	box-sizing: border-box;
	color: var(--dark);
	resize: none;
	transition: all 0.2s ease;
	font-size: 1.2em;
	opacity: 0.9;
}

#quote input:focus,
#quote textarea:focus {
	box-shadow: -5px 0px 0px var(--primary);
	resize: none;
	transition: all 0.2s ease;
	opacity: 1;
}

#quote .button {
	border: none;
	outline: none;
	background: none;
	float: right;
	margin-top: 50px;
	font-size: 1.3em;
}

.footer {
	flex-direction: column;
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 150px;
	background: var(--bg);
}

.footer a:any-link {
	font-weight: bold;
}

.footer > * {
	margin: 5px 0px;
}

.discount-banner {
    text-align: center;
    box-sizing: border-box;
    padding: 2.5em 1em 1em 1em;
    font-size: 1.25em;
    position: fixed;
    bottom: 0px;
    left: 0px;
    width: 100%;
    min-height: 100px;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.5);
    background: var(--primary);
    color: var(--dark);
    font-weight: bold;
    z-index: 20;

    &.open {
        display: flex;
        animation: bannerAni 0.5s ease both;
    }

    .buttons-inline {
        display: flex;
        gap: 1em;
        margin-top: 1em;
    }
}


.banner-close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1.5em;
    cursor: pointer;
    color: var(--dark);
}

@media screen and (max-width: 1024px) {
	.landing {
		box-sizing: border-box;
		padding: 75px 25px 75px 25px;
	}

	.landing-content {
		width: 100%;
	}

	.what {
		box-sizing: border-box;
		padding: 25px;
	}

	.what-content {
		width: 100%;
	}

	.what-content > section {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.what-content section .feature-image {
		margin-left: 0;
	}

	.what-content .feature-image {
		min-width: 100%;
	}
}

@media screen and (max-width: 768px) {
	:root {
		font-size: 12px;
	}


	.header > div {
		display: flex;
		align-items: center;
		flex-grow: 0;
		flex-shrink: 5;
		justify-content: end;
	}

	.landing-content .button {
		width: 100%;
		text-align: center;
	}

	.landing-content {
		padding: 0px;
	}

	.what-content section .box {
		flex-direction: column;
	}

	.what-content section .box > div {
		margin-left: 0;
		margin-top: 25px;
	}

	.what-content h3 {
		text-align: center;
		margin-bottom: 10px;
	}

	form section {
		flex-wrap: wrap;
	}

    #quote {
        padding-top: 100px;
    }
}

/* IOS fix: unsupported background-attachment: fixed */
@supports (-webkit-touch-callout: none) {
	:root {
		--iosFix: scroll;
	}
}


@keyframes bannerAni {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0%);
    }
}


/* navbar */
.scrolled {
    background-color: var(--primary);
	color: var(--dark) !important;
}
.header.scrolled a {
    color: black !important;
}

.header.scrolled svg path {
    fill: var(--dark); /* Darken the SVG elements */
}
.dark-logo {
    fill: #333; /* Dark color for the logo */
}

.no-click {
	pointer-events: none; /* Disables click events */
	cursor: default; /* Sets the cursor to the default arrow */
	text-decoration: none; /* Removes the underline */
	color: inherit; /* Inherits the color from the parent */
}

@media (min-width: 576px) {
	.my-nav{
		background-color:transparent
		
	}
	
    }
@media (max-width: 576px) {
	.my-nav{
		background-color: var(--dark);
		
	}
	.nav-link{
		color: var(--primary) !important;

	}
	.gg{
		margin-top: 4rem;
	}
	.nn{
		padding-top: 12rem;
	}
    }


	.navbar-nav .dropdown-menu {
		margin-top: 1rem; /* Adjust as needed */
	}
	
	/* -------------------gallery--------- */

	

	.card img {
		object-fit: cover;
		height: 150px;
	}
	
	.vvv{
		height: 100vh;
	}

	.btn-gallery{
		background-color: var(--primary);
	}

	.img-link{
		width: 100%; /* Make image take full width of the column */
		height: 200px; /* Fixed height */
		object-fit: cover; /* Ensures the image covers the entire box without distortion */
		margin-bottom: 1rem; /* Space between images */
	  }
	  .img-link2{
		width: 100%; /* Make image take full width of the column */
		height: 200px; /* Fixed height */
		object-fit: cover; /* Ensures the image covers the entire box without distortion */
		margin-bottom: 1rem; /* Space between images */
	  }
	  #modalImage {
		max-height: 500px; /* Set a maximum height */
		width: auto; /* Adjust the width automatically */
	}
	.modal-backdrop {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5); /* Adjust as needed */
		z-index: 1040; /* Above page content but below modal */
	}
	
	body.modal-open {
		overflow: hidden; /* This prevents scrolling */
	}
	.mybg{
			background-image: url('../assets/bg-opt.jpg');
			background-size: cover; /* Ensures the image covers the entire body */
			background-position: center center; /* Centers the image */
			background-attachment: fixed; /* Keeps the image fixed while scrolling */
			background-repeat: no-repeat; /* Prevents the image from repeating */
			height: 100vh; /* Ensures the body takes full height */
			margin: 0; /* Removes default margin */
		
		
	}