/*
Theme Name: Empire House
Author: Jason Wightman
*/

/* =Typography
----------------------------------------------- */

/*

// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.inter-<uniquifier> {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.fraunces-<uniquifier> {
  font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0;
}

*/


/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */

html {
    font-size: 62.5%; 
    min-height: 100%;
    height: 100%;
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #121212;
	background-color: #fffbf8;
	
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Fraunces", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"SOFT" 0,
		"WONK" 0;
	text-wrap: balance; 
}

h1 {
	font-size: 3.5rem;
	letter-spacing: -0.25rem;
	line-height: 1.12;
	margin-bottom: 50px;
}

h2 {
	font-size: 3.0rem;
	letter-spacing: -0.2rem;
	line-height: 1.12;
	margin-bottom: 20px;
	text-wrap: balance; 
}

h3 {
	font-size: 2.8rem;
	letter-spacing: -0.1rem;
	line-height: 1.12;
	margin-bottom: 10px;
}

h4 {
	font-size: 2.4rem;
	line-height: 1.12;
	letter-spacing: -0.05rem;
	margin-bottom: 10px;
}

h5 {
	font-size: 2.2rem;
	line-height: 1.2;
	letter-spacing: -0.05rem;
	margin-bottom: 10px;
}

h6 {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.6rem;
	margin-bottom: 10px;
}

@media (min-width: 768px) {
	h1 {
		font-size: 5.0rem;
		margin-bottom: 80px;
	}

	h2 {
		font-size: 4.2rem;
		margin-bottom: 20px;
	}		
}

p {
	margin-bottom: 20px;
}

strong {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}

ul {
	padding-left: 13px;
	margin-bottom: 20px;
}

ul li {
	padding-left: 5px;
}

ol {
	padding-left: 20px;
	margin-bottom: 20px;
}

ol li {
    padding-left: 10px;
}


a {
	color: #1d1a17;
	-ms-word-break: break-word;
	     word-break: break-word;
}

a:hover,
a:active,
a:focus {
	color: #1d1a17;
}

#page-intro {
	font-size: 2.0rem;
	line-height: 24px;
	font-weight: 700;
	text-wrap: balance;
	padding-top: 18px;
}


/* =Structure
----------------------------------------------- */


#page-content {
	background-color: #fffbf8;
}

body #page {
	padding-top: 120px;
}

@media (min-width: 768px) {
	body #page {
		padding-top: 200px;
	}
}

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

svg {
	display: block;
}

/* Buttons */

button,
.button {
	background-color: rgba(29, 26, 23, 1.0);
	border: 1px solid rgba(29, 26, 23, 1.0);
	padding: 22px 36px;
	box-shadow: none;
	font-size: 1.4rem;
	line-height: 1;
	color: #fffbf8;
	border-radius: 100px;
}

button a,
.button a {
	text-decoration: none;
	color: #fffbf8;
}

button:hover,
.button:hover {
	background-color: rgba(29, 26, 23, 0.7);
	border: 1px solid rgba(29, 26, 23, 0.7);
}

button:hover a,
.button:hover a {
	color: #fffbf8;
}

/* light Button */

button.light,
.button.light {
	background-color: rgba(255, 251, 248, 1.0);
	color: #1d1a17;
}

button.light a,
.button.light a {
	color: #1d1a17;
}

button.light:hover,
.button.light:hover {
	background-color: rgba(255, 251, 248, 0.7);
	border: 1px solid rgba(29, 26, 23, 0.7);
}

button.light:hover a,
.button.light:hover a {
	color: #1d1a17;
}

/* Talk Buttons */

button.talk,
.button.talk {
	color: rgba(208, 216, 220, 1.0);
}

button.talk a,
.button.talk a {
	color: rgba(208, 216, 220, 1.0);
}

button.talk:hover a,
.button.talk:hover a {
	color: rgba(208, 216, 220, 1.0);
}

/* Talk Buttons Light */

button.light.talk,
.button.light.talk {
	color: rgba(29, 26, 23, 1.0);
	background-color: rgba(208, 216, 220, 1.0);
}

