@font-face {
	font-family: MontserratRegular;
	src: url(../fonts/Montserrat-Regular.ttf);
}

@font-face {
	font-family: MontserratMedium;
	src: url(../fonts/Montserrat-Medium.ttf);
}

@font-face {
	font-family: MontserratBold;
	src: url(../fonts/Montserrat-Bold.ttf);
}

@font-face {
	font-family: MontserratExtraBold;
	src: url(../fonts/Montserrat-ExtraBold.ttf);
}

@font-face {
	font-family: MontserratBlack;
	src: url(../fonts/Montserrat-Black.ttf);
}


* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	text-decoration: none !important;
	list-style: none;
	outline: none;
	font: normal 17px/25px MontserratMedium, 'Sans-serif';
	/* border: 1px saddlebrown solid !important; */
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

#mainContainer {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
}

section {
	scroll-snap-align: start;
	scroll-padding-top: 250px;
	scroll-margin-top: 155px;
}

input,
textarea,
select {
	width: 100%;
	border-color: #ddd !important;
	transition: 300ms ease-in;

	&:focus {
		border-color: #0f2962 !important;
		box-shadow: none !important;
	}
}

textarea {
    max-height: 100px;
}

input[type="checkbox"] {
	scale: 1.2;
}

img,
video,
svg {
	max-width: 100%;
	object-fit: cover;
}

.btn.btn-primary {
	background: rgb(25, 0, 60) !important;
	background: linear-gradient(45deg, rgba(25, 0, 60, 1) 0%, rgba(5, 81, 133, 1) 100%) !important;
	border-color: transparent !important;
	color: #fff !important;
	position: relative;
	overflow: hidden;
	padding: 15px 20px !important;
	min-width: 160px;
	width: auto;

	span {
		position: relative;
		z-index: 2 !important;
		color: #fff !important;
	}

	&::after {
		content: '';
		position: absolute;
		inset: 0;
		width: 0;
		height: 110%;
		background-color: transparent;
		z-index: 1;
		transition: all 450ms ease-in-out;
	}

	&:hover {
		border-color: transparent !important;
		
        span {
            color: #fff !important;
        }
        
		&::after {
			width: 100%;
			background-color: #111;
		}
	}

	&:focus {
		background-color: red !important;
		border-color: transparent !important;
		outline: none !important;
		box-shadow: none !important;
	}
}

.btn.btn-primary.mobile-btn {
	min-width: 120px !important;
	padding: 10px !important;
}

.btn.btn-primary.white {
    background: #fff !important;
    span {
        color: #000 !important;
    }
	&:hover {
        span {
            color: #fff !important;
        }
	}
}

.title {
	color: #0f2962 !important;
	font: Bold 56px/64px MontserratBold, 'Sans-serif' !important;
}

.sub-title {
	color: #48aa48 !important;
	font: normal 40px/56px MontserratRegular, 'Sans-serif' !important;
}

.paragraphs:last-child {
	margin-bottom: 0 !important;
}

header {
	background-color: #11225a !important;

	.navbar-brand img {
		max-width: 100px;
	}
    
    .menu-open-btn {
        color: #0f2962;
        size: 24px;
        transition: 300ms ease-in;
        &:hover {
            color: #0c336a;
        }
    }
    
	li a {
		color: #666 !important;
		--bs-border-color: #666 !important;
		transition: 300ms ease-in;
		position: relative;
		padding-right: .5rem !important;
        padding-left: .5rem !important;
        
		&::after {
		    content: '';
		    position: absolute;
		    inset: calc(100% + 6px) auto auto 50%;
		    transform: translateX(-50%);
		    width: 30px;
		    height: 2px;
		    scale: 0;
		    transition: 300ms ease-in;
		}

		&.active {
			color: #0f2962 !important;
			font-weight: bold;
			&::after {
    		    background-color: #0f2962;
			    scale: 1;
			}
		}

		&:hover:not(.active) {
			color: #0c336a !important;
			&::after {
			    background: #0c336a;
			    scale: 1;
			}
		}
	}

	.topbar {
		display: flex;

		a {
			color: #666 !important;
			transition: 300ms ease-in;

			i {
				color: #666 !important;
				transition: 300ms ease-in;
			}

			&:hover {
				color: #0c336a !important;

				i {
					color: #0c336a !important;
				}
			}

		}

		.social {
			a {
				width: 30px;
				height: 30px;
				padding: 0 !important;
				place-content: center;
				place-items: center;
				background-color: #003366;
				outline: 2px solid transparent;
				outline-offset: 2px;
				transition: outline 300ms ease-in-out;

				i {
					color: #fff !important;
				}

				&:hover {
					outline: 2px solid #003366;
				}
			}
		}

	}

	&.active {
		.topbar {
			display: none;
		}
	}
}

