/*!
	Theme Name: Hills Women's Physio - based on "SEO Company" (https://www.behance.net/gallery/67279127/The-Seo-Company-Free-PSD-Template)
*/

/*
	External Resources:
	- Bootstrap 4
	- Google Fonts 
	- Ionic Icons

	1. Basic Styles
	2. Navbar
	3. Buttons
	4. Hero
	5. Marketing
	6. Testimonials
	7. Pricing
	8. Call to Action
	9. Footer
	10. Media Queries


	light-purple: #c198cf
	dark-purple: #6847ab
    darker-purple: #4f2f8f

*/

html {
	scroll-behavior: smooth;
}

body {
	padding-top: 100px;
	font-family: 'Roboto', sans-serif;
	color: #3a3f52;
}

h2 {
	font-size: 44px;
	font-weight: 700;
}

h3 {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 25px;
}

h5 {
	font-size: 16px;
}

p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .05em;
	color: #53627C;
}

ul {
	list-style-type: none;
	padding-left: 0px;
}

b {
	font-weight: 700;
}

section {
	padding: 80px 0px;
}

section:first-of-type {
	padding-top: 0;
}

.title-block {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	text-align: center;
}

.title-block p {
	font-size: 20px;
	font-weight: 300;
	color: #718291;
	margin-bottom: 0px;
}

.divider {
	padding: 2rem 0 0;
    margin: 2rem 0 0;
    border-top: 1px solid #3c3f45;
}

.divider-light {
	padding: 1rem 0 0;
    margin: 1rem 0 0;
	border-top: 1px solid #d2dcdf
}

/* ==============================================
   2. Navbar 
===============================================*/

.navbar {
	display: block;
	padding: 0.5rem 0;
}

.navbar-item-container {
	/* padding: 0.5rem 1rem; */
}

.custom-navbar {
	background-color: #ffffff!important;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,.09);
	/* height: 70px;
	max-height: 70px; */
}

.navbar-toggler {
	font-size: 38px;
	background-color: transparent;
}

.navbar-toggler:focus {
	text-decoration: none;
	outline: none;
}

.navbar-toggler-icon {
	color: #ffffff;
}

.navbar-collapse {
	padding: 0 0.75rem;
	background-color: #ffffff;
}

.navbar-collapse > div {
	flex-basis: 100%;
}

.nav-custom-link {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .05em;
	margin-top: 5px;
}

.navbar a {
	color: #53627C !important;
}

.nav-right {
	float: right;
}

.nav-logo-mobile, .nav-logo-desktop {
	display: inline-block;
	margin: 0.5em 0;
	font-size: 1.2em;
}

.nav-logo-desktop {
	padding-left: 0.5em;
}

/* ==============================================
   3. Buttons
===============================================*/

.btn {
	font-size: 14px;
	font-weight: 400;
	border-radius: 3px!important;
	box-shadow: 0 2px 3px 0 rgba(0,0,0,.05), 0 1px 2px 0 rgba(0,0,0,.08);
}

.btn:hover {
	text-decoration: none;
}

.btn-regular {
	background-color: #6847ab;
	color: #ffffff;
	padding: 10px 25px;
	letter-spacing: .1em;
	margin-top: 25px;
	display: inline-block;
}

.btn-regular:hover {
	background-color: #4f2f8f;
	color: #ffffff;
}

.btn-demo {
	color: #ffffff;
	background-color: #6847ab;
	letter-spacing: .1em;
	padding: 15px 48px;
	display: inline-block;
	width: 100%;
	margin-top: 20px;
}

.btn-demo:hover {
	color: #ffffff;
	background-color: #4f2f8f;
}

.btn-demo-small {
	font-size: 12px;
	background-color: #6847ab;
	padding: 1px 4px;
}

.btn-demo-small:hover {
	background-color: #4f2f8f;
}

.btn-demo-small a {
	color: #ffffff!important;
}

.btn-buy {
	color: #ffffff;
	background-color: #6847ab;
	letter-spacing: .1em;
	padding: 15px 48px;
	display: inline-block;
	width: 100%;
	margin-top: 20px;
}

.btn-buy:hover {
	background-color: #4f2f8f;
	color: #ffffff;
}

/* ==============================================
   4. Hero
===============================================*/

#hero {
	/* background-color: #f6f8f9; */
	border-bottom: 1px solid #ddd;
}

#hero .row {
	align-items: center;
}

#hero .content-box {
	margin-top: 3em;
}

@media only screen and (min-width: 768px) {
	#hero .content-box {
		margin-top: 0;
	}	
}

#hero h1 {
	font-size: 50px;
	font-weight: 300;
}

#hero h1 b {
	display: block;
}

#hero p {
	font-size: 24px;
    font-weight: 300;
    color: #718291;
    margin-bottom: 0px;
    padding: 0px;
}

#hero span {
	font-weight: 400;
    color: #6847ab;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* ==============================================
   5. Marketing
===============================================*/

#marketing {
	border-bottom: 1px solid #ddd;
}

#marketing .content-box {
	margin-bottom: 3em;
}