button.light.talk a,
.button.light.talk a {
	color: rgba(29, 26, 23, 1.0);
}

button.light.talk:hover,
.button.light.talk:hover {
	background-color: rgba(255, 255, 255, 0.3);
}

button.light.talk:hover a,
.button.light.talk:hover a {
	color: rgba(29, 26, 23, 1.0);
}


/* =Masthead
----------------------------------------------- */

.header {
	position: fixed;
	width: 100%;
    background: #fffbf8;
	border: none;
	z-index: 100;
	padding-top: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(34, 46, 55, 0.1);
}

.header .logo {
	text-align: center;
}



/* =Main Navigation
----------------------------------------------- */

#main-nav a {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: 1.4rem;
	color: #1d1a17;
	text-decoration: none;
}

#main-nav ul {
	display: flex;
    justify-content: center;
	margin-bottom: 0;
	line-height: 1;
	padding: 0;
}

#main-nav ul li {
    display: inline-block;
    margin: 0 35px 0 0;
	padding: 0;
	background: none;
}


/* menu onclick icon */

.plus-minus-toggle,
.mobile-plus-minus-toggle {
	cursor: pointer;
	height: 14px;
	position: relative;
	width: 14px;
	float: right;
	margin-left: 10px;
	top: 4px;
	z-index: 1;
}

.plus-minus-toggle:before,
.plus-minus-toggle:after,
.mobile-plus-minus-toggle:before,
.mobile-plus-minus-toggle:after {
	background: #233d4d;
	content: '';
	left: 0;
	position: absolute;
	transition: transform 500ms ease;
}

.plus-minus-toggle:before,
.mobile-plus-minus-toggle:before {
	height: 2px;
	width: 14px;
	top: 6px;
}

.plus-minus-toggle.collapsed:after,
.mobile-plus-minus-toggle.hidden:after {
	transform: scaleY(1);
}

.plus-minus-toggle:after,
.mobile-plus-minus-toggle:after {
	height: 14px;
	width: 2px;
	left: 6px;
	transform: scaleY(0);
	transition: transform 0.25s ease-in-out;
}

.main-menu li:hover .plus-minus-toggle,
.mobilemenu li:hover .mobile-plus-minus-toggle {
	opacity: 1;
}


/*------------------------------------*\
	Submenu Desktop
\*------------------------------------*/


#main-nav .sub-menu:before {
	height: 350px;
	width: 100vw;
	background-color: rgba(252,251,245,0.9);
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0%;
	z-index: -1;
}

#main-nav .sub-menu:after {
	height: 350px;
	width: 100vw;
	background-color: rgba(252,251,245,0.9);
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
}

#main-nav ul li.menu-item-has-children .sub-menu {
    display: none;
}

#main-nav ul li .sub-menu {
    margin-top: 29px;
	text-align: left;
	padding: 0;
	position: absolute;
	margin-left: 0;
	transition: .4s ease;
}

#main-nav ul li .sub-menu li {
	display: block;
	color: #1d1a17;
	width: 100%;
	padding: 15px 0;
	margin: 0;
	white-space: nowrap;
	box-sizing: border-box;
}

#main-nav ul li .sub-menu li:first-child {
	padding-top:30px
}



/* Navigation Mobile
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Hamburger */


.hamburger {
	padding: 0;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	overflow: visible; 
	display: block;
	height: 18px;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: #1d1a17;
}

.hamburger-box {
	width: 22px;
	height: 18px;
	display: inline-block;
	position: relative; 
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px; 
}

.hamburger-inner, 
.hamburger-inner::before,
.hamburger-inner::after {
    width: 22px;
    height: 2px;
    background-color: #1d1a17;
    border-radius: 1px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; 
}
  
.hamburger-inner::before, 
.hamburger-inner::after {
    content: "";
    display: block; 
}
  
.hamburger-inner::before {
    top: -6px; 
}
  
.hamburger-inner::after {
    bottom: -6px; 
}

/* Spin */

.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}
  
.hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; 
}
  
.hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 
}
  
.hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; 
}
  
.hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); 
}



/* :::::::::::::::::::::::::::::

MOBILE  MENU

::::::::::::::::::::::::::::: */


#mobile-nav {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: 1.4rem;
	line-height: 1;
}

#mobile-nav.visible {
	display: block;
	text-align: left;
	padding: 60px 30px 0 30px;
	position: fixed;
	width: 100vw;
	z-index: 100;
	top: 80px;
	bottom: 0;
	background-color: #fffbf8;
	height: 100vh;
}

#mobile-nav {
	height: 0;
	overflow: hidden;
}

#mobile-nav ul {
	list-style: none;
    margin-top: 0;
	margin-bottom: 0;
    padding-left: 0;
}

#mobile-nav ul li {
	margin-left: 0;
	padding: 12px 0;
	margin-bottom: 0;
	background: none;
}

#mobile-nav ul li:before {
	content: none;
}

#mobile-nav ul li a {
	color: #1d1a17;
	text-decoration: none;
}

#mobile-nav li.menu-item-has-children .sub-menu {
    display: none;
}

#mobile-nav li .sub-menu {
    display: block;
}

#mobile-nav ul li .sub-menu li {
    padding: 12px 0;
    margin: 0;
}

#mobile-nav ul li .sub-menu li:first-child {
    padding-top: 24px;
}

#mobile-nav #mobile-menu-home {
	padding-left: 15px;
}




/* =New Social Links
----------------------------------------------- */

ul.social-links {

    list-style: none;
    padding: 0 !important;
    margin: 0;
	display: flex;

}

ul.social-links li a {
    display: inline-block;
    text-align: center;
}


/* * * * * * * * * * * * * * * * * * 

Generic

* * * * * * * * * * * * * * * * * */

.left-half {
	border-radius: 0 0 30px 30px;
	overflow: hidden;
	background-color: #d0d8dc;
	aspect-ratio: 1/1
}

.right-half {
	border-radius: 30px 30px 0 0;
	overflow: hidden;
}

.right-half img {
	object-fit: cover;
	height: 100%;
}

@media (min-width: 768px) {
	.left-half {
		border-radius: 30px 0 0 30px;
		aspect-ratio: unset;
	}

	.right-half {
		border-radius: 0 30px 30px 0;
	}
}


/* * * * * * * * * * * * * * * * * * 

Homepage

* * * * * * * * * * * * * * * * * */

/* Intro Section */

.intro {
	padding-bottom: 20px;
}

.intro p {
	margin-bottom: 80px;
}

/* Hero Image Section */

.hero-image {
	padding-bottom: 100px;
}

.hero-image img {
	border-radius: 30px;
}

/* Key Features Section */

.key-features {
	padding-bottom: 100px;
}

.features-inner {
	background-color: #f8f4f1;
	padding: 30px;
	aspect-ratio: 16/9;
		border-radius: 20px;

}

.features-inner-2 {
	background-color: #f8f4f1;
	padding: 30px;
	flex-direction: column;
	aspect-ratio: 3/2;
	border-radius: 20px;
}

@media (min-width: 768px) {
	.features-inner-2 {
		aspect-ratio: 3/4;
	}
}

.features-inner-3 {
	background-color: #f8f4f1;
	padding: 30px;
	flex-direction: column;
	aspect-ratio: 16/9;
}

.key-features-text {
	margin-left: 30px;
	font-size: 2.2rem;
		font-family: "Fraunces", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"SOFT" 0,
		"WONK" 0;
	text-wrap: balance; 
		line-height: 1.12;
	letter-spacing: -0.05rem;
}

.features-inner-2 .key-features-text,
.features-inner-3 .key-features-text {
	margin-left: 0;
}

/* Lets Talk Section */

.lets-talk {
	padding-bottom: 100px;	
}

#lets-talk-text {
	padding: 30px 30px 0 30px;
}

@media (min-width: 768px) {
	#lets-talk-text {
		padding: 50px 50px 0 50px;
	}
}