#bannerArea {
	.item {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		background-color: transparent;

		.container.position-relative {
			height: 55% !important;
		}
	}

	.text {
		width: 100%;
		max-width: 420px;
		background-color: rgba(255, 255, 255, .75);
	}
}

#aboutArea {
	img {
		min-height: 320px;
		border-radius: 10px;
	}

	p {
		margin-bottom: 10px;
	}

	ul {
		margin-bottom: 0;
		padding: 10px 0 !important;

		li {
			padding: 0 0 8px 0 !important;
			line-height: 16px !important;
			display: flex;
			align-items: center;
			gap: 10px;

			&::before {
				content: "\f058";
				font-family: "Font Awesome 5 Free";
				font-weight: 900;
				font-size: 20px;
				color: #48aa48 !important;
			}
		}
	}
	
	button {
	    .icon {
	        width: 50px;
            height: 50px;
            place-items: center;
            background: rgb(25, 0, 60) !important;
        	background: linear-gradient(45deg, rgba(25, 0, 60, 1) 0%, rgba(5, 81, 133, 1) 100%) !important;
        	transition: 150ms ease-in-out;
        	&:focus, &:hover {
        	    outline-offset: 2px;
        	    outline: 2px solid rgb(25, 0, 60);
        	}
	    }
	}
}

#highlightArea {
	background-color: rgb(230, 230, 230, .25);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;

	.listGroup {
		margin-bottom: 0 !important;

		ul {
			padding: 0 !important;
			margin: 0 !important;
			columns: 3;
			gap: 16px;

			li {
				padding: 15px !important;
				min-height: 75px !important;
				margin-bottom: 16px;
				padding: 10px 20px !important;
				break-inside: avoid;
				position: relative;
				background-color: rgba(255, 255, 255, 1);
				transition: all 300ms ease-in-out;


				span {
					position: relative;
					z-index: 1 !important;
				}

				&::before {
					content: "";
					position: absolute;
					inset: 0 auto auto 0;
					width: 5px;
					height: 100%;
					background-color: #003366;
					/* background: linear-gradient(90deg, rgba(25, 0, 60, 1) 0%, rgba(5, 81, 133, 1) 100%); */
					transition: all 300ms ease-in-out;

				}

				&:is(li:nth-child(4), li:nth-child(8), li:nth-child(12)) {
					margin-bottom: 0;
				}
			}

			li:hover {
				box-shadow: 0 15px 20px -5px rgba(0, 0, 0, 0.25);

				span {
					color: #fff !important;
				}

				&::before {
					width: 100%;
				}
			}
		}
	}
}

#amenitiesArea {
	.boxData {
		ul {
			columns: 3;
			padding: 0 !important;

			li {
				min-height: 65px;
				break-inside: avoid-column;
				margin-bottom: 16px;
				display: flex;
				align-items: center;
				gap: 12px;
				padding: 16px;
				line-height: 18px;
				box-shadow: 0 10px 10px 0 rgba(180, 170, 150, .2);
				transition: all 200ms ease-in;

				.boxCircle {
					display: block;
					transition: all 200ms ease-in;

					i {
						font-size: 16px !important;
						color: #48aa48 !important;
						padding: 0 !important;
						margin: 0 !important;
					}

					&::after {
						content: '';
						position: absolute;
						inset: 50% auto auto 50%;
						transform: translate(-50%, -50%);
						width: 40px;
						height: 40px;
						border-radius: 50%;
						z-index: -1;
						background-color: transparent;
						transition: 300ms ease-in;
					}
				}

				&:hover {
					gap: 20px;
					box-shadow: 0 10px 10px -3px rgba(180, 170, 150, .35);

					.boxCircle {
						i {
							color: #fff !important;
						}

						&::after {
							background-color: #48aa48;
						}
					}
				}
			}
		}
	}
}