@media only screen and (min-width: 768px) {
	#marketing .content-box {
		margin-bottom: 0;
	}	
}

#marketing p {
	font-size: 20px;
    font-weight: 300;
    color: #718291;
    /* margin-bottom: 0px; */
    padding: 0px;
}

#marketing span {
	font-weight: 400;
	color: #6847ab;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.content-box {
	/* padding: 60px 20px; */
	padding: 0 20px;
}

.profile-photo {
	/* margin-top: 80px; */
	border-radius: 50%;
}

/* ==============================================
   6a. Testimonials
===============================================*/

#testimonials {
	background-color: #f6f8f9;
	border-top: 1px solid #F8F9FB;
	border-bottom: 1px solid #F8F9FB;
}

.testimonial-box {
	background-color: #ffffff;
	box-shadow: 0 0 1px 0 rgba(0,12,32,0.04), 0 10px 16px 0 rgba(10,31,68,0.06);
	border-radius: 20px;
	padding: 20px 30px;
	margin-top: 30px;
}

.testimonial-box h6 {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .05em;
	margin-top: 5px;
	margin-bottom: 0px;
}

.testimonial-box p {
	font-size: 16px;
	font-weight: 300;
	margin-top: 25px;
	line-height: 1.8;
	padding: 0px;
}

.testimonial-box i {
	color: #ffffff;
}

.testimonial-box small {
	color: #718291;
	display: inline-block;
}

.testimonial-box span {
	font-size: 14px;
	color: #ffffff;
}

.rating {
	background-color: #6847ab;
	padding: 2px 12px;
	border-radius: 50px;
}

.profile-picture {
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.review-one {
  background-image: url('../images/profile-picture-one.jpg');
}

.personal-info {
	padding: 5px 0 20px 0;
	border-bottom: 1px solid #edf1f2;
}

/* ==============================================
   7. Services & Pricing
===============================================*/

#services {
	border-bottom: 1px solid #ddd;
}

#services p,
#pricing p {
	font-size: 20px;
    font-weight: 300;
    color: #718291;
    /* margin-bottom: 0px; */
    padding: 0px;
}

#services span,
#pricing span {
	font-weight: 400;
	color: #6847ab;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.service-1 { grid-area: service-1; }
.service-2 { grid-area: service-2; }
.service-3 { grid-area: service-3; }
.service-4 { grid-area: service-4; }
.service-5 { grid-area: service-5; }
.service-6 { grid-area: service-6; }
.service-7 { grid-area: service-7; }
.service-8 { grid-area: service-8; }
.service-9 { grid-area: service-9; }

#services .row {
	/* display: grid; */
	/* gap: 20px; */
}

#services .row > *,
#pricing .row > * {
	max-width: 100%;
}

@media only screen and (min-width: 768px) {
	#services .row,
	#pricing .row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	#services .row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas: 
		'service-1 service-2'
		'service-1 service-4'
		'service-3 service-4'
		'service-3 service-5'
		'service-6 service-7'
		'service-8 service-9';
	}
}

@media only screen and (min-width: 992px) {
	#services .row,
	#pricing .row {
		grid-template-columns: repeat(3, 1fr);
	}

	#services .row {
		grid-template-columns: repeat(3, 1fr);
		grid-template-areas: 
			'service-1 service-2 service-3'
			'service-1 service-2 service-4'
			'service-1 service-2 service-5'
			'service-1 service-8 service-5'
			'service-7 service-6 service-9';
	}
}

.info-box {
	background-color: #ffffff;
	padding: 40px 20px;
	border: 1px solid #ececed;
	border-radius: 6px;
	box-shadow: 0 0 1px 0 rgba(0,12,32,0.04), 0 10px 16px 0 rgba(10,31,68,0.06);
	margin-top: 30px;
}

.info-box h3 {
	margin-bottom: 0;
	font-size: 1.3em;
	font-weight: 300;
	letter-spacing: .1em;
	color: #6847ab;
}

.info-box h6 {
	font-size: 60px;
	font-weight: 700;
	color: #3a3f52;
	margin-bottom: 0px;
}

.info-box p {
	font-size: 17px;
	margin-top: 15px;
	padding: 0px;
}

.info-box ul {
	margin: 0;
	padding-left: 10px;
}

.info-box li {
	/* font-size: 14px; */
	font-size: 0.875em;
	font-weight: 300;
	color: #424c55;
	letter-spacing: .1em;
}

ul.icon-tick {
	padding-left: 30px;
}

ul.icon-tick li {
	position: relative;
	margin-bottom: 0.4em;
}

ul.icon-tick li::before {
	content: "\f2ba";
	position: absolute;
	top: 0;
	left: -25px;
	display: inline-block;
    font-family: "Ionicons";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-size: 20px;
    color: #6847ab;
    margin-right: 10px;
}

.info-box span {
	font-weight: 500;
	color: #6847ab;
}

.info-box small {
	color: #718291;
	letter-spacing: .2em;
}

.info-box i {
	font-size: 20px;
	color: #6847ab;
	margin-right: 10px;
}

