@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap');

:root{
	--main-color: #8e44ad;
	--black: #222;
	--white: #fff;
	--light-black: #777;
	--light-white:fff9;
	--dark-bg: rgba(0,0,0,.7);
	--light-bg: #eee;
	--border: .1rem solid var(--black);
	--box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
	--text-shadow: 0 1.5rem 3rem rgba(0,0,0,.3);
	--site-color: #b81519;
}

*{
	font-family: 'Poppins', sans-serif;
	margin: 0; 
	padding: 0;
	box-sizing: border-box;
	outline: none; 
	border: none;
	text-decoration: none;
}

html{
	font-size: 62.5%;
	overflow-x: hidden;
}

html::-webkit-scrollbar{
	width: 1rem;
}

html::-webkit-scrollbar-track{
	background-color: var(--white);
}

html::-webkit-scrollbar-thumb{
	background-color: var(--site-color);
}

section{
	padding: 1rem 10%;
}


/* INDEX PAGE / WHY HALIFAX GROUP HEADING */
.heading-title{
	text-align: center;
	margin-bottom: .5rem;
	font-size: 4rem;
	text-transform: uppercase;
	color: var(--black);
}

.header{
	position: sticky;
	top: 0; left: 0; right: 0;
	/*z-index: 1000;*/
	background-color: var(--white);
	display: flex;
	padding-top: 2rem;
	padding-bottom: 2rem;
	box-shadow: var(--box-shadow);
	align-items: center;
	justify-content: space-between;
}

.header .logo{
	font-size: 2.5rem;
	color: var(--black);
}

.header .navbar a{
	font-size: 2rem;
	margin-left: 2rem;
	color: var(--black);
}

.header .navbar a:hover{
	color: var(--site-color); 
}

#menu-btn{
	font-size: 2.5rem;
	cursor: pointer;
	color: var(--black);
	display: none;
}


.btn{
	display: inline-block;
	background: var(--black);
	margin-top: 1rem;
	color: var(--white);
	font-size: 1.7rem;
	padding: 1rem 3rem;
	text-transform: uppercase;
}

/* INDEX PAGE 1 / START CSS CODE */
.home{
	padding: 0;
}
.home .main-pic{
	text-align: center;
	padding: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover !important;
	background-position: center !important;
	min-height: 50rem;
}

.why-halifax-explain{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 2.5rem;
	padding-top: .1rem;
}

.why-halifax-explain .content
{
	padding: 3rem 10%;
}
 
.why-Halifax .box-container{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 1.5rem;
}

.why-Halifax .box-container .box{
	padding: 3rem 2rem;
	text-align: center;
	background: var(--site-color);
	cursor: pointer;
}

why-Halifax .box-container .box:hover{
	background: var(--black);
}

.why-Halifax .box-container .box img{
	height: 6rem;
}

.why-Halifax .box-container .box h3{
	color:var(--white);
	font-size: 1.7rem;
	padding-top: 1rem;
}
/* INDEX PAGE / END CSS CODE */


