* {
	margin: 0;
	padding: 0;
}

html {
	min-width: 320px;
	font-family: 'paralucent-text';
	background-color: #272622;
}

#elias-app {
	margin: auto;
}

.banner {
		display: flex;
		background-color: #574d5a;
		padding: 16px 20px;
		color: #e1e0db;		
	}

	.banner .copy {
			max-width: 1444px;
			margin-left: auto;
			margin-right: auto;
			text-align: center;
			font-size: 12px;
	}

	.banner .copy a {
		color: #e1e0db;
	}

	.site-header {
		position: relative;
	}

img {
	max-width: 100%;
	height: auto;
}

header {
	position: fixed;
	width: 100%;
	z-index: 9;
}

section {
	position: relative;
	height: auto;
}

.align-to-max-height {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}

.upper-header {
	width: 100%;
	background-color: #272622;
	height: 60px;
}

.lower-header {
	width: 100%;
	background-color: #bbbfaa;
	height: 40px;
}

.header-logo {
	width: 41px;
	position: absolute;
	top: 39px;
	margin: auto;
	left: 0;
	right: 0;
	cursor: pointer;
	z-index: 1;
}

.hamburger-menu {
	top: 46px;
	position: absolute;
	margin-left: 20px;
	z-index: 1;
}

.hamburger-menu-input {
	width: 40px;
	height: 20px;
	position: fixed;
	top: 51px;
	display: block;
	z-index: 10;
	left: 20px;
	opacity: 0;
	cursor: pointer;
}

.hamburger-line {
	display: block;
	border-bottom: 2.5px solid #bbbfaa;
	width: 40px;
	padding-bottom: 5px;
}

.hamburger-line:last-child {
	border-bottom: 2.5px solid #6a6667;
}

.split-line-top {
	border-bottom: 1.75px solid #bbbfaa;
}

.split-line-bottom {
	border-top: 1.75px solid #6a6667;
	border-bottom: none;
	padding: 0;
}

.landing-page {
	display: block;
	padding-top: 100px;
}

#video {
	background-color: #bbbfaa;
}

.video-container {
	position: relative;
	width: 100%;
	text-align: center;
}

.video-sub-container {
	position: relative;
	display: inline-block;
	background-image: url('/assets/hero-image-16-9.jpg');
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	cursor: pointer;
}

.video-container.align-to-max-height .video {
	background-color: #000000;
}

.video-container .circle-container {
	width: 54px;
	height: 54px;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	cursor: pointer;
}

.circle-play-icon {
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid #bbbfaa;
	position: absolute;
	bottom: 3px;
	left: 25px;
}

.video-container .half-top-circle-grey {
	height: 27px;
}

.video-container .half-bottom-circle-grey {
	height: 27px;
}

.video {
	width: 100%;
	cursor: pointer;
	margin-bottom: -4px;
	visibility: hidden;
}

.video.playing ~ .video-logo,
.video.playing ~ .circle-container {
	display: none;
}

.played .video {
	visibility: visible;
	max-width: 1440px;
	height: auto;
}

.video-logo {
	height: 40px;
	bottom: 15px;
	left: 15px;
	position: absolute;
	cursor: pointer;
}

.video-description {
	padding: 38px 20px 36px 20px;
	text-align: center;
}

.video-description-title {
	display: inline-block;
	width: 214px;
	font-size: 24px;
	line-height: 28px;
	color: #6a6667;
}

.video-description-text {
	display: inline-block;
	font-size: 14px;
	line-height: 19px;
	padding: 30px 30px 48px 30px;
	color: #272622;
}

.video-description-link {
	display: block;
	color: #272622;
	font-size: 14px;
	line-height: 19px;
	cursor: pointer;
	text-decoration-line: underline;
	text-decoration-color: #272622;
}

.half-top-circle {
	border: 6px solid #5f878b;
	width: 200px;
	height: 100px;
	border-top-left-radius: 200px;
	border-top-right-radius: 200px;
	border-bottom: 0;
	box-sizing: border-box;
	position: relative;
	display: none;
}

