@import '_colors';
@import 'custom_fonts';

*, *:before, *:after {
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
}
    
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
  
a {
	color: inherit;
	text-decoration: none;
}
    
html, body {
	font-family: open-sans;

	&.non-scrollable {
		overflow: hidden;
	}
}

mark {
	background-color: transparent;
}

.temp-intro,
.temp-end {
	background-color: $dark_brown;
	display: flex;
	justify-content: space-between;
	padding: 15px 0;
	color: $dark_gray;
	font-size: $other_size;

	.temp-name {
		margin-left: 80px;

		@media screen and (max-width: 1024px) {
			margin-left: 20px;
		}

		mark {
			color: white;
		}
	}

	.temp-social {
		display: flex;
		margin-right: 80px;

		@media screen and (max-width: 1024px) {
			margin-right: 20px;
		}

		li {
			list-style: none;
			align-self: center;
			padding: 0 10px;
			font-size: 12px;
		}
	}

	small {
		font-size: $other_size;

		@media screen and (max-width: 1024px) {
			display: block;
			text-align: center;
			padding: 5px 0;
		}

		&:first-child {
			margin-left: 80px;

			@media screen and (max-width: 1024px) {
				margin: 0;
			}
		}

		&:last-child {
			margin-right: 80px;

			@media screen and (max-width: 1024px) {
				margin: 0;
			}
		}

		mark {
			color: $light_gray;
		}
	}

}

.temp-end {

	@media screen and (max-width: 1024px) {
		display: block
	}
}

#page-header {
	display: flex;
	justify-content: space-around;
	height: $header_height;
	position: sticky;
	top: 0;
	left: 0;
	background-color: white;
	z-index: 5;
	transition: height 500ms linear;

	@media screen and (max-width: 1024px) {
		height: $header_height_scroll;
	}

	&.minimize {
		height: $header_height_scroll;
		padding: 10px 0;
	}

	.temp-brand {
		display: flex;
		align-self: center;
		width: 25%;
		justify-content: center;

		figure {
			margin-right: 15px;

			img {
				width: 100%;
			}
		}

		h1 {
			font-size: $heading_size;
			align-self: center;
			letter-spacing: -0.65px;
			font-family: 'Archivo Black', sans-serif;

			mark {
				color: $blue;
			}
		}
	}

	#desktop-navigation-menu {
		width: 50%;
		align-self: center;

		@media screen and (max-width: 1024px) {
			display: none;
		}

		ul {
			display: flex;
			justify-content: space-between;

			li {
				list-style: none;
				font-weight: bold;
				color: $brown;

				&.active {
					color: $blue;
				}
			}
		}
	}

	#mobile-hamburger-menu {
		display: none;
		position: relative;
		height: 25px;

		&.active {

			.icon-line {

				&:nth-child(1) {
					transform: rotate(45deg) translate(2px, 10px);
					top: 0;
				}
	
				&:nth-child(2) {
					opacity: 0;
				}
	
				&:nth-child(3) {
					transform: rotate(-45deg) translate(4px, -12px);
					bottom: 0;
				}
			}
		}

		@media screen and (max-width: 1024px) {
			display: block;
			align-self: center;
		}

		.icon-line {
			display: inline-block;
			width: 35px;
			height: 5px;
			background-color: black;
			position: absolute;
			transition: transform 500ms ease;

			&:nth-child(1) {
				top: 0;
			}

			&:nth-child(2) {
				top: 50%;
				transform: translateY(-50%);
				background-color: $blue;
			}

			&:nth-child(3) {
				bottom: 0;
			}
		}
	}
}

#mobile-nav-menu {
	display: none;

	@media screen and (max-width: 1024px) {
		display: block;
		height: 0;
		overflow: hidden;
		position: sticky;
		top: 10vh;
		z-index: 5;
		background-color: white;
		transition: height 500ms ease;

		&.show {
			height: 90vh;

			ul {
				margin-top: 50px;
			}

			li {
				opacity: 1;
			}
		}

		ul {

			li {
				list-style: none;
				font-size: $heading_size;
				text-align: center;
				padding: 10px 0;
				opacity: 0;
				transition: opacity 500ms ease;
			}
		}
	}
}

.temp-contact-info {
	background-color: $white_shade;
	border-top: 1px solid $light_gray;
	color: $brown;

	ul {
		display: flex;
		width: 80%;
		margin: 0 auto;

		@media screen and (max-width: 1024px) {
			width: 100%;
		}

		.owl-item {

			img {
				width: 10%;
			}
		}

		li {
			list-style: none;
			border-left: 2px solid $light_gray;
			font-size: $other_size;
			display: flex;
			justify-content: center;
			width: 35%;
			padding: 20px 0;

			@media screen and (max-width: 1024px) {
				width: 101%;
			}

			&:last-child {
				border-right: 2px solid $light_gray;
			}

			img {
				width: 10%;
				align-self: center;
				margin-right: 20px;
			}

			.contact-content {
				font-weight: bold;

				span {
					display: block;

					&:last-child {
						color: $blue;
					}
				}

				a {
					display: block;
					color: $blue;
				}
			}
		}
	}
}

