/*-----------------------------------------------------
Table of Contents

1. General Styles
2. Blocks & Pages
	# Header
	# Responsive Navigation
	# Hero
	# Services
	# Works
	# Testimonials
	# Resume
	# Blog
	# Contact
	# Footer
	# Pop-up

------------------------------------------------------*/

/*-----------------------------------------------------
1. General Styles
------------------------------------------------------*/

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	overflow-x: hidden;
	overflow-y: scroll;
}

body {
	font-family: Montserrat, sans-serif;
	font-size: 100%;
	line-height: 1.5;
}

a {
	text-decoration: none;
	transition: all .3s ease-in-out;
}

.container {
	max-width: 1170px;
	margin: auto;
}

.clearfix {
	clear: both;
}

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

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

.section-subheader {
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.section-header {
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

/*-----------------------------------------------------
2. Blocks 
------------------------------------------------------*/

/* =============== # Header =============== */

header {
	border-bottom: 1px solid #2E365C;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 2;
}

.header-wrapper	{
	align-items: center;
	display: flex;
	height: 96px;
	justify-content: space-between;
	transition: all .5s ease-in;
}

.logo {
	margin-top: 8px;
}

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

nav ul li {
	font-size: 1rem;
	font-weight: 400;
	margin-left: 40px;
	letter-spacing: .2px;
	list-style: none;
	text-transform: capitalize;
}

/* =============== # Responsive Navigation =============== */

.open-nav {
	display: none;
	float: right;
	height: 17px;
	position: relative;
	margin-top: 3px;
	cursor: pointer;
	width: 28px;
}

.open-nav i {
	height: 2px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.open-nav i:before {
	content: " ";
	height: 2px;
	position: absolute;
	top: -8px;
	width: 100%;
}

.open-nav i:after {
	content: " ";
	height: 2px;
	position: absolute;
	top: 8px;
	width: 100%;
}

.responsive-nav {
	box-shadow: 2px 2px 10px 4px rgba(0, 32, 117, 0.1);
	display: flex;
	position: fixed;
	top: 0;
	left: -100%;
	bottom: 0;
	right: 0;
	height: 100vh;
	width: 370px;
	opacity: 0;
	transition: left .8s, opacity .3s;
	z-index: 2;
}

.responsive-nav.active {
	left: 0;
	opacity: 1;
	transition: left .6s, opacity .3s;
}

.responsive-nav nav ul {
	display: block;
}

.responsive-nav nav ul li {
	font-size: 1.6rem;
	font-weight: 600;
	margin: 0 0 10px 0;
	letter-spacing: normal;
	list-style: none;
	text-transform: capitalize;
}

.close-nav {
	cursor: pointer;
	position: absolute;
	top: 32px;
	right: 24px;
}

.close-nav img {
	width: 32px;
}
/* =============== # Hero =============== */

.hero {
	padding-top: 96px;
	width: 100%;
}

.hero .container {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 80px 0;
}

.hero-content {
	margin-right: 5%;
	width: 56%;
}

.hero h1 {
	font-weight: 600;
	font-size: 3.5rem;
	line-height: 110%;
	letter-spacing: -1px;
	margin: 20px 0 26px 0;
}

.hero h2 {
	font-size: 1.12rem;
	font-weight: 400;
}

.hero p {
	font-size: 1.125rem;
	line-height: 1.7;
	margin-bottom: 59px;
	width: 65%;
}

.cta-button,
.contact-form input[type=submit] {
	border-radius: 8px;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: 1px;
	padding: 24px 48px;
	margin-right: 16px;
	text-transform: uppercase;
	transition: all .3s ease;
}

.hero-img {
	height: 470px;
	width: 40%;
}

.hero-img img {
	border-radius: 8px;
}

/* =============== # Services =============== */

.services {
	padding: 113px 0;
	width: 100%;
}

.services-list {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-top: 80px;
	width: 100%;
}

.services-list .service-item {
	width: 31.333%;
}

.services-list .service-item:nth-of-type(2) {
	margin: 0 3%;
}

.services-list .service-item .icon {
	height: 72px;
	width: 72px;
}

.services-list .service-item h3 {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 21px 0 14px 0;
	text-transform: capitalize;
}

.services-list .service-item p {
	font-size: 1rem;
	line-height: 1.7;
}

/* =============== # Works =============== */

.works {
	padding: 115px 0;
}

.works .container {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-top: 64px;
}

.works .container .works-item {
	width: 31.333%;
}

.works .container .works-item:nth-of-type(even) {
	margin: 0 3%;
}

.works-img {
	height: 370px;
}

.works-img img {
	border-radius: 8px;
}

.works-item:hover .works-img  {
	transform: scale(1.03,1.03);
	transition: all .3s ease-in-out;
}

.works-category {
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .7px;
	text-transform: uppercase;
	margin: 27px 0 8px 0;
}

.works-title {
	font-size: 1.5rem;
	font-weight: 600;
	text-transform: capitalize;
	letter-spacing: 1px;
}

.works-description {
	font-size: 1.125rem;
	line-height: 1.6;
}

/* =============== # Resume =============== */

.resume {
	padding: 120px 0;
}

.resume .container {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
}

.resume .section-subheader,
.resume .section-header {
	text-align: left;
}

.resume .content {
	margin-right: 3%;
	width: 57%;
}

.resume .content p {
	font-size: 1.125rem;
	line-height: 1.7;
	margin: 20px 0 50px 0;
	width: 65%;
}

.resume .image {
	position: relative;
	height: 470px;
	width: 40%;
}

.resume .image img {
	border-radius: 8px;
}

.resume .image .img-decor {
	align-items: center;
	border-radius: 8px;
	display: flex;
	height: 120px;
	justify-content: center;
	left: -70px;
	position: absolute;
	text-align: center;
	top: 56px;
	width: 140px;
}

.resume .image .img-decor p {
	font-size: .875rem;
	line-height: 1.2;
	letter-spacing: .2px;
	margin-top: -4px;
}

.resume .image .img-decor span {
	font-size: 2.5rem;
	font-weight: 600;
}
/* =============== # Testimonials =============== */

.testimonials {
	padding: 112px 0 120px 0;
}

.testimonials-wrapper {
	align-items: flex-start;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-top: 64px;
}

.testimonials-item {
	border-radius: 8px;
	padding: 24px 24px 18px 24px;
	width: 31.333%;
}

.testimonials-wrapper .testimonials-item:nth-of-type(2) {
	margin: 0 3%;
}

.testimonials-item p {
	font-size: 1rem;
	line-height: 1.7;
	margin-bottom: 14px;
}

.testimonials-item .user-img {
	float: left;
	margin-right: 16px;
	height: 48px;
	width: 48px;
}

.testimonials-item .user-img img {
	border-radius: 100%;
}

.testimonials-item .job-title {
	font-size: .875rem;
	padding-top: 16px;
	font-weight: 700;
}

.testimonials-item .job-title span {
	font-weight: 400;
}

/* =============== # Blog =============== */

.blog {
	padding: 120px 0;
}

.blog .container {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-top: 64px;
}

.blog-entry {
	width: 31.333%;
}

.blog-entry:hover .entry-img {
	transform: scale(1.03,1.03);
	transition: all .3s ease-in-out;
}

.blog-entry:nth-of-type(even) {
	margin: 0 3%;
}

.entry-img {
	height: 370px;
}

.entry-img img {
	border-radius: 8px;
}

.entry-category {
	display: block;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .7px;
	margin: 26px 0 12px 0;
	text-transform: uppercase;
}

.entry-title {
	font-size: 1.5rem;
	line-height: 1.3;
}

.pop-up .entry-title {
	font-size: 1.8rem;
	margin-bottom: 16px;
	width: 65%;
}

/* =============== # Contact =============== */

.contact {
	padding: 120px 0;
}

.contact-form {
	margin: 64px auto 0 auto;
	width: 65%;
}

.contact-form input {
	border: none;
	border-radius: 8px;
	height: 64px;
	outline: none;
	padding: 20px;
	float: left;
	width: 48%;
}

.contact-form input[name=name] {
	margin-right: 4%;
}

.contact-form textarea {
	border-radius: 8px;
	border: none;
	height: 172px;
	margin: 40px 0;
	padding: 20px;
	width: 100%;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
	font-family: Montserrat, sans-serif;
	font-size: 1rem;
	font-weight: 600;
}

.contact-form input,
.contact-form textarea {
	font-family: Montserrat, sans-serif;
	font-size: 1rem;
	font-weight: 500;
}

.contact-form input:focus,
.contact-form textarea:focus {	
	outline: none;
}

.contact-form input[type=submit] {
	float: right;
	padding: 0;
	margin-right: 0;
}

.contact-form input[type=submit]:hover {
	cursor: pointer;
}

/* =============== # Footer =============== */

footer {
	height: 104px;
	line-height: 104px;
}

.copyright {
	float: left;
	text-transform: capitalize;
}

.social-media {
	float: right;
}

.social-media li {
	display: inline-block;
	list-style: none;
	margin-left: 40px;
}

.social-media li:first-child {
	margin-left: 0;
} 

.social-media li a {
	font-size: 1.1rem;
}

/* =============== # Pop-up =============== */

.pop-up-overlay {
	display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    transition: opacity .4s;
    z-index: 3;
}

.pop-up-overlay.active {
	display: block;
}

.pop-up {
	border-radius: 8px;
	position: relative;
	padding: 40px 32px;
	margin: 64px auto 0 auto;
	overflow-y: auto;
	height: 570px;
	width: 65%;
}

.open-pop-up {
	cursor: pointer;
}

.close-pop-up {
	position: absolute;
	cursor: pointer;
	top: 12px;
	right: 8px;
}

.close-pop-up img {
	width: 22px;
}

.pop-up .image {
	margin-bottom: 32px;
	height: 470px;
}

.pop-up .image img {
	border-radius: 8px;
}

.pop-up .content-wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
}

.pop-up .content-wrapper .description {
	margin-right: 5%;
	width: 70%;
}

.pop-up .content-wrapper .description p {
	font-size: 1rem;
	line-height: 1.7;
	margin-bottom: 16px;
}

.pop-up .content-wrapper .description p:last-child {
	margin-bottom: 0;
}

.pop-up .content-wrapper .meta-info {
	font-size: .75rem;
	width: 25%;
}

.pop-up .content-wrapper .meta-info li {
	list-style: none;
	margin-bottom: 8px;
}

.pop-up .content-wrapper .meta-info li span {
	float: right;
	font-weight: bold;
}

