@import url("https://fonts.googleapis.com/css2?family=Goldman:wght@400;700&family=Rubik:wght@400;500&display=swap");

:root {
	--color-primary: #23bc23;
	--color-primary-alt: #169916;
	--color-secondary: #314131;
	--color-tertiary: #1c3e1c;
	--color-light: #ebf8ef;
	--color-gray: #d0ddd5;
	--color-tint: #1c3e1c93;
	--color-label: #445c44;
	--color-bg-main: #f6fff9;
}

body {
	font-family: "Rubik", sans-serif;
	background-color: var(--color-bg-main);
}

h2,
h6 .card-title,
.card h5 {
	color: var(--color-primary);
}

h1,
h2,
h3,
h5 {
	font-family: "Goldman", cursive;
	text-transform: uppercase;
}

main {
	overflow: hidden;
}

form .form-control {
	background-color: var(--color-gray);
}

form label {
	color: var(--color-label);
}

.navbar-brand {
	max-width: 12rem;
}

@media (max-width: 567px) {
	.navbar-brand {
		max-width: 10rem;
	}
}

/* Custom classes are below */
.nd-bg-light {
	background-color: var(--color-light);
}

.nd-bg-main {
	background-color: var(--color-bg-main);
}

.nd-text-primary {
	color: var(--color-primary);
}

.nd-text-dark {
	color: var(--color-tertiary);
}

.nd-text-darker {
	color: var(--color-secondary);
}

.hero-home {
	background: linear-gradient(45deg, var(--color-tint), var(--color-tint)),
		url("/img/hero-home.jpg");
	height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
}

.hero-about {
	background: linear-gradient(45deg, var(--color-tint), var(--color-tint)),
		url("./img/hero-about.jpg");
	height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
}

.hero-services {
	background: linear-gradient(45deg, var(--color-tint), var(--color-tint)),
		url("./img/hero-services.jpg");
	height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
}

.hero-contact {
	background: linear-gradient(45deg, var(--color-tint), var(--color-tint)),
		url("./img/hero-contact.jpg");
	height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
}

.btn-success-alt {
	background-color: var(--color-secondary);
	color: var(--color-light);
	transition: all 300ms ease;
}

.btn-success-alt:hover {
	background-color: var(--color-primary);
	color: var(--color-light);
}

.element-1 {
	position: absolute;
	bottom: -10rem;
	left: -18rem;
	width: 500px;
	z-index: -1;
}

.element-2 {
	position: absolute;
	bottom: -8rem;
	right: 0;
	width: 10rem;
}

.element-3 {
	position: absolute;
	bottom: 0rem;
	left: -30px;
	width: 10rem;
	transform: rotateZ(20deg);
}

footer {
	margin-top: 7rem;
	background-color: var(--color-bg-main);
}

.footer {
	background-image: url("./img/footer-bg.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: bottom center;
}

.footer-logo {
	width: 16rem;
	height: auto;
	position: relative;
}

@media (max-width: 567px) {
	.footer {
		background-image: url("./img/footer-bg.png");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: bottom center;
	}

	.footer-logo-nav {
		padding-left: 4rem;
		margin-top: 4rem;
	}
}

.nav-link {
	position: relative;
	text-decoration: none;
}

.nav-link:hover {
	color: var(--color-primary);
}

.nav-link::after {
	content: "";
	opacity: 0;
	transition: all 0.2s;
	border-radius: 8px;
	height: 6px;
	width: 50%;
	background-color: var(--color-primary);
	position: absolute;
	bottom: -13px;
	left: 50%;
	/* Move it to the center horizontally */
	transform: translateX(-50%);
	/* Adjust for center alignment */
	z-index: 1;
	/* Set a higher z-index to place it on top */
}

@media (max-width: 567px) {
	.nav-link::after {
		content: "";
		opacity: 0;
		transition: all 0.2s;
		border-radius: 8px;
		height: 4px;
		max-width: 35px;
		width: 50%;
		background-color: var(--color-primary);
		position: absolute;
		bottom: -8px;
		left: 6%;
		transform: translateX(-50%);
		z-index: 1;
	}
}

.nav-link:hover::after {
	opacity: 1;
}

.text-shadow {
	text-shadow: 2px 2px 1px #48de4e;
}

.element-1-lb {
	position: absolute;
	bottom: -9rem;
	left: -12rem;
	width: 500px;
	z-index: -1;
}

.element-1-rb {
	position: absolute;
	bottom: -12rem;
	right: -12rem;
	width: 500px;
	z-index: -1;
}

.element-7-lb {
	position: absolute;
	bottom: -12rem;
	left: -2rem;
	width: 10rem;
	z-index: -1;
}

.element-8-lt {
	position: absolute;
	top: -18rem;
	right: -2rem;
	width: 20rem;
	z-index: -1;
}

.element-line1 {
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: 14rem;
	z-index: -1;
}

.element-line2 {
	position: absolute;
	width: 100%;
	height: 100%;
	top: -8rem;
	z-index: -1;
}

/* Owl slider styles start here */
.owl-stage-outer {
	margin-bottom: 3rem;
}

.owl-nav,
.owl-nav button,
.owl-nav img {
	background: var(--color-secondary) !important;
}

.owl-nav {
	max-width: max-content;
	margin: 20px auto;
	padding: 0.5rem 2.5rem;
	border-radius: 20px;

	display: flex;
	gap: 1rem;
}

/* styles for slider nav icons  */
.owl-nav img {
	width: 30px;
	transition: all 300ms ease;
}

.owl-prev img:hover {
	transform: translateX(-3.8px);
}

.owl-next img:hover {
	transform: translateX(3.8px);
}

/* Owl slider styles start ends here */