section {

	h3 {
		font-size: $heading_size;
		font-family: 'Archivo Black', sans-serif;
		line-height: 1.2;
		color: $dark_brown;

		@media screen and (max-width: 1024px) {
			text-align: center;
		}

		mark {
			color: $blue;
		}
	}

	p {
		color: $dark_gray;
		font-size: $paragraph_size;
	}

	figure {
		width: 50%;

		img {
			width: 100%;
			height: 100%;
		}
	}

	.description {
		width: 50%;
		align-self: center;

		@media screen and (max-width: 1024px) {
			width: 100%;
		}

		p {
			line-height: 1.8;
		}
	}
}

#home {
	box-shadow: 0 8px 20px -6px $gray;
	display: flex;

	@media screen and (max-width: 1024px) {
		flex-direction: column;
	}

	p {
		padding: 30px 0;
		width: 75%;

		@media screen and (max-width: 1024px) {
			margin: 0 auto;
		}
	}

	figure {
		opacity: 1;
		transition: opacity 500ms ease;

		@media screen and (max-width: 1024px) {
			width: 100%;
			margin-top: 30px;
		}

		&.hide {
			opacity: 0;
		}
	}

	.description {
		overflow-x: hidden;

		p,
		button {
			position: relative;
			left: 0;
			opacity: 1;
			transition: left 500ms ease, opacity 500ms ease;
		}

		h3 {
			opacity: 1;
			left: 0;
			position: relative;
			transition: left 500ms ease, opacity 500ms ease;

			@media screen and (max-width: 1024px) {
				position: absolute;
				left: 50%;
				width: 100%;
				transform: translateX(-50%);
			}
		}

		p {
			transition-delay: 500ms;
		}

		button {
			transition-delay: 1000ms;
		}
		

		&.hide {
			
			h3,
			p,
			button {
				left: 10%;
				opacity: 0;
			}
		}
	}

	button {
		border: none;
		background-color: $blue;
		color: white;
		padding: 10px 18px;
		outline: none;
		cursor: pointer;

		@media screen and (max-width: 1024px) {
			display: block;
			margin: 0 auto;
			margin-bottom: 40px;
		}

		.fas {
			padding-left: 12px;
			font-size: 14px;
			position: relative;
			left: 0;
			transition: left 500ms ease;
		}

		&:hover {

			.fas {
				left: 10px;
			}
		}
	}
}

#home, 
#about {
	position: relative;

	@media screen and (max-width: 1024px) {
		padding-top: 100px;
	}

	h3 {

		@media screen and (max-width: 1024px) {
			position: absolute;
			top: 35px;
			left: 50%;
			transform: translateX(-50%);
			width: 100%;
		}
	}
}

#about {
	background-color: $lightest_gray;
	display: block;
	margin-bottom: 225px;

	@media screen and (max-width: 1024px) {
		margin-bottom: 50px;
	}

	.wrapper {
		width: 85%;
		margin: 0 auto;
		display: flex;
		justify-content: space-around;

		@media screen and (max-width: 1024px) {
			flex-direction: column-reverse;
			padding-bottom: 30px;
		}
	}

	figure {
		width: 35%;
		position: relative;
		left: 8%;
		opacity: 0;
		transition: left 1000ms ease, opacity 1000ms ease;

		&.show {
			left: 0;
			opacity: 1;
		}

		@media screen and (max-width: 1024px) {
			width: 100%;
			display: block;
			margin: 0 auto;
		}

		img {
			transform: scale(1.2);
			top: 25%;
			position: relative;
			width: 100%;

			@media screen and (max-width: 1024px) {
				transform: scale(1);
			}
		}
	}

	.description {
		opacity: 0;
		transition: opacity 1000ms ease;

		&.show {
			opacity: 1;
		}
	}

	p {
		padding: 14px 0;

		&:nth-of-type(1) {
			font-style: italic;
			font-weight: bold;
			color: black;
		}
	}
}

#service {
	display: block;

	h3 {
		text-align: center;
	}

	p {
		width: 50%;
		margin: 0 auto;
		text-align: center;
		padding: 20px 0 40px;
		line-height: 1.8;

		@media screen and (max-width: 1024px) {
			width: 90%;
		}
	}

	.owl-service {
		width: 85%;
		margin: 0 auto;
		display: block;

		@media screen and (max-width: 1024px) {
			width: 100%;
		}

		li {
			list-style: none;
			background-color: $lightest_gray;
			width: 90%;

			.inner-contents {
				padding-top: 20px;

				img {
					width: 50px;
					height: 50px;
					display: block;
					margin: 0 auto;
					padding-top: 20px;
				}

				p {
					width: 100%;
				}

				.title {
					text-align: center;
					padding-top: 20px;
					color: $dark_brown;
					font-size: $other_size;
					font-weight: bold;
				}
			}
		}
	}

	.service-carousel-btn {
		margin: 20px auto;
		text-align: center;
		padding: 20px 0;
	
		i {
			font-size: 16px;
			padding: 0 10px;
			color: $blue;
			cursor: pointer;
		}
	}
}