#priceArea {
	/* background: transparent url('https://placehold.co/1920x420') no-repeat center center / cover; */
	background-color: #11225a;

	.priceCard {
		overflow: hidden;
		transition: all 300ms ease;

		h2 {
			color: #0f2962 !important;
		}

		.button-hover {
			position: absolute;
			inset: auto 0 0 auto;
			border: 1px solid #11225a;
			background-color: #11225a;
			width: 50px;
			height: 50px;
			border-top-left-radius: 75%;
			transition: 500ms;
			display: none;

			span {
				display: grid;
				place-items: center;
				width: 100%;
				height: 100%;
				margin: auto -5px -5px auto;

				i {
					font-size: 20px !important;
				}
			}
		}

		&:hover {
			transform: translateY(-5px);

			.button-hover {
				display: block;
			}
		}
	}
}

#calltoactionArea {
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
    min-height: fit-content;
    
	&::after {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(0, 51, 102, .95) 0%, rgba(0, 51, 102, .5) 75%);
	}

	.container {
		z-index: 2;
		min-height: 600px;
		height: min-content;

		.textBox {
			max-width: 700px;
		}
	}
}

#galleryArea {
	img {
		border-radius: 5px;
		height: 300px;
		object-fit: cover;
	}
}

#reviewArea {
	.item {
		margin-left: 1px;
		background-color: #003366;
		background: linear-gradient(180, rgba(25, 0, 60, 1) 0%, rgba(5, 81, 133, 1) 100%);
		position: relative;

		&::after {
			content: " ";
			position: absolute;
			inset: 0;
			width: 100%;
			height: 100%;
			opacity: .5;
			transform: scaleX(-1);
			background: url('https://arohideveloper.in/wp-content/themes/arohidev/images/quote.png') no-repeat 300px 150px / 100px !important;
		}

		&::before {
			content: " ";
			position: absolute;
			inset: 0;
			width: 100%;
			height: 100%;
			opacity: .5;
			transform: scaleY(-1);
			background: url('https://arohideveloper.in/wp-content/themes/arohidev/images/quote.png') no-repeat 300px 0 / 100px !important;
		}

		img {
			max-width: 120px;
			border-radius: 50%;
			aspect-ratio: 1/1;
		}

		i {
			color: #ddd !important;

			&.active {
				color: gold !important;
			}
		}

		&:hover {
			box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.25) !important;
		}
	}
}

#storyArea {
	background-color: #fff;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;

	.card {
		h3 {
			color: #003366 !important;
			font-family: MontserratMedium, 'Sans-serif';
			text-transform: capitalize;
		}
		img {
		    height: 225px;
		}
        p {
			overflow: hidden;
			display: -webkit-box;
			-webkit-line-clamp: 2;
			line-clamp: 2;
			-webkit-box-orient: vertical;
        }
		a {
			transition: 300ms ease;
			color: #0c336a !important;

			&:hover {
				&::before {
					content: "\f061";
					font-family: "Font Awesome 5 Free";
					font-weight: 900;
					font-size: 16px;
				}

				font-weight: bold;
				transform: translateX(15px);
				color: #003366 !important;
			}
		}
	}
}

#contactArea {
	iframe {
		width: 100%;
		min-height: 520px;
		border-radius: 10px;
	}
    form {
        .btn.btn-primary {
            padding: 12px 30px !important;
        }
    }
	.owl-text {
		p {
			color: #003366 !important;
			cursor: pointer;

			span {
				background-color: #003366;
				width: 35px;
				height: 35px;
				place-items: center;

				i {
					color: #fff !important;
				}
			}
		}
	}
}

footer {
	background-color: #11225a;

	.contactBox {
		.innerBox {
			background-color: #003366 !important;
		}

		span {
			min-width: 75px;
			min-height: 75px;
			place-items: center;

			&.d-block {
				background-color: #fff !important;
			}

			a {
				color: #ddd !important;

				&:hover {
					color: #fff !important;
				}
			}

			i {
				font-size: 30px !important;
				color: #003366 !important;
			}
		}
	}

	.footerMenu {
		a {
			color: #ddd !important;
			transition: 300ms ease-in;

			&:hover:not(.active) {
				color: #f0f0f0 !important;
			}

			&.active {
				color: #fff !important;
				font-weight: bold !important;
			}
		}

		&.large {
			li:first-child {
				padding-left: 0 !important;
			}

			li:last-child {
				padding-right: 0 !important;
			}
			
			li {
			    a {
			        font-size: 14px !important;
			    }
			}
		}
	}

	.footerBox {
		p,
		a {
			font-size: 14px !important;
			margin-bottom: 0;
		}
	}

	.copy p {
		font-size: 14px !important;
	}

	.social {
		a {
			width: 40px;
			height: 40px;
			border: 2px solid #ddd;
			place-items: center;
			display: grid;
			border-radius: 50%;
			transition: all 350ms ease;

			i {
				font-size: 16px;
				color: #ddd !important;
			}

			&:hover {
				scale: 1.15;
				background-color: #ddd;

				i {
					color: #0c336a !important;
				}
			}
		}
	}
}