.half-top-circle:after {
	content: '';
	display: block;
	height: 6px;
	width: 6px;
	background-color: #5f878b;
	border-bottom-left-radius: 100px;
	border-bottom-right-radius: 100px;
	position: relative;
	top: 90px;
}

nav {
	background-color: #272622;
	width: calc(100% - 86px);
	height: 100%;
	position: fixed;
	z-index: 9;
}

.hamburger-menu-input:checked ~ nav {
	transition: opacity 0.2s ease-in;
	visibility: visible;
	opacity: 0.8;
}

.hamburger-menu-input:not(:checked) ~ nav {
	transition: opacity 0.2s ease-out, visibility 0.2s 0.2s;
	visibility: hidden;
	opacity: 0;
}

/* move the input to the X button from the menu in order to be able to close the menu */
.hamburger-menu-input:checked {
	left: calc(100% - 146px);
	top: 22px;
}

.nav-menu {
	margin-top: 70px;
	margin-left: 20px;
}

.nav-menu-close-btn {
	border-top: 3px solid #bbbfaa;
	width: 24px;
	transform: rotate(45deg);
	position: absolute;
	right: 30px;
	top: 30px;
}

.nav-menu-close-btn:after {
	content: '';
	display: block;
	border-top: 3px solid #bbbfaa;
	transform: rotate(90deg);
	bottom: 3px;
	position: relative;
}

.nav-menu li {
	color: #5f878b;
	font-size: 21px;
	line-height: 24px;
	list-style-type: none;
	padding-bottom: 20px;
	cursor: pointer;
}

.nav-menu li.active {
	color: #bbbfaa;
}

.arrow-container {
	margin: auto;
	position: relative;
	width: 61px;
	height: 24px;
	padding-top: 30px;
}

.arrow.down {
	border-top: 4px solid #5f878b;
	width: 34px;
	top: 10px;
	position: relative;
	transform: rotate(30deg);
	border-radius: 3px;
}

.arrow.down:after {
	content: '';
	display: block;
	border-top: 4px solid #6a6666;
	bottom: 18px;
	left: 24px;
	position: relative;
	transform: rotate(120deg);
	border-radius: 3px;
}

/*** process section ***/

#process {
	background-color: #272622;
}

#process p {
	padding: 0px 20px;
}

.process-content {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 50px;
}

.process-title {
	color: #5f878b;
	font-size: 24px;
	line-height: 28px;
	margin-top: 30px;
}

.process-description {
	color: #bbbfaa;
	font-size: 14px;
	line-height: 26px;
}

.process-images-container {
	cursor: pointer;
}

.process img {
	margin-top: 55px;
}

.process-img-mobile {
	display: block;
	position: relative;
	top: 6px;
	margin: 0 auto;
}

.process-img-tablet,
.process-img-desktop-container {
	display: none;
}

.process-image-footer {
	height: 67px;
	width: 100%;
	background-color: #bbbfaa;
	text-align: center;
	display: table;
}

.process-image-footer span {
	font-size: 16px;
	line-height: 20px;
	display: table-cell;
	vertical-align: middle;
	padding: 0px 40px;
}

.process-image-footer span i {
	font-size: 10px;
}

.phase-title {
	color: #5f878b;
	font-size: 21px;
	line-height: 24px;
	margin-top: 30px;
}

.phase-description {
	color: #e1e0db;
	font-size: 12px;
	line-height: 19px;
	margin-top: 5px;
}

/*** clients section ***/

.circle-container {
	position: relative;
	margin: auto;
	width: 120px;
}

.half-top-circle-grey {
	border: 5px solid #6a6667;
	width: 100%;
	height: 60px;
	border-top-left-radius: 200px;
	border-top-right-radius: 200px;
	border-bottom: 0;
	position: relative;
}

.half-bottom-circle-grey {
	border: 5px solid #bbbfaa;
	width: 100%;
	height: 60px;
	border-bottom-left-radius: 200px;
	border-bottom-right-radius: 200px;
	border-top: 0;
	position: relative;
	bottom: 1px;
}

.circle-structure {
	margin-top: 48px;
}