#lets-talk-text h1 {
	margin-bottom: 40px;
}

#lets-talk-text p {
	font-size: 2.0rem;
	text-wrap: balance;
	font-weight: 300;
}

#lets-talk-buttons {
	padding: 0 30px 30px 30px;
}

@media (min-width: 768px) {
	#lets-talk-buttons {
		padding: 0 50px 50px 50px;
	}
}

#lets-talk-buttons #top-button {
	margin-bottom: 10px;
}


/* Logo Slider */

/*.logos {
	margin-top: 40px;
	margin-bottom: 100px;
}

.logo-marquee {
	overflow: hidden;
}

.logo-marquee .slick-slide {
	margin: 0 45px;
}

.logo-marquee .slick-list {
	margin: 0 -45px;
}

@media (min-width: 768px) {
	.logo-marquee .slick-slide {
		margin: 0 90px;
	}

	.logo-marquee .slick-list {
		margin: 0 -90px;
	}
}*/



/* * * * * * * * * * * * * * * * * * 

ABOUT

* * * * * * * * * * * * * * * * * */


/* Intro */

.about-intro {
	padding-bottom: 100px;
}

#about-intro-wrapper {
	flex-direction: column;
}

#about-intro-text p:first-of-type {
		font-size: 2.0rem;
	line-height: 24px;
	font-weight: 700;
	padding-top: 18px;
}

#about-hero-images img {
	border-radius: 20px;
}

#about-hero-images img:first-of-type {
	margin-bottom: 20px;
}

/* Key Features */

.key-features.about {
	background-color: #f8f4f1;
	padding-top: 100px;
	padding-bottom: 100px;
}

.features-inner-2.about {
	background-color: #ffffff;
}

/* Location */

.location {
	padding-top: 100px;
	padding-bottom: 100px;
}

#location-list ul {
	list-style: none;
	padding-left: 0;
	padding-top: 18px;
}

#location-list ul li {
	padding: 10px 0;
	border-bottom: 1px solid rgba(29, 26, 23, 0.1);
	margin-left: 0;
}

#location-list ul li:first-of-type {
	border-top: 1px solid rgba(29, 26, 23, 0.1);	
}

#location-map {
	padding-top: 40px;
}

#location-map div {
	border-radius: 30px;
	overflow: hidden;
}

#location-map div iframe {
	width: 100%;
	aspect-ratio: 10/5;
	height: auto;
}

/* Occupancy */

.occupancy {
	padding-bottom: 100px;
}

.occupancy h5 {
	padding-top: 20px;
	padding-bottom: 10px
}

#tenant-logo img {
	border: solid 1px rgba(29, 26, 23, 0.1);
	border-radius: 10px;
}

#occupancy-bottom-text {
	padding-top: 30px;
}

/* * * * * * * * * * * * * * * * * * 

DEVELOPMENT POTENTIAL

* * * * * * * * * * * * * * * * * */

/* Residential */

.development-intro {
	padding-bottom: 100px;
}

.development-intro img {
	border-radius: 30px;
	margin-top: 30px
}

@media (min-width: 768px) {
	.development-intro img {
		margin-top: 0;
	}
}

/* Suitability */

.suitability {
	padding-bottom: 100px;
}

.suitability > div {
	padding-top: 100px;
	border-top: 1px solid rgba(29, 26, 23,0.10);
}

.suitability img {
	border-radius: 30px;
	margin-bottom: 50px
}

@media (min-width: 768px) {
	.suitability img {
		margin-bottom: 0;
	}
}


/* * * * * * * * * * * * * * * * * * 

AVAILABILITY & LEASING OPTIONS

* * * * * * * * * * * * * * * * * */

.availability-intro {
	padding-bottom: 80px;
}

.availability-picture-block {
	padding-bottom: 100px;
}

.availability-picture-block img {
	border-radius: 20px;
}

#pic-block-row .img1,
#pic-block-row .img2,
#pic-block-row .img3 {
	padding-top: 30px;
}