/* ABOUT PAGE / START CSS CODE */
.about-us{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.about-us .image{
	flex: 1 1 15rem;
}

.about-us .image img{
	width: 100%;
}

.about-us .content{
	flex: 1 1 41rem;
	padding: 4rem;
}

.about-us .content h3{
	font-size: 3rem;
	color: var(--black);
	text-transform: uppercase;
}

.about-us .content p{
	font-size: 2rem;
	padding: 1rem 0;
	line-height: 1.5;
	color: var(--black);
}

.about-us .content li{
	font-size: 1.5rem;
	padding: 1rem 0;
	line-height: 1;
	color: var(--black);
	font-weight: bold;
}


/* SERVICES PAGE / START CSS CODE */
.heading{
	display: flex;
	text-align: center;
	padding: 2rem;
	display:list-item;
	align-items: center;
	justify-content: center;
	background-size: cover !important;
	background-position: center !important;
	min-height: 15rem;		
}

.heading h1{
	text-transform: uppercase;
	font-size: 6rem;
	color: var(--white);
	padding-top: .6rem;
}

.heading p{
	font-size: 2.5rem;
	text-transform: uppercase;
	color: var(--white);
	font-weight: bold;
}


.services{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}

.services .image{
	flex: 1 1 3.5rem;
	font-size: 1.5rem;
	padding: 2rem;
}

.services .image img{
	width: 100%;
	height: 75rem;
}


.services .content{
	flex: 1 1 4rem;
	justify-content: center;
}
/*.services .content .image{
	flex: 1 1 3.5rem;
	font-size: 1.5rem;
	padding: 2rem;
}*/

.services .content img{
	width: 100%;
	/*padding-right: 2rem;*/
}

.services p{
	font-size: 2rem;
	padding: 1rem 0;
	line-height: 1.5;
	color: var(--black);
	width: 50rem;
	text-align: center;
}

/* SERVICES PAGE / END CSS CODE */


/* PROJECTS SECTION / START CSS CODE */
.projects{
	display: flex;
	/*flex-direction: column;*/
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	/*background: var(--main-color);*/
}

.projects-heading{
	text-align: center;
	padding: 1rem;
	/*display:list-item;*/
	/*align-items: center;*/
	/*justify-content: center;*/
	background-size: cover !important;
	background-position: center !important;
	min-height: 13rem;
		
}
.projects-heading h1{
	text-transform: uppercase;
	font-size: 6rem;
	color: var(--white);
	padding-top: .6rem;
}

.projects-heading p{
	font-size: 2.5rem;
	text-transform: uppercase;
	color: var(--white);
	font-weight: bold;
	/*text-align: center;*/
}

.project-location p{
	font-size: 2rem;
	text-transform: uppercase;
	color: var(--light-black);
	font-weight: bold;
	text-align: center;
	padding-bottom: 1rem;
}

.projects-title {
	text-align:center;
	margin-bottom: 1rem;
	font-size: 4rem;
	text-transform: uppercase;	
	/*color: var(--white);*/
	padding-top: .6rem;	
}
.projects .box-container{
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
	gap: 2rem;
}

.projects .image img{
	width: 100%;
}

.projects .box-container .box{
	/*border: var(--border);*/
	box-shadow:var(--box-shadow);
	background:var(--white);
	display: none;
}

.projects .box-container .box:nth-child(1),
.projects .box-container .box:nth-child(2),
.projects .box-container .box:nth-child(3),
.projects .box-container .box:nth-child(4),
.projects .box-container .box:nth-child(5),
.projects .box-container .box:nth-child(6),
.projects .box-container .box:nth-child(7),
.projects .box-container .box:nth-child(8),
.projects .box-container .box:nth-child(9){
	display: inline-block;
}

.projects .box-container .box:hover .image img{
	transform: scale(1.1);
}

/*.projects .box-container .box .image{
	height: 30rem;
	overflow: hidden;
}*/

.projects .box-container .box .content{
	padding: 2rem;
	text-align: center;
}

.projects .box-container .box .image img{
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: .2s linear;
	
}

.projects .content{
	flex: 1 1 4rem;  
	padding: 2rem;
	background: var(--light-bg);
}

.projects .content img{
	width: 100%;
}

.projects .box-container .box .content h3{
	font-size: 2.5rem;
	color: var(--black);
}

.projects .box-container .box .content p{
	font-size: 1.5rem;
	color: var(--light-black);
	line-height: 1;
	padding: 1rem 0;
}

.projects .load-more{
	margin-top: 2rem;
	text-align: center;
}

.btn:hover{
	background: var(--site-color);
	cursor: pointer;
}

/* PROJECTS SECTION / END CSS CODE */


/* CONTACT SECTION / START CSS CODE */
.contact{
	background-size: cover;
	background-position: center;
	margin-top: 5rem;
	padding-top: 2rem;
}

.contact .box-container1{
	display: flex;
	grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
	gap: 3rem;
	/*background: var(--main-color);*/
	/*padding-left: 5rem;*/
	/*justify-content: center*/
}

.contact .box-container1 .box-address h3{
	color:var(--black);
	font-size: 3rem;
	padding-bottom: .2rem;
	text-transform: uppercase;
	padding-bottom: 1rem;
}

.contact .box-container1 .box-address{
	margin-bottom: 3rem;	
	align-items: center;
	/*background: var(--main-color);*/
}

.contact .box-address a{
	color:var(--black);
	font-size: 1.8rem;
	padding-bottom: .5rem;
	display: block;
	line-height: 2.4rem;
}

.contact .box-address span{
	color:var(--black);
	font-size: 2rem;
	padding-bottom: .5rem;
	display: block;
}

.contact .box-address span i{
	color:var(--site-color);
	padding-right: 1rem;
	transition: 1s linear;
}

.contact .box-container1 .box-address a i{
	color:var(--site-color);
	padding-right: 1rem;
	transition: 1s linear;
}

/*.contact .box-container2 h1{
	display:block;
	margin-right: 10rem;
	background: var(--main-color);
	height: 60px;
}*/

/*.contact .box-container2{
	display: flex;
	align-items: center;
}*/

/*.contact .box-container2 .heading-title{
	align-items: center;
	display: block;
}*/

.contact .book-form{
	display: flex;
	flex-direction: column;
}

.contact .box-container2 .book-form{
	width: 100%;
	justify-content: center;	
}

.contact .box-container2 .book-form{
	padding: 2rem;
	background: var(--light-bg);
	width: 60%;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
}

.contact .box-container2 .book-form .form{
	display: block;
	flex-direction: column;
	flex-wrap: wrap;
	gap:2rem;
	width: 100%;
	/*line-height: 4rem;*/
}

.contact .box-container2 .book-form .form .inputBox input{
	width: 100%;
	padding: 1.2rem 1.4rem;
	font-size: 1.6rem;
	color: var(--black);
	margin-bottom: 1.5rem;
	border: var(--border);
	border-radius: 1rem;
}

/* --------------  MESSAGE BOX STARTS HERE  ----------------------------------*/
.contact .box-container2 .book-form .form .inputBox{
	display: block;
	flex-wrap: wrap;
	gap:2rem;
	width: 100%;
	align-items: center;
	/*min-height: 30vh;*/
}

.contact .box-container2 .book-form .form .inputBox textarea::-webkit-scrollbar{
	width: 0px;
}

.contact .box-container2 .book-form .form .inputBox textarea{
	width: 100%;
	/*height: 75px;*/
	padding: 1.2rem 1.4rem;
	font-size: 1.6rem;
	color: var(--black);
	margin-bottom: 1.5rem;
	border: var(--border);
	border-radius: 1rem;
	height: 150px;
	resize: none;
}

/*.contact .box-container2 .book-form .flex .inputBox textarea:is(:focus, :valid){
	border-width: 2px;
	border-color: #4671ea;
}*/

.contact .box-container2 .book-form .form .inputBox label{
	font-size: 1.5rem;
	color: var(--light-black);
	text-transform: uppercase;
}

/*.contact .box-container2 .book-form .flex .inputBox #Name-error{
	position: absolute;
	bottom: 12px;
	right: 17px;
	font-size: 14px;
	color: var(--site-color);
}*/

.contact .box-container2 .book-form .book-form .form .inputBox span{
	position: fixed;
	bottom: 12px;
	right: 17px;
	font-size: 14px;
	color: var(--site-color);
}

/*.contact .box-container2 .book-form .flex textarea:focus{
	background: var(--black);
	color: var(--black);	
}*/

/*.contact .box-container2 .book-form .flex textarea:focus::placeholder{
	color: var(--light-whitewhite);	
}*/

/*.box-container2 .book-form .form .enter{
	display: flex;
	/*background-color: #8e44ad;

}*/

.box-container2 .book-form .form .enter .btn{
	border-radius: 30px;
	cursor: pointer;
	
}
/*.box-container2 .book-form .enter .input .btn{
	padding-left: 30px;
}*/

/* --------------  MESSAGE BOX ENDS HERE  ----------------------------------*/

/* CONTACT SECTION / END CSS CODE */



/* FOOTER SECTION / START CSS CODE */
/*.footer{
	background-size: cover;
	margin-top: 5rem;
	border-top: .1rem solid var(--site-color);
	padding-top: 2rem;
}*/
.footer{
	display: block;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 2.5rem;
	padding-top: 3rem;
	border-top: .1rem solid var(--site-color);
}

.footer .box-container{
	display: flex;
	grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
	gap: 10rem;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	/*justify-content: center;*/
	/*background-color: #8e44ad;*/
}

/*.footer .box-container .box{
	display: block;
	flex-wrap: wrap;
	justify-content: center;
}*/

.footer .box-container .box h3{
	color: var(--black);
	font-size: 2.5rem;
	padding-bottom: .2rem;
}

.footer .box-container .box a{
	color:var(--light-black);
	font-size: 1.5rem;
	padding-bottom: .5rem;
	display: block;
}

.footer .box-container .box a i{
	color:var(--site-color);
	padding-right: 1rem;
	transition: 1s linear;
}

.footer .credit{
	display: flex;
	padding-top: 3rem;
	margin-top: 3rem;
	justify-content: center;
	border-top: .1rem solid var(--site-color);
	font-size: 1.2rem;
	color:var(--black); 
}

.footer .credit span{
	color:var(--black);
	display: block;
}
/* FOOTER SECTION / END CSS CODE */

.alert-success{
	z-index: 1; 
	background: #d4edda;
	font-size: 14px;
	font-weight: 700;
	padding: 20px 40px;
	width: 100px;
	border-left: 8px solid #3ad66e;
	border-radius: 4px;
}

.alert-error{
	z-index: 1; 
	background: #fff3cd;
	font-size: 14px;
	font-weight: 700;
	padding: 20px 40px;
	width: 100px;
	border-left: 8px solid #ffa502;
	border-radius: 4px;
}










/* media queries */

@media (max-width: 1200px){

	section{
		padding: 3rem 5%;
	}
}

@media (max-width: 991px){

	html{
		font-size: 55%;
	}

	section{
		padding: 3rem 2rem;
	}
}

@media (max-width: 768px){

	#menu-btn{
		display: inline-block;
		transition: .2s linear;
	}

	#menu-btn.fa-times{
		transform: rotate(180deg);
	}

	.header .navbar{
		position: absolute;
		top: 99%; left: 0; right: 0;
		background-color: var(--white);
		border-top: var(--border);
		padding: 2rem;
		transition: .2s linear;
		clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
	}
	.header .navbar.active{
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}

	.header .navbar a{
		display: block;
		margin: .5rem;
		text-align: center;
	}
}

@media (max-width: 450px){

	html{
		font-size: 50%;
	}

	.heading{
		text-align: center;
		margin-bottom: 3rem;
		font-size: 6rem;
	}
	.heading{
		font-size: 3.5rem;
	}
	
}