.circle-text-container {
	position: absolute;
	top: 18px;
	left: 5px;
	width: 100%;
	text-align: center;
}

.circle-text-container p {
	color: #e1e0db;
	font-size: 11px;
	padding-bottom: 2px;
}

.circle-text-container p:first-child {
	color: #bbbfaa;
	font-size: 45px;
	line-height: 53px;
	padding-bottom: 0px;
}

.circle-text-container p:nth-child(2) {
	font-weight: bold;
}

.circle-separation-line {
	background-color: #bbbfaa;
	width: 4px;
	height: 26px;
	border-radius: 100px;
	margin: 6px auto;
	left: 4px;
	position: relative;
}

section#clients {
	background-color: #e1e0db;
	text-align: center;
	padding: 55px 20px 70px;
}

.clients-container {
	display: grid;
	grid-template-columns: 1fr;
}

.client-title {
	color: #6a6667;
	font-size: 24px;
	line-height: 51px;
}

.client-text {
	color: #6a6667;
	font-size: 14px;
	line-height: 19px;
}

.client-logos {
	margin-top: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 20px;
	justify-items: center;
	align-items: center;
}

/*** footer section ***/

footer {
	background-color: #272622;
	padding: 50px 20px 74px 20px;
}

.footer-logo {
	height: 60px;
	margin: auto;
	position: relative;
	display: block;
	margin-bottom: 50px;
}

.footer-menu {
	color: #5f878b;
	list-style-type: none;
	font-size: 33px;
	line-height: 26px;
	text-align: right;
}

.footer-menu li {
	padding-bottom: 3px;
	cursor: pointer;
}

.footer-address p:first-child {
	color: #e1e0db;
	font-size: 14px;
	padding-bottom: 10px;
	line-height: 19px;
}

.footer-address p:not(:first-child) {
	color: #bbbfaa;
	font-size: 12px;
}

.footer-address {
	padding-bottom: 13px;
}

.footer-right-side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 10px;
}

.footer-social-icons {
	grid-column: 1 / 3;
	color: #4a4a4a;
	font-size: 21px;
	line-height: 21px;
	margin: 0 auto;
	padding-top: 10px;
	padding-bottom: 5px;
}

.footer-social-icons a {
	color: #4a4a4a;
	text-decoration: none;
}

.footer-social-icons i {
	padding-right: 6px;
	cursor: pointer;
}

.copy-right {
	color: #4a4a4a;
	font-size: 11px;
	line-height: 15px;
	text-align: center;
	margin-top: 20px;
	grid-column: 1 / 3;
}

/***** stats page *****/

/*** client-stats section ***/
.stats-page {
	text-align: center;
	padding-top: 100px;
	display: none;
}

#clients-stats {
	background-color: #272622;
}

.clients-stats-top-image-container {
	position: relative;
}

.clients-stats-logo-container {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 140px;
	height: 55px;
	right: 0;
}

.clients-stats-logo-container p {
	font-size: 16px;
	line-height: 18px;
	color: #bbbfaa;
	padding-top: 5px;
}

.clients-stats-logo {
	height: 85px;
	display: none;
}

.clients-stats-intro {
	font-size: 26px;
	line-height: 37px;
	color: #bbbfaa;
	padding: 40px 20px 60px;
}

.client-stats-main-text-main-container {
	display: grid;
	grid-template-columns: 1fr;
}

.clients-stats-title-container:not(.active),
.clients-stats-description-container:not(.active) {
	display: none;
}

.clients-stats-title-container .arrow-container {
	width: 12px;
	height: 17px;
	display: inline-block;
	cursor: pointer;
}

.clients-stats-description-container {
	padding: 0 20px 45px;
}

.clients-stats-title-container {
	padding: 0 20px;
}

.clients-stats-title-container .arrow-container {
	padding: 5px 5px 0px;
}

.client-stats-title {
	font-size: 32px;
	line-height: 38px;
	color: #5f878b;
	border-bottom: 1px solid #6a6667;
	padding-bottom: 5px;
}

.client-stats-description {
	font-size: 18px;
	line-height: 26px;
	color: #e1e0db;
	margin-top: 35px;
}