#testimonial {
	background-color: $lightest_gray;
	padding: 20px 0;

	h3 {
		text-align: center;
		padding: 20px 0;
	}

	p {
		text-align: center;
		width: 50%;
		margin: 0 auto;

		@media screen and (max-width: 1024px) {
			width: 90%;
		}
	}

	.owl-testimonial {
		width: 80%;
		margin: 0 auto;

		@media screen and (max-width: 1024px) {
			width: 100%;
		}

		.owl-item-testimonial {
			display: flex;
			width: 95%;
			background-color: white;
			margin: 50px auto;

			@media screen and (max-width: 1024px) {
				width: 90%;
			}

			figure {
				width: 250px;

				@media screen and (max-width: 1024px) {
					width: 350px;
				}

				img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}

			.description {
				margin: 0 20px;
				padding: 10px 0;

				.person-name,
				.person-info {
					font-size: $other_size;
					font-weight: bold;
				}

				.person-info {
					padding: 2px 0;
					color: $dark_gray;
				}

				.person-name {
					color: $blue;
					padding-top: 20px;
				}

			}

			blockquote {
				font-size: $paragraph_size;
				color: $dark_gray;
				font-weight: bold;
				line-height: 1.8;
			}
		}
	}

	.testimonial-carousel-btn {
		text-align: center;
		padding-bottom: 30px;

		i {
			padding: 10px;
			background-color: $light_gray;
			color: $brown;
			margin: 0 8px;
			cursor: pointer;
		}
	}
}

#enquiry {
	background: linear-gradient($blue, $dark_blue);

	h3 {
		text-align: center;
		color: white;
		padding: 60px 0 30px;
	}

	p {
		width: 50%;
		margin: 0 auto;
		text-align: center;
		color: $white_shade;
		line-height: 1.8;

		@media screen and (max-width: 1024px) {
			width: 90%;
		}
	}

	form {
		
		fieldset {
			border: none;
			width: 35%;
			margin: 0 auto;
			padding: 30px 0;

			@media screen and (max-width: 1024px) {
				width: 90%;
			}

			input {
				background-color: transparent;
				border: 2px solid white;
				padding: 8px 18px;
				clear: both;
				width: 48%;
				margin: 10px 0;

				&:nth-child(even) {
					float: right;
				}
			}

			::-webkit-input-placeholder { 
				color: $white_shade;

				@media screen and (max-width: 1024px) {
					padding-left: 13px;
				}
			}

			::-moz-placeholder { 
				color: $white_shade;

				@media screen and (max-width: 1024px) {
					padding-left: 13px;
				}
			}

			:-ms-input-placeholder { 
				color: $white_shade;

				@media screen and (max-width: 1024px) {
					padding-left: 13px;
				}
			}

			:-moz-placeholder { 
				color: $white_shade;

				@media screen and (max-width: 1024px) {
					padding-left: 13px;
				}
			}

			textarea {
				background-color: transparent;
				border: 2px solid white;
				width: 100%;
				padding: 8px;
				font-family: open-sans;
			}

			button {
				display: block;
				margin: 20px auto;
				padding: 8px 18px;
				width: 40%;
				background-color: transparent;
				border: none;
				border: 2px solid white;
				color: white;
				font-size: $other_size;
			}
		}
	}
}

#contact {
	padding: 30px 0;

	h3 {
		text-align: center;
		padding: 10px 0 20px;
	}

	p {
		width: 50%;
		margin: 0 auto;
		text-align: center;
		line-height: 1.8;

		@media screen and (max-width: 1024px) {
			width: 90%;
		}
	}

	.inner-container {
		display: flex;
		width: 85%;
		margin: 40px auto;
		padding: 20px 0;
		justify-content: space-between;

		@media screen and (max-width: 1024px) {
			flex-direction: column;	
			width: 90%;
		}

		// Change it Accordingly when the image comes into place
		figure {
			width: 40%;
		}

		.description-container {
			width: 30%;

			@media screen and (max-width: 1024px) {
				width: 100%;
			}

			li {
				display: flex;
				justify-content: space-evenly;
				padding: 15px 0;

				address {
					font-size: $paragraph_size;
					color: $brown;
					font-family: open-sans;
					font-style: normal;	
					line-height: 1.8;
				}

				label {
					color: $brown;
					font-weight: bold;
					font-size: $paragraph_size;
				}

				address,
				.contact-content {
					width: 70%;
				}

				.contact-content {
					display: flex;
					font-size: $paragraph_size;

					li {
						color: $brown;
						padding: 0 15px 0 0;

						i {
							font-size: 18px;
						}
					}
				}
			}
		}
	}
}