@media (min-width: 768px) {
	#pic-block-row .img1,
	#pic-block-row .img3
	{
		flex: 0.75;
	}

	#pic-block-row .img2
	{
		flex: 1.3334;
	}
}

.availability-facts {
	padding-bottom: 100px;
}

#availability-fact-outer:first-of-type {
	padding-top: 18px;
}

#availability-fact-outer {
	padding-bottom: 10px;
}

#availability-fact-inner {
	padding: 20px;
	border-radius: 100px;
	text-align: center;
	border: 2px solid #1d1a17;
	font-weight: 700;
}


.availability-floorplans {
	padding-bottom: 100px;
	padding-top: 100px;
	background-color: #ede9e6;
	margin-bottom: 100px;
}

.floors {
	position: sticky;
	top: 120px;
	transform-origin: center top;
	/*aspect-ratio: 4/3;*/
	background-color: white;
	border-radius: 30px;
	margin-top: 100px;
	flex-direction: column;
	outline: 10px solid #ede9e6;
}

@media (min-width: 768px) {
	.floors {
		top: 200px;
	}
}

.floors:first-of-type {
	margin-top: 0;
}

.floor-title {
	padding: 30px 0 0 30px;
}

@media (min-width: 768px) {
	.floor-title {
		padding: 50px 0 0 50px;
	}
}

.floorplan {
	height: calc(100vh - 340px);
	overflow: hidden;
}

.floorplan img {
	object-fit: contain;
	object-position: center center;
	height: 100%;
}


/* * * * * * * * * * * * * * * * * * 

CONTACT

* * * * * * * * * * * * * * * * * */

.contact-details p {
	font-size: 1.2rem;
	margin-bottom: 10px;
}

.contact-box {
	border-radius: 30px;
	overflow: hidden;
	background-color: #d0d8dc;
	margin-top: 80px;
}

@media (min-width: 768px) {
	.contact-box {
		margin-top: 0;
	}
}

.contact-box #lets-talk-text p {
	margin-bottom: 200px;
}

/* * * * * * * * * * * * * * * * * * 

FOOTER

* * * * * * * * * * * * * * * * * */



#footer {
	position: relative;
	margin-top: 0;
	text-align: left;
	color: #1d1a17;
	background-color: #ede9e6;
	z-index: unset;
	padding-top: 40px;
	padding-bottom: 20px;
}

@media (min-width: 768px) {
	#footer {
		padding-top: 80px;
		padding-bottom: 40px;
	}
}

#footer-logo {
	font-size: 1.2rem;
	text-wrap: balance;
	color: rgba(29,26,23,0.40);
	font-weight: 300;
	margin-bottom: 30px;
}

@media (min-width: 768px) {
	#footer-logo {
		margin-bottom: 60px;
	}
}

#footer-logo svg {
	margin-bottom: 20px;
}

#footer-links {
	font-size: 1.4rem;
	font-weight: 300;
	text-align: right;
}

.footer-menu {
	padding-left: 0;
}

.footer-menu li {
	list-style: none;
	padding-left: 30px;
	display: inline-block;
}

.footer-menu a {
	text-decoration: none;
}

#footer-signoff {
	margin-top: 20px;
	text-wrap: balance;
}

@media (min-width: 768px) {
	#footer-signoff {
		margin-top: 40px;
	}
}

#footer p.copyright,
#footer p.legal {
	margin-bottom: 15px;
	font-size: 1.2rem;
	line-height: 1;
	color: rgba(29,26,23,0.40);
}



@media (min-width: 768px) {
	#footer p.copyright {
		margin-bottom: 0;
	}	
	
	#footer p.legal {
		text-align: right;
	}
}

#footer p.copyright a,
#footer p.legal a {
    text-decoration: none;	
	color: rgba(29,26,23,0.40);
	margin-left: 20px;
}

#footer p.legal a:first-of-type {
	margin-left: 0;
}

#linkedin-footer {
	display: inline-block;
	margin-top: -5px;
	opacity: 0.4;
}



/* * * * * * * * * * * * * * * * * * 

404 Page

* * * * * * * * * * * * * * * * * */