.client-stats-description-sub-text {
	color: #4a4a4a;
	font-size: 14px;
	line-height: 34px;
	padding-top: 30px;
	display: inline-block;
}

.clients-stats-footer {
	font-size: 12px;
	line-height: 19px;
	color: #e1e0db;
	padding-top: 30px;
}

.arrow.left {
	border-top: 2px solid #5f878b;
	width: 10px;
	top: 2px;
	position: relative;
	transform: rotate(120deg);
}

.arrow.right {
	border-top: 2px solid #5f878b;
	width: 10px;
	top: 11px;
	position: relative;
	transform: rotate(295deg);
}

.arrow.left:after {
	content: '';
	display: block;
	border-top: 2px solid #6a6666;
	bottom: 6px;
	left: 7px;
	position: relative;
	transform: rotate(120deg);
}

.arrow.right:after {
	content: '';
	display: block;
	border-top: 2px solid #6a6666;
	bottom: 6px;
	left: 7px;
	position: relative;
	transform: rotate(120deg);
}

.active .client-stats-title {
	color: #5f878b;
}

/*** auditorial section ***/

#auditorial {
	background-color: #e1e0db;
}

.auditorial-main-container {
	display: grid;
	grid-template-columns: 1fr;
}

.auditorial-title {
	font-size: 24px;
	line-height: 28px;
	color: #6a6667;
	padding: 33px 20px 30px;
}

.auditorial-description {
	font-size: 14px;
	line-height: 19px;
	color: #6a6667;
	padding: 0px 20px 20px;
	text-align: left;
}

.auditorial-points-container {
	padding: 0px 20px 30px;
	display: grid;
	grid-template-columns: 10px 1fr;
	text-align: left;
}

.auditorial-points-container .circle-container {
	width: 6px;
	margin-top: 5px;
}

.auditorial-points-container .half-top-circle-grey {
	height: 3px;
	border: 2px solid #6a6667;
	border-bottom: 0;
}

.auditorial-points-container .half-bottom-circle-grey {
	height: 3px;
	border: 2px solid #5f878b;
	border-top: 0;
}

.auditorial-points-text {
	font-size: 14px;
	line-height: 19px;
	color: #4a4a4a;
	padding-left: 13px;
}

/***** contact page *****/
/*** contact-info section ***/
.contact-page {
	padding-top: 100px;
	display: none;
}

#contact {
	background-color: #bbbfaa;
	text-align: center;
	padding: 30px 20px;
}

.contact-title {
	font-size: 24px;
	line-height: 28px;
	color: #6a6667;
}

.contact-description,
.contact-error {
	font-size: 14px;
	line-height: 19px;
	color: #272622;
	padding-top: 10px;
}

.contact-error {
	color: #5f878b;
	display: none;
}

.contact-form {
	text-align: left;
}

.contact-form input {
	width: calc(100% - 5px);
	border: none;
	border-bottom: 1px solid #272622;
	background-color: #bbbfaa;
	padding: 15px 20px 6px;
}

.contact-form .invalid {
	border-color: #5f878b;
}

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

.contact-form .invalid::placeholder {
	color: #5f878b;
}

.contact-form input::placeholder {
	font-size: 14px;
	line-height: 17px;
	color: #272622;
	text-align: center;
	font-family: 'paralucent-text';
}

.contact-form input:-webkit-autofill,
.contact-form input:-webkit-autofill:hover,
.contact-form input:-webkit-autofill:focus {
	background-color: #bbbfaa;
}

.contact-sent-success-message {
	display: none;
	color: #5f878b;
	font-size: 14px;
	line-height: 17px;
	text-align: center;
	padding-top: 20px;
}

#contact-submit-btn,
.get-started-btn {
	border: 3px solid #6a6667;
	border-radius: 100px;
	width: 67px;
	height: 67px;
	background-color: #bbbfaa;
	margin-top: 47px;
	font-size: 14px;
	line-height: 17px;
	cursor: pointer;
	position: relative;
	margin: 47px auto 0;
	display: block;
}