.info-box .demo {
	color: #6847ab!important;
}

/* ==============================================
   8. Call to Action
===============================================*/

#contact {
	background-image: url('../images/call-to-action.png');
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
}

#contact h2 {
	color: #ffffff;
}

#contact p {
	font-size: 1.2em;
	font-weight: 300;
	color: #ffffff;
	opacity: .8;
	margin-bottom: 40px;
}

#contact a {
	color: white;
}

#contact .title-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0px;
	text-align: left;
}

#contact .contact-details {
	margin-bottom: 0;
}

#contact .contact-details span {
	display: block;
	margin-bottom: 0.2em;
}

@media only screen and (max-width: 25em) {
	#contact .contact-details span {
		font-size: 0.85em;
	}
}

#contact .title-block p .icon {
	display: inline-block;
	width: 1em;
	margin-right: 0.4em;
	text-align: center;
}

#contact .btn-regular {
	background-color: #ffffff!important;
	color: #6847ab!important;
	padding: 15px 45px;
}

/* ==============================================
   9. Footer
===============================================*/

footer {
	background-color: #292c31;
    padding: 60px 0;
    color: #62656a;
	text-align: center;
}

footer h5 {
	color: #aeb3bd;
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: 20px;
}

footer p {
	font-size: 12px;
	font-weight: 300;
	color: #62656a;
	text-align: justify;
	padding: 0px;
}

footer li {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: .05em;
	line-height: 1.5;
	margin-bottom: 10px;
}

footer a {
	color: #62656a;
}

footer a:hover {
	color: #6847ab;
	text-decoration: none;
}

footer i {
	font-size: 25px;
	color: #62656a;
	margin-right: 10px;
}

footer i:hover {
	color: #6847ab;
}

footer small {
	color: #62656a;
	/* float: right; */
}

.external-links {
	color: #a187d5;
}

/* ==============================================
   9. Media Queries
===============================================*/

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) { 
	h2 {
		font-size: 34px!important;
		margin-bottom: 20px;
		line-height: 1.6;
	}
	.title-block h2, p {
		text-align: left;
		padding: 0px 20px;
	}

	#contact h2, p {
		text-align: left!important;
		padding: 0 20px;
	}

	#contact {
		background-image: none;
		background-color: #6847ab;
	}

	footer {
		padding: 60px 25px;
	}
	footer h5 {
		font-size: 18px;
		margin-top: 30px;
	}
	footer li {
		font-size: 16px;
		margin-bottom: 15px;
	}
	footer p {
		font-size: 16px;
	}
	footer i {
		font-size: 30px;
		margin-right: 20px;
	}
	footer small {
		float: left;
		margin-top: 20px;
	}
}

@media (max-width: 768px) { 
	#hero h1 {
		font-size: 34px!important;
		margin-bottom: 20px;
	}
	#hero p {
		font-size: 20px!important;
	}
}

@media (max-width: 991px) { 
	.navbar {
	}
	.navbar-item-container {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
		padding-left: 0.2em;
	}
	.nav-right {
		float: left;
	}
	.nav-custom-link {
		border-bottom: 1px solid #EEE;
	}
	.navbar-nav{
		width: 100%;
	}
	.navbar-nav .nav-link {
		padding: 1em 0;
		text-align: left;
	}

	.btn-demo-small {
		background-color: #ffffff;
		border: 0px;
		padding: 0px;
		box-shadow: none;

	}
	.btn-demo-small:hover {
		background-color: #ffffff;
		border: 0px;
		padding: 0px;
		box-shadow: none;

	}
	.btn-demo-small a {
		color: #53627C!important;
	}
	.nav-custom-link {
		font-size: 13px;
	}

	.icon-mobile {
		font-size: 18px;
		float: right;
	}

	.navbar-collapse {
		/* border-bottom: 1px solid #efefef; */
	}

	.nav-logo-mobile {
		/* margin: auto;
		padding-right: 50px; */
		margin: 0;
		/* padding: 0 0 0 20px; */
		padding: 0;
		justify-self: flex-start;
		font-size: 0.9em;
	}

	.nav-logo-desktop {
		display: none;
	}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 
	.icon-mobile {
		display: none;
	}
	.nav-logo-mobile {
		display: none;
	}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
	.hero-content {
		/* margin-top: 100px; */
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) { 
	.pricing-box h3 {
		font-size: 17px;
	}
	.pricing-box p {
		font-size: 14px;
	}
	.pricing-box li {
		font-size: 12px;
	}
	.btn-buy {
		font-size: 12px;
		padding: 15px 20px;
	}
	.btn-demo {
		font-size: 12px;
		padding: 15px 20px;
	}
	.profile-picture {
		width: 50px;
		height: 50px;
	}
	.testimonial-box h6 {
		font-size: 14px;
		margin-left: 10px;
	}
	.testimonial-box span {
		font-size: 12px;
	}
	.testimonial-box small {
		font-size: 12px;
		margin-top: 4px;
		margin-left: 10px;
	}
}