body.error404 #page {
	padding-top: 125px;
}

.FourOFour {
	height: calc(100vh - 125px);
}


/* 404 Text */

#error-text {
	text-align: center;
	margin: 50px 0 0 0;
}

@media (min-width: 768px) {
	#error-text {
	text-align: center;
	margin: auto 0 auto 0;
	}
}

#error-text #fof {
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 3rem;
}

#error-text h1 {
	font-size: 10rem;
	margin-bottom: 2.2rem;
}

#error-text p {
	font-size: 1.8rem;
	margin-bottom: 3rem;	
}


/* Face */

.face {
  display: block;
  width: 12em;
  height: auto;
}

@media (min-width: 768px) {
	.face {
	  width: 20em;
	}
}

.face g {
	stroke: #d81e5b;
}
	
.face__eyes, .face__eye-lid, .face__mouth-left, .face__mouth-right, .face__nose, .face__pupil {
  animation: eyes 1s 0.3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}
.face__eye-lid, .face__pupil {
  animation-duration: 4s;
  animation-delay: 1.3s;
  animation-iteration-count: infinite;
}
.face__eye-lid {
  animation-name: eye-lid;
}
.face__mouth-left, .face__mouth-right {
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
.face__mouth-left {
  animation-name: mouth-left;
}
.face__mouth-right {
  animation-name: mouth-right;
}
.face__nose {
  animation-name: nose;
}
.face__pupil {
  animation-name: pupil;
}

/* Animations */
@keyframes eye-lid {
  from, 40%, 45%, to {
    transform: translateY(0);
  }
  42.5% {
    transform: translateY(17.5px);
  }
}
@keyframes eyes {
  from {
    transform: translateY(112.5px);
  }
  to {
    transform: translateY(15px);
  }
}
@keyframes pupil {
  from, 37.5%, 40%, 45%, 87.5%, to {
    stroke-dashoffset: 0;
    transform: translate(0, 0);
  }
  12.5%, 25%, 62.5%, 75% {
    stroke-dashoffset: 0;
    transform: translate(-35px, 0);
  }
  42.5% {
    stroke-dashoffset: 35;
    transform: translate(0, 17.5px);
  }
}
@keyframes mouth-left {
  from, 50% {
    stroke-dashoffset: -102;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes mouth-right {
  from, 50% {
    stroke-dashoffset: 102;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes nose {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(0, 22.5px);
  }
}



/* * * * * * * * * * * * * * * * * * 

Block Movements

* * * * * * * * * * * * * * * * * */

.animatable {
  /* initially hide animatable objects */
  visibility: hidden;

  /* initially pause animatable objects their animations */
  animation-play-state: paused;
}

/* show objects being animated */
.animated {
  visibility: visible;

  animation-fill-mode: both;
  animation-duration: 1s;
  animation-play-state: running;
}

/* CSS Animations (extracted from http://glifo.uiparade.com/) */
@keyframes fadeIn {
  0%,
  60% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    transform: translateX(20px);
  }
  80% {
    transform: translateX(-5px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    transform: translateX(-20px);
  }
  80% {
    transform: translateX(5px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes moveUp {
  0% {
    transform: translateY(80px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes fadeBgColor {
  0%,
  70% {
    background: none;
  }
  100% {
    background: #464646;
  }
}

.animated.animationDelay {
  animation-delay: 0.4s;
}
.animated.animationDelayMed {
  animation-delay: 1.2s;
}
.animated.animationDelayLong {
  animation-delay: 1.6s;
}
.animated.fadeBgColor {
  animation-name: fadeBgColor;
}
.animated.bounceIn {
  animation-name: bounceIn;
}
.animated.bounceInRight {
  animation-name: bounceInRight;
}
.animated.bounceInLeft {
  animation-name: bounceInLeft;
}
.animated.fadeIn {
  animation-name: fadeIn;
}
.animated.fadeInDown {
  animation-name: fadeInDown;
}
.animated.fadeInUp {
  animation-name: fadeInUp;
}
.animated.moveUp {
  animation-name: moveUp;
}