#contact-submit-btn:active,
#contact-submit-btn:focus,
.get-started-btn:active,
.get-started-btn:focus {
	outline: none;
}

/*** location section ***/

#location {
	text-align: center;
	padding: 0px 24px;
}

.location-title {
	font-size: 24px;
	line-height: 28px;
	color: #6a6667;
	padding: 32px 0px 20px;
}

.location-description {
	font-size: 14px;
	line-height: 26px;
	color: #bbbfaa;
	padding-bottom: 30px;
}

.location-btn-container {
	padding-bottom: 34px;
}

.location-btn {
	font-size: 14px;
	line-height: 17px;
	color: #e1e0db;
	display: inline-block;
}

.location-btn:first-child {
	margin-right: 20px;
}

.location-btn.active {
	color: #5f878b;
}

#location-west-coast {
	margin-right: 20px;
}

.location-info-container {
	margin-bottom: 53px;
}

.location-images-container > :not(.active) {
	display: none;
}

.location-img-wrapper {
	width: 260px;
	display: inline-block;
	position: relative;
}

.location-image-pinpoint {
	box-sizing: border-box;
	height: 12px;
	width: 12px;
	border: 3px solid #6a6667;
	border-radius: 100px;
	position: absolute;
	top: 96px;
	right: 75px;
}

.location-image-sub-title {
	color: #5f878b;
	font-size: 36px;
	line-height: 43px;
	padding-bottom: 8px;
	padding-top: 32px;
	font-weight: bold;
}

.location-image-sub-description {
	color: #e1e0db;
	font-size: 14px;
	line-height: 10px;
	padding-bottom: 8px;
}

/*** contact-info section ***/
#contact-info {
	background-color: #bbbfaa;
}

.contact-info-container {
	padding: 35px 20px;
	display: grid;
	grid-template-columns: 1fr;
}

.contact-info-intro {
	text-align: center;
}

.contact-info-intro-title {
	font-size: 24px;
	line-height: 28px;
	color: #6a6667;
	padding-bottom: 18px;
}

.contact-info-intro-description {
	font-size: 14px;
	line-height: 26px;
	color: #272622;
}

.contact-info-details {
	text-align: left;
}

.contact-info-details-title {
	font-size: 20px;
	line-height: 26px;
	color: #272622;
	padding-bottom: 6px;
	padding-top: 35px;
}

.contact-info-details-description {
	font-size: 12px;
	line-height: 26px;
	color: #272622;
	padding-bottom: 2px;
}

.contact-info-details-email {
	color: #6a6667;
	font-size: 12px;
}

/*** PROMO PAGE ***/
.header-promo-page {
	position: relative;
	text-align: center;
	height: 200px;
	color: #6a6667;
	background-color: #bbbfaa;
	padding-bottom: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.header-promo-page-title {
	font-weight: bold;
	font-size: 26px;
}

.header-promo-page-subtitle {
	font-weight: normal;
	font-size: 16px;
}

.header-promo-page .get-started-btn {
	margin-top: 20px;
}

#elias-app-promo .landing-page {
	padding-top: 100px;
}

.promo-content {
	padding: 0px 10px 30px 10px;
	text-align: center;
}

.promo-content-title {
	margin-bottom: 20px;
}

.promo-content-subtitle {
	margin-bottom: 10px;
	font-size: 16px;
}

.promo-content-list-title {
	color: #e1e0db;
	font-size: 24px;
	text-align: center;
	margin-top: 20px;
}

.promo-content-list {
	color: #e1e0db;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 10px;
	margin-bottom: 30px;
}

.promo-content-list li {
	font-size: 16px;
	list-style-position: inside;
	list-style-type: none;
}
.promo-content-list li:before {
	content: "\2022\2002";
}

.get-started {
	text-align: center;
	background-color: #bbbfaa;
	padding: 30px 10px;
}

.get-started p {
	color: #6a6667;
	font-size: 24px;
	text-transform: uppercase;
	font-weight: bold;
}

.get-started-btn {
	color: #6a6667;
	width: 90px;
	height: 90px;
}