.offcanvas {
	.btn-close:focus {
		box-shadow: none !important;
	}

	img {
		max-width: 100px !important;
	}
	.offcanvas-body {
        ul {
            padding: 10px !important;
            
        	li a {
        		padding: 8px 16px;
        		margin-bottom: 10px;
        		border-left: 2px solid transparent;
        		transition: 300ms ease-in;
        		color: #666 !important;
        
        		&:hover:not(.active) {
        			padding: 8px 20px;
        			border-left: 2px solid #0f2962;
        			color: #0f2962 !important;
        		}
        
        		&.active {
        			font-weight: bold !important;
        			padding: 8px 20px;
        			border-left: 2px solid #0c336a;
        			color: #0c336a !important;
        		}
        	}
        }
	}
}

.modal {
	.modal-body {
		.border {
			border-color: #003366 !important;
		}

		.form-check-input {
			&:focus {
				box-shadow: none !important;
				border-color: #003366 !important;
			}

			&:hover {
				border-color: #003366 !important;
			}

			&:checked {
				border-color: #003366 !important;
				background-color: #003366 !important;
			}
		}
	}
}

.scrollToTop {
	content: " ";
	width: 50px;
	height: 50px;
	background: #003366 !important;
	position: fixed;
	inset: auto 20px 20px auto;
	display: none;
	z-index: 99999;
	place-items: center;
	transition: 300ms ease-in;
	box-shadow: 0 0 10px -5px rgba(255, 255, 255, 0.25);

	svg {
		fill: #fff !important;
		transition: 300ms ease-in;
	}

	&:hover {
		background: #fff !important;
		border: 2px solid #003366 !important;

		svg {
			fill: #003366 !important;
		}
	}
}







div.wpcf7 {
    min-height: 380px !important;
}
.wpcf7-form {
    .wpcf7-response-output {
        color: red;
        padding: 0 10px;
    }
    &.sent .wpcf7-response-output {
        color: green !important;
    }
    &.failed .wpcf7-response-output {
        color: red !important;
    }
    .wpcf7-not-valid-tip {
        color: red;
        padding: 0 10px;
    }
    p {
        margin: 0 !important;
    }
    .wpcf7-response-output {
        margin: 0 !important;
        padding: 10px 0 0 0 !important;
        border: 0 !important;
    }
    .col-12.text-end {
        p {
            display: flex;
            align-items: center;
            justify-content: end;
            gap: 24px;
            .wpcf7-spinner{
                order: 0!important;
                margin: auto 20px !important;
            }
            input.wpcf7-form-control {
                order: 1;
            }
        }
    }
}

.modal {
    iframe {
        width: 100%;
        min-height: 450px;
    }
    div.wpcf7 {
        min-height: auto !important;
    }
    .wpcf7-form {
        
        p {
            
            margin: 0 !important;
        }
        .wpcf7-response-output {
            margin: 0 !important;
            padding: 10px 0 0 0 !important;
            border: 0 !important;
            text-align: center;
        }
        .col-12.text-end {
            p {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 24px;
                .wpcf7-spinner{
                    order: 1!important;
                    margin: auto 20px !important;
                }
                input.wpcf7-form-control {
                    order: 0;
                }
            }
        }
    }
}


.post-thumbnail {
    margin: 15px 0;
    img {
        width: 100% !important;
        object-fit: cover;
    }
}

.nav-links {
    display: flex;
    justify-content: space-between;
    .nav-previous,
    .nav-next {
        width: 100%;
        a {
            color: #003366!important;
            display: flex;
            gap: 15px;
            align-items: center;
            span {
                transition: 300ms ease-in-out;
            }
            &::before, &::after {
                font-family: "Font Awesome 5 Free";
                font-weight: 900;
                font-size: 18px;
                display: block;
            }
            &:hover span {
                text-decoration: underline !important;
                text-underline-offset: 5px;
                text-decoration-thickness: 2px;
            }
            span {
                font-weight: bold;
            }
        }
    }
    .nav-previous {
        a {
            justify-content: start;
            &::before {
                content: "\f177";
            }
        }
    }
    .nav-next {
        a {
            justify-content: end;
            &::after {
                content: "\f178";
            }
        }
    }
}

