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

	Theme Name: Sullivan
    Text Domain: sullivan
	Version: 1.29
	Description: Sullivan is a WordPress theme built with WooCommerce powered stores in mind, but it works just as well for regular business websites or blogs. It features a beautiful design with custom styling for all WooCommerce pages and features, Block Editor/Gutenberg support, a search field displaying instant results, dropdown modals for both My Account and the basket in the header, full-width slideshows on both the blog page and the store page, a slideshow for posts set to the gallery post format, custom widgets, social menus, and much more. Note: In order to get the slideshow functionality, you also need to install the Sullivan Compatibility Plugin, available on the WordPress.org plugin directory. Demo: https://www.andersnoren.se/themes/sullivan/
	Tags: two-columns, right-sidebar, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, e-commerce, block-styles, wide-blocks
	Author: Anders Norén
	Author URI: https://www.andersnoren.se
	License: GNU General Public License version 2.0
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Theme URI: https://www.andersnoren.se/teman/sullivan-wordpress-theme/
	Tested up to: 5.7.1
	Requires PHP: 5.4
	
	All files, unless otherwise stated, are released under the GNU General Public License
	version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

-----------------------------------------------------------------------------------

	0.	CSS Reset
	1.	Document Setup
	2.  Structure
	3.	Site Header
	4.	Archive
	5.	Singular
	6.  Entry Content
	7.	Comments
	8.	Page Templates
	9.	Site Pagination
	10.	Site Footer
	11. Media Queries

	WooCommerce specific styles are located in assets/css/woocoommerce-style.css.

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


/* -------------------------------------------------------------------------------- */
/*	X. CSS Reset
/* -------------------------------------------------------------------------------- */

html, body { 
    margin: 0; 
    padding: 0; 
    height: 100%; 
    min-height: 100%; 
}

h1, h2, h3, h4, h5, h6, p, blockquote, address, big, cite, code, em, font, img, small, strike, sub, sup, li, ol, ul, fieldset, form, label, legend, button, table, caption, tr, th, td, figure, figcaption {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	font-style: normal;
	font-size: 100%;
	line-height: 1;
	text-align: left;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

ol, ul { list-style:none; }

blockquote:before, 
blockquote:after { content:""; }

a { outline:none; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

/* Screen Reader Text ------------------------ */

.screen-reader-text {
	clip: rect( 1px, 1px, 1px, 1px );
	height: 1px;
	overflow: hidden;
    position: absolute !important;
    width: 1px;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Skip Link --------------------------------- */

.skip-link {
	position: absolute;
		left: -9999rem;
		top: 2.5rem;
	z-index: 999999999;
}

.skip-link:focus {
	left: 2.5rem;
	text-decoration: none;
}


/* -------------------------------------------------------------------------------- */
/*	X. Document Setup
/* -------------------------------------------------------------------------------- */


body {
    /* background: #111; */
	border: none;
    color: #111; 
	font-family: Archivo, 'Helvetica Neue', Helvetica, sans-serif;
    font-size: 18px;
}

body.customizer-preview {
	transition: color .15s ease-in-out, background-color .15s ease-in-out;
}

body.lock-scroll {
	height: 100%;
	position: fixed;
	width: 100%;
}

body * {
        -webkit-box-sizing: border-box; 
        -moz-box-sizing: border-box; 
	box-sizing: border-box; 
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: break-word;
}

body a {
	color: inherit;
	text-decoration: none;
}

body a:hover { 
	text-decoration: underline; 
}

.group:after,
.pagination:after,
.gallery:after {
	clear: both; 
	content: "";
	display: block;
}

::selection {
	background: #111;
	color: #FFF;
}

input::-webkit-input-placeholder { color: #767676; }
input:-ms-input-placeholder { color: #767676; }
input::-moz-placeholder { color: #767676; }


/* Fonts ----------------------------- */


@font-face {
	font-family: 'Charis SIL';
	src: url( ./assets/fonts/CharisSIL-R.woff );
}

@font-face {
	font-family: 'Charis SIL';
	font-style: italic;
	src: url( ./assets/fonts/CharisSIL-I.woff );
}

@font-face {
	font-family: 'Charis SIL';
	font-weight: bold;
	src: url( ./assets/fonts/CharisSIL-B.woff );
}

@font-face {
	font-family: 'Charis SIL';
	font-weight: bold;
	font-style: italic;
	src: url( ./assets/fonts/CharisSIL-BI.woff );
}


/* -------------------------------------------------------------------------------- */
/*	X.	Structure
/* -------------------------------------------------------------------------------- */


#site-content {
	background: #fff;
	display: block;
	/* padding: 80px 0; */
}

.section-inner {
	margin: 0 auto;
	max-width: 1280px;
	width: 90%;
}

.section-inner + .section-inner {
	margin-top: 0px;
}

.section-inner.medium { max-width: 870px; }
.section-inner.thin { max-width: 600px; }

.section-inner.max-percentage {
	width: 100%;
}


/* Split Section ----------------------------- */


.split {
	display: flex;
	justify-content: space-between;
}

.split .content {
	width: calc( 75% + -50px );
}

.split .sidebar {
	flex-shrink: 0;
	margin-left: 80px;
    width: calc( 25% - 30px );
}


/* Item Grid ----------------------------- */


ul.item-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 0 -60px -40px;
}

.item-grid li {
    margin: 0 0 60px 40px;
    position: relative;
    width: calc( 25% - 40px );
}


/* Default Transitions ----------------------------- */

a {
	transition: all .15s ease-in-out;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Element Base
/* -------------------------------------------------------------------------------- */


/* Base Typography ----------------------------- */

/* HELPERS */

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.text-uppercase { text-transform: uppercase; }

/* TITLES */

h1, h2, h3, h4, h5, h6 {
	font-family: 'Charis SIL', Georgia, serif;
	font-weight: 400;
	letter-spacing: -0.005em;
	line-height: 1.155;
	margin: .75em 0 .4em;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
	margin-top: 0;
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
	margin-bottom: 0;
}

h1 { font-size: 48px; }
h2 { font-size: 40px; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

.subheading {
	color: #767676;
	font-family: Archivo, 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	margin-bottom: 10px;
}

/* EXCERPTS */

.excerpt {
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 28px;
	letter-spacing: -0.01em;
	line-height: 1.4;
}

.sans-excerpt {
	font-size: 22px;
	line-height: 1.41;
}


/* Base Colors ----------------------------- */


.bg-white {
	background-color: #fff;
}

.bg-gray {
	background-color: #F5F5F7;
}

.bg-black {
	background-color: #E8E6E6;
	color: #fff;
}


/* Base Media ----------------------------- */


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

.bg-image {
	background: no-repeat center;
	background-size: cover;
}

.bg-attach {
	background-attachment: fixed;
}

.dark-overlay {
	position: relative;
}

.dark-overlay:before {
	background: rgba( 17, 17, 17, 0.5 );
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Header
/* -------------------------------------------------------------------------------- */


.woocommerce-store-notice {
	color: #fff;
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 14px;
	font-style: italic;
	line-height: 1.25;
	margin: 0 auto;
	max-width: 1280px;
	padding: 13px 44px 14px;
	position: relative;
	text-align: center;
	width: 90%;
}

.woocommerce-store-notice__dismiss-link {
	background: url( ./assets/svg/cross-white.svg ) no-repeat center;
	background-size: 16px;
	display: block;
	height: 44px;
	position: absolute;
		right: 0;
		top: calc( 50% - 22px );
	text-indent: -99999px;
	width: 44px;
}

.site-header { 
	background: #fff;
	/* border-bottom: 1px solid #e1e1e5; */
    margin: 0 auto;
	position: relative;
}

.site-header .section-inner {
	/* padding: 60px 0; */
	position: relative;
	transition: padding .15s linear;
}

.site-header .header-titles {
	margin: 0 auto;
	max-width: calc( 100% - 600px );
	text-align: center;
}

.site-header .site-title,
.site-header .site-description {
	text-align: inherit;
}

.site-header .site-title {
	font-size: 40px;
	margin: 0;
}

.site-header .site-description {
	margin-top: 18px;
}

.site-header .custom-logo-link {
	display: block;
}

.site-header .custom-logo-link img {
	margin: 0 auto;
	object-fit: contain;
	display: block;
}

.site-header .site-title a:hover {
	color: rgba( 0, 0, 0, .35 );
	text-decoration: none;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Header Modals
/* -------------------------------------------------------------------------------- */


/* Modal Base ----------------------------- */


.modal {
	background: #fff;
	border: 1px solid #e1e1e5;
	font-size: 14px;
	opacity: 0;
	position: absolute;
		top: calc( 100% + 15px );
	transform: translateY( 5px );
	transition: opacity .15s linear, transform .15s linear, left .0s .15s, right 0s .15s;
	width: 300px;
	z-index: 100;
}

.modal.active {
	opacity: 1;
	transform: translateY( 0 );
}

.modal:before,
.modal:after {
	border: 10px solid transparent;
	content: "";
	display: block;
	position: absolute;
		bottom: 100%;
}

.modal.arrow-left {
	left: -9999px;
}

.modal.arrow-right {
	right: 9999px;
}

.modal.arrow-left.active {
	left: -23px;
	transition: opacity .15s linear, transform .15s linear;
}

.modal.arrow-right.active {
	right: -23px;
	transition: opacity .15s linear, transform .15s linear;
}

.modal.arrow-left:before,
.modal.arrow-left:after {
	left: 26px;
}

.modal.arrow-right:before,
.modal.arrow-right:after {
	right: 26px;
}

.modal:before {
	border-bottom-color: #e1e1e5;
}

.modal:after {
	border-bottom-color: #fff;
	bottom: calc( 100% - 1.5px );
}


/* Header Search ----------------------------- */

.header-search {
	position: absolute;
		left: 0;
		top: 50%;
	transform: translateY( -50% );
	z-index: 100;
}

.header-search label {
	background: url( ./assets/svg/spyglass-black.svg ) no-repeat center;
	background-size: 29px auto;
	cursor: text;
	margin: 0;
	position: absolute;
		bottom: 0;
		left: 0;
		top: 0;
	width: 30px;
}

.header-search input[type="search"] {
	border: none;
	font-size: 16px;
	font-weight: 500;
	margin: 0;
	padding: 10px 0 10px 44px;
}

.header-search input[type="search"]::-webkit-input-placeholder { color: inherit; }
.header-search input[type="search"]:-ms-input-placeholder { color: inherit; }
.header-search input[type="search"]::-moz-placeholder { color: inherit; }

/* COMPACT RESULTS */

.compact-search-results {
	font-size: 14px;
}

.compact-search-results ul {
	padding: 21px 16px;
}

.compact-search-results ul li {
	margin-bottom: 12px;
}

.compact-search-results li img,
.compact-search-results li .post-image {
	height: 50px;
	width: 50px;
}

.compact-search-results li a .title {
	font-family: Archivo, 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 500;
}

.compact-search-results .show-all {
	background-color: #F5F5F7;
	display: block;
	font-weight: 500;
	padding: 21px 5%;
	text-align: center;
}

.compact-search-results .show-all span {
	padding-right: 22px;
	position: relative;
}

.compact-search-results .show-all span:after {
	background: url( ./assets/svg/arrow-right-black.svg ) no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: 11px;
	position: absolute;
		right: 0;
		top: calc( 50% - 5px );
	width: 16px;
}

.compact-search-results .no-results-message {
	line-height: 1.3;
	padding: 19px 16px 20px;
	text-align: center;
}


/* Header Social ----------------------------- */


.social-menu.header {
	position: absolute;
		right: 0;
		top: 50%;
	transform: translateY( -50% );
}

.social-menu.header li {
	display: inline-block;
}

.social-menu.header a {
	display: block;
	padding: 10px;
}

.social-menu.header a:hover {
	opacity: .5;
	text-decoration: none;
}

.social-menu.header a:before {
	font-size: 24px;
}


/* Header Toggle Base ----------------------------- */


.site-header .toggle {
	align-items: center;
	cursor: pointer;
	display: flex;
	height: 28px;
	padding-right: 43px;
}

.site-header .toggle:hover {
	text-decoration: none;
}

.site-header .toggle:before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	content: "";
	display: block;
	height: 28px;
	position: absolute;
		right: 0;
		top: calc( 50% - 14px );
	width: 28px;
}

.site-header .toggle p {
	font-size: 16px;
	font-weight: 500;
}


/* Header Account Modal ----------------------------- */


.header-account {
	position: absolute;
		top: 50%;
		right: 145px;
	transform: translateY( -50% );
	z-index: 5;
}

.account-toggle:before {
	background-image: url( ./assets/svg/account-black.svg );
}

/* NOT LOGGED IN */

.account-modal form {
	padding: 20px;
}

.account-modal .form-row-first label,
.account-modal .form-row-last label {
	display: block;
	font-size: 14px;
	margin-bottom: 5px;
}

.account-modal form .input-text {
	padding: 13px 15px;
}

.account-modal form input[type="submit"] {
	margin-right: 10px;
	min-width: 0;
	padding: 12px 25px;
}

.account-modal form > .lost_password {
	display: none;
}

.account-modal .login-registration-form-links {
	background: #F5F5F7;
	margin: 20px -20px -20px;
	padding: 20px 20px;
	text-align: center;
}

.account-modal .login-registration-form-links p {
	display: inline;
}

.account-modal .login-registration-form-links .sep {
	color: #767676;
	margin: 0 7px 0 5px;
}

/* LOGGED IN */

.account-modal header,
.account-modal nav,
.account-modal footer {
	display: block;
	text-align: left;
}

.account-modal header {
	padding: 20px 20px;
}

.account-modal header strong {
	display: block;
	font-weight: 500;
}

.account-modal header span {
	display: block;
	margin-top: 5px;
}

.account-modal nav,
.account-modal footer {
	border-top: 1px solid #e1e1e5;
	padding: 10px 0;
}

.account-modal.logged-in a {
	background: #fff;
	display: block;
	font-weight: 500;
	padding: 14px 20px 16px 54px;
	position: relative;
}

.account-modal.logged-in a:hover {
	background-color: #F5F5F7;
	text-decoration: none;
}

.account-modal.logged-in a:before {
	background: no-repeat center;
	content: "";
	display: block;
	height: 22px;
	position: absolute;
		left: 16px;
		top: calc( 50% - 11px );
	width: 22px;
}

.account-modal.logged-in a.edit-account:before { background-image: url( ./assets/svg/cog-black.svg ); background-size: 17px auto; }
.account-modal.logged-in a.edit-address:before { background-image: url( ./assets/svg/location-black.svg ); background-size: auto 19px; }
.account-modal.logged-in a.orders:before { background-image: url( ./assets/svg/orders-black.svg ); background-size: auto 21px; }
.account-modal.logged-in a.log-out:before { background-image: url( ./assets/svg/sign-out-arrow-black.svg ); background-size: 16px auto; }


/* Header Cart Modal ----------------------------- */

.header-cart {
	position: absolute;
		top: 50%;
		right: 0;
	transform: translateY( -50% );
	z-index: 5;
}

.cart-toggle:before {
	background-image: url( ./assets/svg/cart-black.svg );
}

.cart-count {
	align-items: center;
	background: #111;
	border: 2px solid #fff;
	box-sizing: border-box;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 11px;
	font-weight: 500;
	height: 24px;
	justify-content: center;
	padding-bottom: 1px;
	position: absolute;
		right: -10px;
		top: -11px;
	width: 24px;
}

.header-cart .widget_shopping_cart_content {
	padding: 16px;
}



/* -------------------------------------------------------------------------------- */
/*	X.	Site Navigation
/* -------------------------------------------------------------------------------- */


/* Mobile Menu ----------------------------- */


.nav-toggle,
.mobile-menu-wrapper,
.mobile-nav-content-overlay {
	display: none;
}


/* Primary Menu ----------------------------- */


.site-nav {
	background: #fff;
	/* border-top: 1px solid #E1E1E5; */
	position: relative;
	text-align: center;
	z-index: 1;
}

.make-sticky {
	box-shadow: 0 2px 10px rgba( 0, 0, 0, 0.075 );
	position: fixed;
		left: 0;
		right: 0;
		top: 0;
	z-index: 999;
}

.site-nav.make-sticky {
	top: -1px;
}

.site-nav li {
	position: relative;
}

.site-nav > li {
	display: inline-block;
}

.site-nav a {
	display: block;
	padding: 24px 25px;
}

.site-nav .current-menu-item > a {
	text-decoration: underline;
}

.site-nav li.menu-item-has-children > a {
	padding-right: 42px;
}

.site-nav li.menu-item-has-children > a:after {
	background: url( ./assets/svg/chevron-down-black.svg ) no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: 12px;
	position: absolute;
		right: 20px;
		top: calc( 50% - 5px );
	transition: transform .15s linear;
	width: 12px;
}

.site-nav li.menu-item-has-children:hover > a:after {
	transform: translateY( 1px );
}

/* DEEP DOWN */


.site-nav ul {
	background: #fff;
	border: 1px solid #e1e1e5;
	opacity: 0;
	padding: 10px 0;
	position: absolute;
		left: -9999px;
		top: calc( 100% - 5px );
	transform: translateY( 3px );
	transition: opacity .1s linear, transform .1s linear, left 0s .1s;
	width: 220px;
}

.site-nav ul:after {
	background: #fff;
	border: 1px solid #e1e1e5;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
		left: 20px;
		top: -5px;
	transform: rotate(45deg);
	width: 10px;
	z-index: 1;
}

.site-nav ul li:first-child:before {
	background: #fff;
	content: "";
	display: block;
	height: 20px;
	position: absolute;
		left: 0;
		right: 0;
		top: -10px;
	z-index: 2;
}

.site-nav ul li.menu-item-has-children > a {
	padding-right: 37px;
}

.site-nav ul li.menu-item-has-children > a:after {
	right: 15px;
	transform: rotate( -90deg );
	top: calc( 50% - 6px );
}

.site-nav ul li.menu-item-has-children:hover > a:after {
	transform: rotate( -90deg ) translateY( 2px );
}

.site-nav ul li.menu-item-has-children > a:before {
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		right: -1px;
		top: 0;
	width: 2px;
}

.site-nav li:hover > ul {
	left: 25px;
	opacity: 1;
	transform: translateY( 0 );
	transition: opacity .1s linear, transform .1s linear;
}

.site-nav ul a {
	background: #fff;
	display: block;
	font-size: 15px;
	font-weight: 500;
	padding: 12px 20px;
	position: relative;
	z-index: 2;
}

.site-nav ul ul {
	top: -10px;
}

.site-nav ul ul:before {
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: -12px;
		top: 0;
	width: 12px;
}

.site-nav ul ul:after {
	top: 23px;
	left: -5px;
}

.site-nav ul li:hover > ul {
	left: calc( 100% + 12px );
	top: -10px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Blog Archive
/* -------------------------------------------------------------------------------- */


/* Hero Slider ---------------------------- */


.hero-slider {
	position: relative;
}

.hero-slider .dark-overlay:before {
	background: linear-gradient( -26deg, rgba( 0, 0, 0, 0 ) 5%, rgba( 0, 0, 0, 0.7 ) );
}

.hero-slider .slides,
.hero-slider .slide,
.hero-slider .slide > .bg-image {
	display: flex !important;
}

.hero-slider .slide {
	opacity: 0;
	transition: opacity .15s linear;
}

.hero-slider.loaded .slide {
	opacity: 1;
}

.hero-slider .slide > .bg-image {
	align-items: center;
	width: 100%;
}

.hero-slider .slide .section-inner {
	padding: 140px 0;
	position: relative;
}

.hero-slider .slide header {
	max-width: 600px;
	opacity: 1;
	transition: opacity .15s linear;
}

.hero-slider.sliding .slide header {
	opacity: 0;	
}

.hero-slider .slide h1,
.hero-slider .slide p {
	text-shadow: 0 1px 0 rgba( 17, 17, 17, 0.155 );
}

.hero-slider .slide .button-wrapper {
	margin-top: 40px;
}


/* FLEX DIRECTION NAV */


.flex-direction-nav a {
	display: block;
	opacity: 0;
	position: absolute;
		bottom: 0;
		top: 0;
	text-indent: -9999px;
	transition: all .2s linear;
	width: 90px;
}

.flex-direction-nav a:before {
	background: no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: 20px;
	position: absolute;
		left: calc( 50% - 14px );
		top: calc( 50% - 10px );
	width: 28px;
}

.flex-direction-nav .flex-prev { 
	left: 0;
	background-image: linear-gradient(270deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.50) 100%); 
}

.flex-direction-nav .flex-prev:before {
	background-image: url( ./assets/svg/arrow-left-white.svg );
}

.flex-direction-nav .flex-next { 
	right: 0;
	background-image: linear-gradient(-270deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.50) 100%); 
}

.flex-direction-nav .flex-next:before {
	background-image: url( ./assets/svg/arrow-right-white.svg );
}

.flex-direction-nav a:hover {
	opacity: 1;
	width: 100px;
}


/* FLEX CONTROL NAV */

.flex-control-nav {
	display: flex;
	position: absolute;
		bottom: 25px;
		left: 25px;
	transition: all .25s linear;
}

.hero-slider .flex-control-nav {
	left: calc( 50vw - 640px );
}

.flex-control-nav.has-background {
	background: rgba( 0, 0, 0, 0.1 );
	border-radius: 4px;
	margin: -4px -6px;
	padding: 4px 6px;
}

.flex-control-nav a {
	display: block;
	text-indent: -9999px;
	height: 20px;
	position: relative;
	width: 20px;
}

.flex-control-nav a:before {
	background: rgba( 255, 255, 255, .4 );
	border-radius: 50%;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
		left: 5px;
		top: 5px;
	transition: background-color .15s linear;
	width: 10px;
}

.flex-control-nav a:hover:before,
.flex-control-nav a.flex-active:before {
	background: rgba( 255, 255, 255, 1 );
}


/* Posts wrapper ----------------------------- */


.posts article + article {
	border-top: 1px solid #e1e1e5;
	margin-top: 50px;
	padding-top: 50px;
}


/* Featured Media ----------------------------- */

.featured-media {
	margin-bottom: 40px;
}

.featured-media img {
	width: 100%;
}

.post-slider {
	position: relative;
}

.post-slider .slides {
	align-items: stretch;
	display: flex;
	position: relative;
}

.post-slider .slide {
	align-items: center;
	display: flex !important;
	position: relative;
}

.post-slider.loading .slide:not(:first-child) {
	opacity: 0;
}

.slider-caption {
	background: rgba( 17, 17, 17, 0.5 );
	font-size: 14px;
	max-width: 100%;
	padding: 16px 20px;
	position: absolute;
		bottom: 0;
		left: 0;
	transition: background-color .15s linear;
}

.slider-caption:hover {
	background: #111;
}


/* Post Header ----------------------------- */


.post-header {
	margin-bottom: 35px;
}

.post-header .header-meta {
	margin-bottom: 5px;
}

.post-header .header-meta > a,
.post-header .header-meta span {
	display: inline-block;
	margin: 0 10px 8px 0;
}

.post-title {
	margin: 0;
}

.post-inner.between {
	display: flex;
	justify-content: space-between;
}

.post-inner.compensate {
	margin-left: auto;
	max-width: 600px;
	position: relative;
	width: 69%;
}

.post-content-wrapper {
	max-width: 600px;
	width: 69%;
}

.post-inner .excerpt {
	margin-bottom: 30px;
}

.post-inner .mobile-excerpt {
	display: none;
}


/* Post Meta ----------------------------- */

.post-inner .post-meta {
	font-size: 16px;
}

.post-inner.between .post-meta {
	margin-right: 3.5%;
    min-width: 27.5%;
}

.post-meta p {
	font-weight: inherit;
	line-height: 1.155;
}

.post-meta.top p + p {
	margin-top: 20px;
}

.post-meta.top span {
	display: block;
}

.post-meta.top .mobile-meta-title {
	display: none;
}

.post-meta.top .subheading {
	margin-bottom: 4px;
}


/* Archive Header ----------------------------- */

.archive-header {
	border-bottom: 1px solid #e1e1e5;
	margin-bottom: 60px;
	padding-bottom: 24px;
}

.archive-header .subheading {
	margin: 0 0 8px;
}

.archive-header .archive-title {
	font-weight: 700;
	margin: 0;
}

.archive-header p {
	font-size: 16px;
	line-height: 1.5;
	margin: 10px 0 0;
	max-width: 433px;
	width: 100%;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Blog Single
/* -------------------------------------------------------------------------------- */


/* Post Meta Bottom ----------------------------- */


.post-meta.bottom {
	margin-top: 30px;
}

.post-meta.bottom.no-tags,
.post-meta.bottom .post-categories {
	display: none;
}

.post-meta.bottom p + p {
	margin-top: 10px;
}

.post-meta.bottom span {
	display: inline;
	font-size: 16px;
	font-weight: 500;
}

.post-meta.bottom .meta-title {
	margin-right: 4px;
}


/* Single Pagination ----------------------------- */


.single-pagination {
	display: flex;
	flex-wrap: wrap;
	font-size: 16px;
	justify-content: space-between;
	margin-top: 80px;
}

.single-pagination.only-one {
	max-width: 100%;
}

.single-pagination a {
	display: block;
	width: calc( 50% - 10px );
}

.single-pagination span {
	display: block;
	text-align: inherit;
}

.single-pagination .title {
	line-height: 1.25;
}

.single-pagination .next-post + .previous-post {
	text-align: right;
}

.single-pagination a:hover {
	text-decoration: none;
}

.single-pagination a:hover .title {
	text-decoration: underline;
}


/* Title left blocks ----------------------------- */

.comments,
.comment-respond,
.related-posts {
	margin: 80px auto 0 auto;
	padding: 31px 0 0;
	position: relative;
}

.comments:before,
.comment-respond:before,
.related-posts:before {
	background: #e1e1e5;
	content: "";
	height: 1px;
	position: absolute;
		right: 0;
		top: 0;
	width: 100%;
}

.hanging-titles .comments,
.hanging-titles .comment-respond,
.hanging-titles .related-posts {
	margin-left: auto;
	margin-right: 0;
	max-width: 600px;
	width: 69%;
}

.hanging-titles .comments:before,
.hanging-titles .comment-respond:before,
.hanging-titles .related-posts:before {
	width: 150%;
}

.hanging-titles .comment-reply-title,
.hanging-titles .related-posts-title {
	padding-right: 20px;
	position: absolute;
		right: 100%;
		top: 30px;
	width: 50%;
}


/* Related Posts ----------------------------- */

.related-posts {
		display: -webkit-box;
		display: -ms-flexbox;
	display: flex;
		-ms-flex-wrap: wrap;
	flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: -20px;
}

.related-post {
	float: left;
	margin-bottom: 25px;
	width: calc( 50% - 10px );
}

.related-post-image {
	background-color: #f4f4f6;
	margin-bottom: 10px;
}

.related-post-image img {
	display: none;
}

.related-post-image:before {
	content: "";
	display: block;
	padding-bottom: 62.5%;
	width: 100%;
}

.related-post .title {
	font-size: 20px;
	line-height: 1.155;
		-ms-word-break: break-word;
	word-break: break-word;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Comments
/* -------------------------------------------------------------------------------- */


.comment-reply-title {
	margin: 0 0 50px 0;
}

.comment-reply-title small {
	font-size: 20px;
	margin-left: 10px;
}

.comment-reply-title + .comment {
	margin-top: 8px;
}

.comment { 
	font-size: 18px;
	margin-top: 40px; 
}

.comment a {
	color: inherit;
}

.commentlist > .comment:first-child { 
	margin-top: 0; 
}

.comment .comment { 
	margin-left: 5%;
}

.comment-author,
.comment-metadata {
	display: inline;
	line-height: 1.155;
}

.bypostauthor .comment-author b {
	font-style: italic;
	font-weight: 500;
}

.comment-author b {
	font-weight: 500;
}

.comment-author .says { 
	display: none; 
}

.comment-meta {
	margin-bottom: 20px;
}

.comment-metadata,
.comment-metadata .edit-link {
	color: #767676;
	margin-left: 18px;
}

.comment-content,
.comment-content p,
.comment-content li {
	line-height: 1.4;
}

.comment-content p,
.comment-content li {
	margin-bottom: 20px;
}

.comment-content *:last-child {
	margin-bottom: 0;
}

.comment .reply {
	color: #767676;
	font-size: 14px;
	font-weight: 500;
	margin-top: 15px;
}


/* Comments Pagination ---------------------------- */


.comments-pagination {
	margin-top: 100px;
	position: relative;
	text-align: center;
}

.comments-pagination .page-numbers {
	display: inline-block;
	padding: 0 10px;
}

.comments-pagination ul.page-numbers.dots {
	color: rgba( 0, 0, 0, .35 );
}

.comments-pagination .prev,
.comments-pagination .next {
	padding: 0;
	position: absolute;
		top: 0;
}

.comments-pagination .prev { left: 0; }
.comments-pagination .next { right: 0; }


/* Respond ---------------------------- */


.logged-in .comment-respond .comment-reply-title {
	margin-bottom: 20px;
}

.comment-respond .logged-in-as {
	line-height: 1.25;
	margin: 10px 0 40px 0;
}

.comment-respond .comment-form p {
	margin-bottom: 20px;
}

.comment-respond .comment-form > p:last-of-type {
	margin-bottom: 0;
}

.comment-respond .comment-form-author,
.comment-respond .comment-form-email {
	float: left;
	width: calc( 50% - 10px );
}

.comment-respond .comment-form-email {
	margin-left: 20px;
}

.comment-respond label { 
	display: block; 
}

.comment-respond input[type="checkbox"] + label {
	display: inline;
	margin: 0 0 0 5px;
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond textarea {
	margin-bottom: 0;
}


/* Reply Respond ---------------------------- */

.comments .comment-respond {
	margin: 50px 0;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Blocks
/* -------------------------------------------------------------------------------- */


/* Block: Base Margins ----------------------- */

:root *[class*="_inner-container"] > *:first-child {
	margin-top: 0;
}

:root *[class*="_inner-container"] > *:last-child {
	margin-bottom: 0;
}

.wp-block-archives,
.wp-block-button,
.wp-block-buttons,
.wp-block-categories,
.wp-block-code,
.wp-block-columns,
.wp-block-cover,
.wp-block-cover-image,
.wp-block-embed,
.wp-block-gallery,
.wp-block-group,
.wp-block-image,
.wp-block-latest-comments,
.wp-block-latest-posts,
.wp-block-media-text,
.wp-block-preformatted,
.wp-block-pullquote,
.wp-block-social,
.wp-block-social-links,
.wp-block-quote,
.wp-block-quote.is-large,
.wp-block-quote.is-style-large,
.wp-block-verse,
.wp-block-video {
	margin-bottom: 30px;
	margin-top: 30px;
}

/* Block: Shared Nesting Alignment Resets ---- */

[class*="__inner-container"] .wp-block-group:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright),
[class*="__inner-container"] .wp-block-cover:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
}

.alignfull > [class*="__inner-container"] > .wp-block-group.alignwide,
.alignfull > [class*="__inner-container"] > .wp-block-group:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright),
.alignfull > [class*="__inner-container"] > .wp-block-cover.alignwide,
.alignfull > [class*="__inner-container"] > .wp-block-cover:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
	margin-left: auto;
	margin-right: auto;
}

.alignfull > [class*="__inner-container"] > .wp-block-group:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright),
.alignfull > [class*="__inner-container"] > .wp-block-cover:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
	margin-left: 0;
}

/* Block Editor Colors ----------------------- */

:root .has-background { background-color: #111; }

:root .has-black-color { color: #111; }
:root .has-black-background-color { background-color: #111; }

:root .has-dark-gray-color { color: #333; }
:root .has-dark-gray-background-color { background-color: #333; }

:root .has-medium-gray-color { color: #555; }
:root .has-medium-gray-background-color { background-color: #555; }

:root .has-light-gray-color { color: #777; }
:root .has-light-gray-background-color { background-color: #777; }

:root .has-white-color { color: #fff; }
:root .has-white-background-color { background-color: #fff; }

/* Block Editor Font Sizes ------------------- */

:root .has-small-font-size { font-size: .842em; }
:root .has-regular-font-size { font-size: 1em; }

:root .has-large-font-size,
:root .has-larger-font-size {
	line-height: 1.5;
}

:root .has-large-font-size { font-size: 1.33em; }
:root .has-larger-font-size { font-size: 1.55em; }

/* Block: Button ----------------------------- */

.entry-content .wp-block-file__button,
.entry-content .wp-block-button__link {
	background-color: #000;
	border-radius: 4px;
	color: #fff;
	font-size: 0.85em;
	font-weight: 700;
	line-height: 1.2;
	padding: 1em 1.4em;
	text-decoration: none;
}

.entry-content .wp-block-file a {
	color: inherit;
}

.entry-content a.wp-block-file__button {
	color: #fff;
}

.entry-content .wp-block-file__button:hover,
.entry-content .wp-block-button__link:hover {
	opacity: .85;
	text-decoration: none;
}

/* Block: Audio ------------------------------ */

.wp-block-audio audio {
	width: 100%;
}

/* Block: Column ----------------------------- */

.wp-block-column > *:first-child { margin-top: 0 !important; }
.wp-block-column > *:last-child { margin-bottom: 0 !important; }

/* Block: Cover Image ------------------------ */

.wp-block-cover-image p {
	font-weight: 400;
}

/* Block: File ------------------------------- */

.entry-content .wp-block-file {
	align-items: center;
	background: rgba( 0, 0, 0, 0.05 );
	border-radius: 4px;
	display: flex;
	justify-content: space-between;
	margin: 30px 0;
	padding: 20px;
}

.entry-content .wp-block-file a:not(.wp-block-file__button) {
	border: none;
	font-weight: 500;
	text-decoration: none;
}

.entry-content .wp-block-file__button {
	flex-shrink: 0;
}

/* Block: Gallery ---------------------------- */

.wp-block-gallery .blocks-gallery-image figcaption, 
.wp-block-gallery .blocks-gallery-item figcaption {
	color: #fff;
	margin: 0;
	padding-bottom: 10px;
}

.entry-content .wp-block-gallery.alignfull {
	padding: 0 8px;
}

.entry-content ul.wp-block-gallery:not(.alignfull):not(.alignwide) {
	margin-left: 0;
}

.entry-content ul.wp-block-gallery > li:first-child {
	margin-top: 0;
}

.entry-content ul.wp-block-gallery > li:last-child {
	margin-bottom: 16px;
}

/* Block: Group ------------------------------ */

.wp-block-group.has-background > .wp-block-group__inner-container {
	padding: 20px;
}

/* Block: Image ------------------------------ */

.wp-block-image .aligncenter > figcaption, 
.wp-block-image .alignleft > figcaption, 
.wp-block-image .alignright > figcaption, 
.wp-block-image.is-resized > figcaption {
	display: block;
}

/* Block: Pullquote -------------------------- */

.wp-block-pullquote,
.wp-block-pullquote blockquote {
	background: none;
	border: none;
	padding: 0;
}

.wp-block-pullquote blockquote {
	margin: 0;
}

.wp-block-pullquote blockquote:before {
	content: none;
}

.wp-block-pullquote.alignleft, 
.wp-block-pullquote.alignright {
	max-width: 50%;
}

.wp-block-pullquote blockquote p,
.wp-block-pullquote.alignleft blockquote p,
.wp-block-pullquote.alignright blockquote p {
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 1.25em;
	font-weight: 700;
	letter-spacing: -0.025em;
	margin-bottom: 1em;
}

.wp-block-pullquote.alignleft blockquote p,
.wp-block-pullquote.alignright blockquote p {
	line-height: 1.3;
}

/* Block: Quote ------------------------------ */

.entry-content .wp-block-quote.is-large, 
.entry-content .wp-block-quote.is-style-large {
	margin: 0 0 30px 0;
	padding: 0 0 0 30px;
}

.entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.wp-block-quote.is-large p, 
.wp-block-quote.is-style-large p {
	font-size: 1.25em;
	font-style: normal;
	line-height: 1.5;
}

.wp-block-quote.is-large cite, 
.wp-block-quote.is-style-large cite {
	display: block;
	font-size: 1em;
	text-align: left;
}

/* Block: Social ----------------------------- */

ul.wp-block-social-links:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) {
	margin-left: 0;
}

.wp-block-social-links .wp-social-link {
	margin: 0 8px 0 0;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Entry Content
/* -------------------------------------------------------------------------------- */


.entry-content {
	position: relative;
}

em {
    font-style: italic;
}

abbr {
	text-decoration: none;
}

hr {
	border: none;
	border-top: 1px solid rgba( 0, 0, 0, 0.13 );
	margin: 50px auto;
	width: 50%;
}

hr.is-style-wide,
hr.is-style-dots {
	width: 100%;
}

.entry-content > *:first-child { margin-top: 0 !important; }
.entry-content > *:last-child { margin-bottom: 0 !important; }

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin: 2em 0 1em;
}

.entry-content h1 { font-size: 40px; }
.entry-content h2 { font-size: 36px; }
.entry-content h3 { font-size: 32px; }
.entry-content h4 { font-size: 28px; font-weight: 700; }
.entry-content h5 { font-size: 24px; font-weight: 700; }
.entry-content h6 { font-size: 20px; font-weight: 700; }

.entry-content h1 + figure,
.entry-content h2 + figure,
.entry-content h3 + figure,
.entry-content h4 + figure,
.entry-content h5 + figure,
.entry-content h6 + figure {
	margin-top: 0;
}

.entry-content a {
	text-decoration: underline;
}

.entry-content .more-link {
	text-decoration: none;
}

.entry-content p {
	line-height: 1.5;
	margin-bottom: 20px;
}

.entry-content > ol,
.entry-content > ul {
    margin-bottom: 30px;
}

.entry-content ol,
.entry-content ul {
    margin-left: 40px;
}

.entry-content ul { list-style: disc; }
.entry-content ul ul { list-style: circle; }
.entry-content ul ul ul { list-style: square; }

.entry-content ol { list-style: decimal; }
.entry-content ol ol { list-style: lower-alpha; }
.entry-content ol ol ol { list-style: lower-roman; }

.entry-content li {
    line-height: 1.5;
	margin-top: 15px;
}

dd,
dt {
	line-height: 1.5;
}

dt {
	font-weight: 700;
}

dd + dt { 
	margin-top: 15px; 
}

address {
	background: #F5F5F7;
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 20px;
	padding: 20px;
}

address p {
	line-height: inherit;
}

code {
	background: #F5F5F7;
	border-radius: 2px;
	padding: 0 4px;
}

pre {
	background: #F5F5F7;
	font-size: 14px;
	line-height: 1.35;
	padding: 20px;
	white-space: pre-wrap;
	word-wrap: break-word;
}

p.has-drop-cap:not(:focus):first-letter {
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 7.75em;
	font-weight: 400;
    margin: 0 .07em 0 0;
}

/* Quotes ------------------------------------ */

blockquote {
    padding: 0 0 0 30px;
}

blockquote p { 
	font-weight: 500;
	hanging-punctuation: first;
}

blockquote cite:before { 
	content: "— "; 
}

.entry-content blockquote {
	margin-bottom: 20px;
}


/* Pull Quotes ------------------------------- */

.entry-content .pull {
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 29px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.15;
	position: absolute;
	width: 280px;
}

.entry-content .pull.left {
	hanging-punctuation: first;
	right: calc( 100% + 40px );
}

.entry-content .pull.right {
	hanging-punctuation: last;
	left: calc( 100% + 40px );
	text-align: right;
}

/* Page Media -------------------------------- */

.wp-caption { 
	display: block;
	max-width: 100%;
}

.gallery-caption,
.wp-caption-text,
.entry-content figcaption {
    font-size: 0.9em;
	margin: 15px 0 0;
}

.entry-content .gallery-caption,
.entry-content .wp-caption-text {
	margin-bottom: 0;
}

.wp-caption-text,
.entry-content figcaption {
	color: #767676;
}

.wp-caption-text a,
figcaption a {
	color: inherit;
	display: inline;
}

.entry-content .alignnone,
.entry-content .aligncenter,
.entry-content .alignwide,
.entry-content .alignfull {
	margin: 2.5em auto;
}

.alignleft,
.alignright {
	margin-bottom: 20px;
    max-width: 40%;
}

.alignleft {
	float: left;
	margin: 5px 40px 30px 0;
}

.alignright {
	float: right;
	margin: 5px 0 30px 40px;
}

.aligncenter,
.alignnone { 
	margin: 50px auto; 
}

.alignnone img {
	width: 100%;
}

/* VANILLA GALLERIES */

.gallery {
        display: -ms-flex;
        display: -webkit-box;
        display: -ms-flexbox;
    display: flex;
		-ms-flex-wrap: wrap;
	flex-wrap: wrap;
    padding: 0;
}

.gallery .gallery-item {
    display: block;
	float: left;
    margin: 0 0 20px;
    padding: 0 10px;
	position: relative;
    width: 100%;
}

.gallery-columns-1 .gallery-item { width: 100%; }
.gallery-columns-2 .gallery-item { width: 50%; }
.gallery-columns-3 .gallery-item { width: 33.3%; }
.gallery-columns-4 .gallery-item { width: 25%; }
.gallery-columns-5 .gallery-item { width: 20%; }
.gallery-columns-6 .gallery-item { width: 16.6%; }
.gallery-columns-7 .gallery-item { width: 14.158%; }
.gallery-columns-8 .gallery-item { width: 12.5%; }
.gallery-columns-9 .gallery-item { width: 11.1%; }

.gallery .gallery-item a {
    border: none;
	display: block;
    line-height: 0;
	text-align: center;
}

.gallery img {
	width: 100%;
}

.gallery-caption {
	background: #fff;
	color: inherit;
	font-size: 14px;
	line-height: 1.35;
	margin: 0;
	max-height: calc( 100% - 20px );
	max-width: calc( 100% - 40px );
    overflow: auto;
	padding: 12px 14px;
	position: absolute;
		bottom: 10px;
		left: 20px;	
}

/* TILED GALLERIES */

.entry-content .tiled-gallery {
	margin: 50px auto 50px auto;
}

/* Inputs ------------------------------------ */

fieldset {
    border: 1px solid rgba( 0, 0, 0, .15 );
	padding: 25px;
}

fieldset legend {
    font-size: 14px;
	font-weight: 500;
	padding: 0 15px;
}

label {
	font-size: 14px;
    margin-bottom: 8px;
}

textarea,
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="text"],
input[type="url"] {
	background: #fff;
	border-radius: 2px;
    border: 1px solid #e1e1e5;
	box-shadow: none;
    color: #111;
	display: block;
	font-family: inherit;
	font-size: 15px;
    margin: 0 0 15px 0;
    padding: 15px;
	transition: border-color .15s ease-in-out;
	-webkit-appearance: none;
    width: 100%;
}

input[type="number"] {
	-webkit-appearance: initial;
}

textarea {
    line-height: 1.5;
	height: 200px;
}

textarea:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus {
	outline: none;
}

select {
	background: #fff url( ./assets/svg/chevron-down-black.svg ) no-repeat;
	background-position: calc( 100% - 14px ) center;
	border-radius: 2px;
	border: 1px solid #e1e1e5;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 40px 10px 12px;
	-webkit-appearance: none;
	width: 100%;
}

button,
.button,
input[type="button"],
input[type="submit"] {
	background: #111;
    border: none;
	border-radius: 2px;
    color: #fff;
    display: inline-block;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.15;
	margin: 0;
	min-width: 115px;
	padding: 14px 21px 14px;
	text-align: center;
	transition: opacity .15s linear;
	-moz-appearance: none;
	-webkit-appearance: none;
}

.mejs-container button {
	min-width: auto;
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
	cursor: pointer;
	opacity: 0.75;
	text-decoration: none;
}

button:disabled,
.button.disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled {
	background: #767676;
	cursor: default !important;
}

button:disabled:hover,
.button.disabled:hover,
input[type="button"]:disabled:hover,
input[type="submit"]:disabled:hover {
	opacity: 1;
}

button.white,
.button.white,
input[type="button"].white,
input[type="submit"].white {
	background: #fff;
    color: #111;
}

/* SELECT 2 */

.select2-container {
	font-size: 15px;
	margin-bottom: 15px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #111;
}

.select2-container--default .select2-selection--single {
		-ms-flex-align: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
	align-items: center;
	border-color: #ddd;
	border-radius: 2px;
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
	display: flex;
	height: 48px;
	position: relative;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5;
	padding: 0 20px 0 16px;
	width: 100%;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	right: 16px;
	top: calc( 50% - 13px );
}

.select2-container--default input[type="text"] {
	font-size: 12px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-top-color: #111;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-bottom-color: #111;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: #111;
}

/* Tables ------------------------------------ */

table {
	border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    font-size: 0.9em;
    margin-bottom: 30px;
    max-width: 100%;
    overflow: hidden;
    width: 100%;
}

tr {
	border-bottom: 1px solid #e1e1e5;
}

tr:last-child {
	border-bottom-width: 0;
}

th,
td {
    line-height: 1.4;
	margin: 0;
	overflow: visible;
    padding: 20px;
}

caption {
	font-size: 13px;
	font-weight: 700;
    padding-bottom: 2.5%;
	text-align: center;
	text-transform: uppercase;
}

thead {
	vertical-align: bottom;
	white-space: nowrap;
}

th { 
	font-weight: 500; 
}


/* -------------------------------------------------------------------------------- */
/*	X.	Post Content
 * 		Styling specific to the post-content wrapper (used on posts)
/* -------------------------------------------------------------------------------- */


.post-content .alignnone {
	max-width: none;
	position: relative;
		left: -310px;
	width: 910px;
}

.post-content > .alignfull,
.post-content > .alignwide {
	margin-left: -310px;
	max-width: 910px;
	width: 910px;
}

/* Post Content Gallery ---------------------- */

.post-content .gallery {
	margin: 50px 0 30px 0;
	position: relative;
		left: -320px;
	width: 930px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Page Content
 * 		Styling specific to the page-content wrapper (used on pages)
/* -------------------------------------------------------------------------------- */


/* Page Content Media ---------------------------- */

/* IMAGES */

.page-content .alignfull {
	margin-left: calc( 50% - 50vw );
	max-width: 100vw;
	width: 100vw;
}

.page-content .alignwide {
	margin-left: calc( 50% - 520px );
	max-width: 1040px;
	width: 1040px;
}

.page-content .alignnone {
	margin-left: -135px;
	margin-right: -135px;
	max-width: calc( 100% + 270px ) !important;
}

.page-content .alignleft {
	margin-left: -135px;
	width: 50%;
}

.page-content .alignright {
	margin-right: -135px;
	width: 50%;
}

/* VANILLA GALLERIES */

.page-content .gallery {
	margin: 52px 0 30px 0;
	position: relative;
		left: calc( 50% - 640px );
	width: 1280px;
}

.gallery + .gallery {
	margin-top: -30px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Sub Page
/* -------------------------------------------------------------------------------- */


.page-header .page-title,
.page-header p {
	text-align: inherit;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Page Templates
/* -------------------------------------------------------------------------------- */


/* Template Cover ---------------------------- */


.template-cover #site-content {
	padding-top: 0;
}

.page-hero-wrapper {
	display: flex;
	overflow: hidden;
}

.page-hero {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 80px;
	min-height: 500px;
	padding: 80px 0;
	text-shadow: 0 1px 0 rgba( 0, 0, 0, .5 );
	width: 100%;
}

.page-hero > * {
	position: relative;
}

.page-hero .to-content {
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	height: 80px;
	position: absolute;
		bottom: -40px;
		left: calc( 50% - 40px );
	transition: none;
	width: 80px;
}

.page-hero .to-content:before {
	background: url( ./assets/svg/to-content-arrow.svg ) no-repeat center;
	background-size: auto 30px;
	content: "";
	display: block;
	height: 30px;
	position: absolute;
		left: calc( 50% - 13px );
		top: calc( 50% - 15px );
	transition: transform .15s ease-out;
	width: 26px;
}

.page-hero .to-content:hover:before {
	transform: translateY( 3px );
}

/* Template Full Width ----------------------- */

.template-full-width #site-content .section-inner.thin,
.template-full-width #site-content .section-inner.medium {
	max-width: 1240px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Search
/* -------------------------------------------------------------------------------- */


/* Search Preview ---------------------------- */

.content-search a {
	display: block;
}

.content-search a:hover {
	text-decoration: none;
}

.content-search img {
	display: block;
	margin-bottom: 18px;
}

.content-search h2 {
	font-size: 22px;
	letter-spacing: -0.018em;
	margin: 0;
}

.content-search a:hover h2 {
	text-decoration: underline;
}

.content-search .post-date {
	margin-top: 8px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Pagination
/* -------------------------------------------------------------------------------- */


.site-pagination,
ul.page-numbers {
	border-top: 1px solid #e1e1e5;
	display: flex;
	justify-content: center;
	margin: 60px 0 -20px 0;
	padding-top: 60px;
	position: relative;
	width: 100%;
}

ul.page-numbers {
	border-top: none;
	margin: 100px 0 0 0;
	padding-top: 0;
}

.site-pagination .next,
.site-pagination .prev,
ul.page-numbers .next,
ul.page-numbers .prev {
	position: absolute;
}

.site-pagination .number a,
.site-pagination .number span,
ul.page-numbers a,
ul.page-numbers span {
	padding: 0 25px;
}

.site-pagination a:hover,
.site-pagination .active a,
ul.page-numbers a:hover,
ul.page-numbers .current {
	color: #767676;
	text-decoration: none;
}

ul.page-numbers .prev,
ul.page-numbers .next {
	padding: 0;
}

.site-pagination .prev,
ul.page-numbers .prev { left: 0; }
.site-pagination .next,
ul.page-numbers .next { right: 0; }


/* -------------------------------------------------------------------------------- */
/*	X.	Error 404
/* -------------------------------------------------------------------------------- */


.error404 .go-home {
	display: block;
	font-weight: 500;
	margin-top: 25px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Widgets
/* -------------------------------------------------------------------------------- */


/* Widget Base ---------------------------- */

.widget {
	margin-top: 40px;
}

.widget:first-child {
	margin-top: 0;
}

.widget-title {
	margin-bottom: 20px;
}

.widget p {
	line-height: 1.4;
}

.widget li {
	line-height: 1.155;
	margin: 0 0 12px;
}

.widget li:last-child {
	margin-bottom: 0;
}

.widget ul ul {
	margin: 12px 0 0 20px;
}


/* Text Widget ---------------------------- */


.widget_text {
	font-family: 'Charis SIL', Georgia, serif;
}

.widget_text .textwidget {
	font-size: 18px;
}

.widget_text .show-more {
	font-family: Archivo, 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 14px;
}


/* Widget Lists --------------------------------------- */


.widget_archive li,
.widget_categories li,
.widget_meta li,
.widget_nav_menu li,
.widget_pages,
.widget_product_categories li {
	color: #999;
	font-size: 12px;
	font-weight: 500;
}

.widget_archive li a,
.widget_categories li a,
.widget_meta li a,
.widget_nav_menu li a,
.widget_pages li a,
.widget_product_categories li a { 
	color: #111;
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 18px;
}


/* Widget Categories --------------------------------------- */


.widget_categories li a {
	margin-right: 3px;
}


/* RSS Widget --------------------------------------- */


.widget_rss .widget-title img {
	width: 13px;
	height: 13px;
	margin-right: 2px;
	position: relative;
	bottom: -2px;
}

.widget_rss li a {
	display: block;
	font-family: 'Charis SIL', Georgia, serif;
	color: #111;
}

.widget_rss li .rss-date {
	display: block;
	margin-top: 2px;
	font-size: 14px;
	font-weight: 500;
	color: #767676;
}

.widget_rss li .rssSummary { 
	margin-top: 5px; 
}

.widget_rss li cite {
	display: block;
	margin-top: 8px;
	font-size: 16px;
}

.widget_rss li cite:before { 
	content: "— "; 
}


/* Widget Calendar --------------------------------------- */


#wp-calendar {
	font-size: 14px;
	max-width: 100%;
	text-align: center;
	width: 100%;
}

#wp-calendar thead { 
	border-top: 1px solid #e1e1e5; 
}

#wp-calendar tbody > tr,
#wp-calendar tbody > tr:nth-child(odd) {
	background: transparent;
}

#wp-calendar,
#wp-calendar caption,
#wp-calendar tr,
#wp-calendar td,
#wp-calendar th {
	text-align: center;
}

#wp-calendar caption {
	font-weight: 500;
	padding-bottom: 4%;
	text-transform: capitalize;
}

#wp-calendar th,
#wp-calendar td {
	border-bottom: 1px solid #e1e1e5;
	border-right: 1px solid #e1e1e5;
	padding: 3% 2%;
	position: relative;
}

#wp-calendar thead th {
	font-size: 0.75em;
}

#wp-calendar th:first-child,
#wp-calendar tbody td:first-child { border-left: 1px solid #e1e1e5; }

#wp-calendar tbody td a {
	font-weight: 700;
}

#wp-calendar tbody a:hover { 
	opacity: 0.5;
	text-decoration: none; 
}

#wp-calendar tfoot td { 
	border: none !important;
	padding: 0; 
}
#wp-calendar tfoot #prev a { text-align: left; }
#wp-calendar tfoot #next a { text-align: right; }

#wp-calendar tfoot a {
	display: block;
	margin-top: 12px;
}


/* Widget Search ------------------------------------------- */


.widget_search form,
.widget_product_search form {
	display: flex;
}

.widget_search form label,
.widget_search form .search-field,
.widget_product_search form label,
.widget_product_search form .search-field {
	margin: 0;
	width: 100%;
}

.widget_search form input[type="submit"],
.widget_product_search form input[type="submit"] {
	flex-shrink: 0;
	margin-left: 10px;
	min-width: 0;
}


/* Widget Tag Cloud ------------------------------------------- */


.widget_tag_cloud a {
	display: inline-block;
	margin: 2px;
	white-space: nowrap;
}

.widget_tag_cloud .tag-link-count {
	color: #767676;
	font-size: 0.75em;
}


/* Widget Gallery --------------------------------------- */

.widget_media_gallery .gallery {
	margin: 0 -5px -10px -5px;
}

.widget_media_gallery .gallery-item a:hover {
	opacity: 0.75;
}

.widget_media_gallery .gallery-item {
	margin: 0 0 10px 0;
	padding: 0 5px;
}

.widget_media_gallery .gallery-item img {
	border-radius: 2px;
}

.widget_media_gallery .gallery-caption {
	margin-top: 5px;
}


/* sullivan Widget List --------------------------------------- */


.sullivan-widget-list li {
	margin-bottom: 15px;
}

.sullivan-widget-list li:last-child {
	margin-bottom: 0;
}

.sullivan-widget-list a {
	align-items: center;
	display: flex; 
}

.sullivan-widget-list .post-image {
	background: #f1f1f5 no-repeat center;
	background-size: cover;
	border-radius: 2px;
	flex-shrink: 0;
	height: 60px;
	width: 60px;
}

.sullivan-widget-list .inner { 
	margin-left: 10px;
}

.sullivan-widget-list .title {
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 18px;
	line-height: 1.15;
}

.sullivan-widget-list .meta { 
	font-size: 14px;
	margin-top: 3px;
}

.sullivan-widget-list .meta ins {
	text-decoration: none;
}

.sullivan-widget-list a:hover {
	text-decoration: none;
}

.sullivan-widget-list a:hover .title { 
	text-decoration: underline; 
}

#site-footer .sullivan-widget-list a:hover .title {
	text-decoration: none;
}

.widget .show-more {
	margin-top: 12px;
}

.widget .show-more a {
	font-size: 14px;
	font-weight: 500;
}

.widget .show-more a:hover {
	color: #767676;
	text-decoration: none;
}


/* Contact Information Widget --------------------------------------- */


.widget_sullivan_contact {
	font-family: 'Charis SIL', Georgia, serif;
	font-size: 16px;
}

.widget_sullivan_contact .contact-title {
	font-size: 32px;
}

.widget_sullivan_contact p {
	color: #767676;
	font-style: italic;
	line-height: 1.5;
}

.widget_sullivan_contact div + div {
	margin-top: 20px;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Footer
/* -------------------------------------------------------------------------------- */


#site-footer {
	color: #fff;
}

#site-footer a {
	color: inherit;
}

#site-footer a:hover {
	opacity: 0.5;
	text-decoration: none;
}

#site-footer .subheading {
	color: #999;
}


/* Footer Widgets ---------------------------- */

.footer-widgets {
	padding: 80px 0 50px;
}

.footer-widgets .widgets-wrapper,
.secondary-widgets {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.footer-widgets .widgets-wrapper {
	margin: 0 0 -40px -40px;
	width: calc( 100% + 40px );
}

.footer-widgets .column {
	margin: 0 0 40px 40px;
}

.footer-widgets .column-1 {
	width: calc( 25% - 40px );
}

.secondary-widgets {
	justify-content: flex-start;
	width: 75%;
}

.secondary-widgets .column {
	width: calc( 33.3% - 40px );
}


/* Credits ---------------------------- */

.footer-widgets + .credits {
	margin-top: 0;
}

.credits {
	align-items: center;
	display: flex;
	font-size: 14px;
	justify-content: space-between;
	padding: 50px 0;
}

.credits p {
	flex-shrink: 0;
	margin-right: 20px;
}

.credits p span:first-child {
	font-weight: 500;
}

.credits p span:last-child {
	color: #767676;
	margin-left: 15px;
}

/* Footer Social Menu ---------------------------- */

/* SOCIAL MENU BASE */

/* .social-icons li a::before {
	content: '\f0c1';
	display: block;
	font-family: 'Font Awesome 5';
	font-size: 20px;
	text-align: center;
} */

/* NON-BRAND ICONS */

.social-icons a[href*="mailto"]::before { content: '\f0e0'; }
.social-icons a[href*="/feed/"]::before,
.social-icons a[href*="rss"]::before { content: '\f09e'; }

/* BRAND ICONS */

.social-icons a[href*="500px.com"]::before { content: '\f26e'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="amazon.com"]::before { content: '\f270'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="angel.co"]::before { content: '\f209'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="audible.com"]::before { content: '\f373'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="behance.net"]::before { content: '\f1b4'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="blogger.com"]::before { content: '\f37d'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="codepen.io"]::before { content: '\f1cb'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="creativecommons.com"]::before { content: '\f25e'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="deviantart.com"]::before { content: '\f1bd'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="digg.com"]::before { content: '\f1a6'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="discordapp.com"]::before { content: '\f392'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="dribbble.com"]::before { content: '\f17d'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="ebay"]::before { content: '\f4f4'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="etsy.com"]::before { content: '\f2d7'; font-family: 'Font Awesome 5 Brands'; }
/* .social-icons a[href*="facebook.com"]::before { content: '\f39e'; font-family: 'Font Awesome 5 Brands'; } */
.social-icons a[href*="flickr.com"]::before { content: '\f16e'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="github.com"]::before { content: '\f113'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="gitlab.com"]::before { content: '\f296'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="goodreads.com"]::before { content: '\f3a9'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="houzz"]::before { content: '\f27c'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="imdb.com"]::before { content: '\f2d8'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="instagram.com"]::before { content: '\f16d'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="kickstarter.com"]::before { content: '\f3bc'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="jsfiddle.net"]::before { content: '\f1cc'; font-family: 'Font Awesome 5 Brands'; }
/* .social-icons a[href*="linkedin.com"]::before { content: '\f0e1'; font-family: 'Font Awesome 5 Brands'; } */
.social-icons a[href*="last.fm"]::before { content: '\f202'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="medium.com"]::before { content: '\f3c7'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="meetup.com"]::before { content: '\f2e0'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="mixcloud.com"]::before { content: '\f289'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="patreon.com"]::before { content: '\f3d9'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="pscp.tv"]::before { content: '\f3da'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="pinterest"]::before { content: '\f231'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="play.google.com"]::before { content: '\f3ab'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="plus.google.com"]::before { content: '\f0d5'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="producthunt.com"]::before { content: '\f288'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="quora.com"]::before { content: '\f2c4'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="reddit.com"]::before { content: '\f281'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="slack.com"]::before { content: '\f198'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="snapchat"]::before { content: '\f2ac'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="soundcloud.com"]::before { content: '\f1be'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="spotify.com"]::before { content: '\f1bc'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="tumblr.com"]::before { content: '\f173'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="twitch"]::before { content: '\f1e8'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="twitter.com"]::before { content: '\f099'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="vimeo.com"]::before { content: '\f27d'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="wordpress.org"]::before,
.social-icons a[href*="wordpress.com"]::before { content: '\f411'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="youtube.com"]::before { content: '\f167'; font-family: 'Font Awesome 5 Brands'; }
.social-icons a[href*="unsplash.com"]::before { content: '\f030'; font-family: 'Font Awesome 5'; }
.social-icons a[href*="xing"]::before { content: '\f168'; font-family: 'Font Awesome 5 Brands'; }


/* FOOTER SOCIAL SPECIFIC */

.credits .social-menu {
	justify-content: flex-end;
	display: flex;
	flex-wrap: wrap;
	margin: -10px -20px 0 0;
}

.credits .social-menu li { 
	margin: 10px 20px 0 0;
	position: relative;
}

.credits .social-menu a {
	align-items: center;
	display: flex;
}

.credits .social-menu a span {
	margin-left: 10px;
}

.credits .social-menu a:hover {
	opacity: 0.5;
	text-decoration: none;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Media Queries
/* -------------------------------------------------------------------------------- */


@media ( max-width: 1420px ) {


	/* Post Content ---------------------------- */

	.post-content .alignnone {
		left: auto;
		max-width: 100%;
		width: 100%;
	}

	.post-content .alignfull,
	.post-content .alignwide {
		margin-left: 0;
		max-width: 100%;
		width: 100%;
	}
	
	
	/* Post Content Gallery -------------------------------- */
	
	
	.post-content .gallery {
		margin: 50px 0 30px 0;
		left: -10px;
		width: calc( 100% + 20px );
	}


	/* Blog Archive ---------------------------- */

	/* HERO SLIDER */

	.hero-slider .flex-control-nav {
		left: 5%;
	}


}


@media ( max-width: 1300px ) {


	/* Site Header ---------------------------- */

	.site-header .toggle p {
		display: none;
	}

	.header-account {
		right: 100px;
	}

	.header-account:after {
		background: #e1e1e5;
		content: "";
		display: block;
		height: 38px;
		position: absolute;
			right: -38px;
			top: calc( 50% - 19px );
		width: 1px;
	}


	/* Page Content ---------------------------- */

	.page-content .gallery {
		padding: 0 10px;
		position: relative;
			left: calc( 50% - 50vw );
		width: 100vw;
	}
	
	.gallery + .gallery {
		margin-top: -30px;
	}


}


@media ( max-width: 1155px ) {


	/* Page Content ---------------------------- */

	.page-content .alignwide {
		margin-left: calc( 50% - 45vw );
		max-width: 90vw;
		width: 90vw;
	}


}


@media ( max-width: 1100px ) {


	/* Element Base ---------------------------- */

	.bg-attach {
		background-attachment: initial;
	}


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

	.split {
		display: block;
	}

	.split .content {
		width: 100%;
	}

	.split .sidebar {
		border-top: 1px solid #e1e1e5;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 60px 0 0;
		padding-top: 60px;
		width: 100%;
	}

	ul.item-grid {
        margin: 0 0 -40px -30px;
    }

    ul.item-grid li {
        margin: 0 0 40px 30px;
        width: calc( 33.3% - 30px );
    }


	/* Post Content ---------------------------- */

	.post-content .alignfull,
	.post-content .alignwide {
		margin-left: calc( ( 95vw - 100% ) * -1 );
		max-width: 100vw;
		width: 100vw;
	}

	.post-content .alignfull figcaption,
	.post-content .alignwide figcaption {
		padding-left: 5%;
		padding-right: 5%;
	}

	/* Sidebar ---------------------------- */

	.split .sidebar .widget {
		width: calc( 50% - 20px );
	}

	.split .sidebar .widget:nth-child(2) {
		margin-top: 0;
	}


	/* Site Pagination ---------------------------- */

	.site-pagination {
		margin-bottom: 0;
	}


	/* Footer Widgets ---------------------------- */

	.footer-widgets .column-1 {
		width: calc( 33.3% - 40px );
	}

	.secondary-widgets {
		width: 66.6%;
	}

	.secondary-widgets .column {
		width: calc( 50% - 40px );
	}


}


@media ( max-width: 1000px ) {


	/* Site Header ---------------------------- */

	.site-header .section-inner {
		padding: 25px 15%;
		width: 100%;
	}

	.site-header .header-titles {
		max-width: 100%;
	}

	.site-header .custom-logo-link img {
		margin-bottom: -10px;
		margin-top: -10px;
		max-height: 55px;
		object-fit: contain;
	}

	.site-header .site-title {
		font-size: 28px;
	}

	.site-header .site-description,
	.header-search,
	.header-account,
	.social-menu.header {
		display: none;
	}

	.header-cart {
		right: 5%;
	}


	/* Site Navigation ---------------------------- */

	.site-nav {
		display: none;
	}

	/* NAVIGATION TOGGLE */

	.nav-toggle {
		cursor: pointer;
		display: block;
		position: absolute;
			bottom: 0;
			left: 0;
			top: 0;
		width: calc( 10% + 24px );
		z-index: 1001;
	}

	.nav-toggle .bar {
		background-color: #111;
		display: block;
		height: 2px;
		position: absolute;
			left: calc( 50% - 12px );
			top: calc( 50% - 1px );
		transition: transform .15s ease-in, background-color .15s ease-in .7s, opacity 0s .15s, width 0s .15s, margin .15s ease-out .15s;
		width: 24px;
	}
	
	.nav-toggle .bar:nth-child(1) { margin-top: -7px; }
	.nav-toggle .bar:nth-child(2) { margin-top: -1px; width: 16px; }
	.nav-toggle .bar:nth-child(3) { margin-top: 5px; width: 20px; }
	
	.nav-toggle.active .bar {
		background: #fff;
		transition: margin .15s ease-in, opacity 0s .15s, width 0s .15s, background-color .2s ease-in, transform .15s ease-out .2s;
	}
	
	.nav-toggle.active .bar:nth-child(1) {
		margin-top: -1px;
			-webkit-transform: rotate( 45deg );
		transform:             rotate( 45deg );
	}
	
	.nav-toggle.active .bar:nth-child(2) {
		opacity: 0;
		width: 24px;
	}
	
	.nav-toggle.active .bar:nth-child(3) {
		margin-top: -1px;
			-webkit-transform: rotate( -45deg );
		transform:             rotate( -45deg );
		width: 24px;
	}

	/* CONTENT OVERLAY */

	.mobile-nav-content-overlay {
		display: block;
		opacity: 0;
		position: fixed;
			bottom: 0;
			left: -9999px;
			right: 9999px;
			top: 0;
		transition: opacity .2s ease-in .7s, left 0s .9s, right 0s .9s;
		z-index: 1000;
	}

	body.showing-mobile-menu .mobile-nav-content-overlay {
		left: 0;
		opacity: 1;
		right: 0;
		transition: opacity .15s ease-out;
	}

	/* BODY INNER */

	.body-inner {
		background: #111;
		transition: transform .3s ease-in .4s;
		width: 100%;
	}

	body.showing-mobile-menu .body-inner {
		transform: translateX( calc( 90% - 24px ) );
	}


	/* MOBILE MENU */

	.mobile-menu-wrapper {
		background: #fff;
		box-shadow: 0 0 30px rgba( 0, 0, 0, 0.15 );
		display: block;
		overflow: auto;
		position: fixed;
			bottom: 0;
			right: 9999px;
			top: 0;
		transition: transform .3s ease-in .4s, right 0s .7s;
		width: calc( 90% - 24px );
		z-index: 1002;
	}

	.mobile-menu-wrapper.visible {
		right: 100%;
		transform: translateX( 100% );
		transition: transform .3s ease-in .4s;
	}

	/* MOBILE SEARCH */

	.mobile-search {
		position: relative;
		z-index: 10;
	}

	.mobile-search label,
	.mobile-search .cancel-search {
		margin: 0;
		position: absolute;
			bottom: 1px;
			right: 0;
			top: 0;
		width: calc( 10vw + 21px );
	}

	.mobile-search label {
		background: url( ./assets/svg/spyglass-black.svg ) no-repeat center 49%;
		background-size: auto 20px;
		cursor: text;
	}

	.mobile-search .cancel-search {
		background: #fff url( ./assets/svg/cross-black.svg ) no-repeat center 49%;
		background-size: auto 16px;
		cursor: pointer;
		opacity: 0;
		right: 9999px;
		transition: opacity .15s linear, right 0s .15s;
	}

	.mobile-search.search-active .cancel-search {
		opacity: 1;
		right: 0;
		transition: opacity .15s linear;
		z-index: 1;
	}

	#mobile-search-field {
		border: none;
		border-bottom: 1px solid #e1e1e5;
		border-radius: 0;
		font-size: 16px;
		font-weight: 500;
		height: 86px;
		margin: 0;
		padding-left: 5vw;
		padding-right: calc( 10vw + 21px );
	}

	#mobile-search-field::-webkit-input-placeholder { color: inherit; }
	#mobile-search-field:-ms-input-placeholder { color: inherit; }
	#mobile-search-field::-moz-placeholder { color: inherit; }

	.mobile-search .compact-search-results {
		background: #fff;
		display: none;
		height: calc( 100vh - 100% );
		overflow: auto;
		padding-bottom: 60px;
		position: absolute;
			left: 0;
			right: 0;
			top: 100%;
	}

	.mobile-search .compact-search-results.active {
		display: block;
	}

	.mobile-search .no-results-message,
	.mobile-search .compact-search-results ul {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	.mobile-search .compact-search-results .show-all {
		border-top: 1px solid #e1e1e5;
		position: fixed;
			bottom: 0;
			left: 0;
			right: 0;
	}

	/* MOBILE MENU */

	.mobile-menu,
	.mobile-menu ul {
		margin: 0;
	}

	.mobile-menu {
		background: #F5F5F7;
		padding: 10px 0;
	}

	.mobile-menu a {
		display: block;
		padding: 20px 5vw;
	}

	.mobile-menu > li > a,
	.mobile-menu > li > div > a {
		font-family: 'Charis SIL', Georgia, serif;
		font-size: 22px;
	}

	.mobile-menu .current-menu-item > a,
	.mobile-menu .current-menu-item > div > a {
		text-decoration: underline;
	}

	.menu-toggle-wrapper {
		padding-right: 54px;
		position: relative;
	}

	.menu-toggle-wrapper .sub-nav-toggle {
		cursor: s-resize;
		position: absolute;
			bottom: 0;
			right: 0;
			top: 0;
		width: 54px;
	}

	.menu-toggle-wrapper .sub-nav-toggle:before {
		background: url( ./assets/svg/chevron-down-black.svg ) no-repeat center;
		background-size: 12px auto;
		content: "";
		display: block;
		position: absolute;
			bottom: calc( 50% - 5px );
			left: calc( 50% - 6px );
		transition: transform .3s linear;
		height: 10px;
		width: 12px;
	}

	.menu-toggle-wrapper .sub-nav-toggle.active {
		cursor: n-resize;
	}

	.menu-toggle-wrapper .sub-nav-toggle.active:before {
		transform: rotate( 180deg );
	}

	.mobile-menu ul {
		background: rgba( 0, 0, 35, .04 );
		display: none;
		padding: 10px 0;
	}

	.mobile-menu ul a {
		font-size: 16px;
		font-weight: 500;
		padding: 18px 5vw;
	}

	.mobile-menu ul ul {
		margin: 8px 0;
	}

	.mobile-menu ul ul a { padding-left: 7.5vw;}
	.mobile-menu ul ul ul a { padding-left: 10vw;}
	.mobile-menu ul ul ul ul a { padding-left: 12.5vw;}
	.mobile-menu ul ul ul ul ul a { padding-left: 15vw;}
	.mobile-menu ul ul ul ul ul ul a { padding-left: 17.5vw;}

	/* MOBILE SOCIAL MENU */

	.mobile.social-menu {
		border-bottom: 1px solid #e1e1e5;
		border-top: 1px solid #e1e1e5;
		display: flex;
		padding: 0 calc( 5vw - 15px );
	}

	.mobile.social-menu a {
		display: block;
		padding: 20px 15px;
	}

	.mobile.social-menu a:before {
		font-size: 24px;
	}

	.mobile.social-menu a:hover {
		opacity: 0.5;
		text-decoration: none;
	}


}


@media ( max-width: 900px ) {


	/* Page Content ---------------------------- */

	.page-content .alignnone {
		margin-left: 0;
		margin-right: 0;
		max-width: 100% !important;
	}

	.page-content .alignleft {
		margin-left: 0;
	}

	.page-content .alignright {
		margin-right: 0;
	}


}


@media ( max-width: 800px ) {


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

	ul.item-grid {
        margin: 0 0 -40px -20px;
    }

    ul.item-grid li {
        margin: 0 0 40px 20px;
        width: calc( 33.3% - 20px );
    }


	/* Blog Archive ---------------------------- */

	/* SLIDESHOWS */

	.flex-direction-nav {
		display: none;
	}

	/* BLOG STRUCTURE */

	.post-inner.between {
		display: block;
	}

	.post-inner .mobile-excerpt { 
		display: block; 
		margin-bottom: 20px;
	}

	.post-inner .desktop-excerpt { 
		display: none; 
	}

	.post-meta.top {
		color: #767676;
		display: none;
		font-size: 14px;
		font-weight: 500;
	}

	.post-inner.between .post-meta.top {
		margin: 0 0 20px 0;
	}

	.post-meta.top p {
		display: inline-block;
		margin: 0 15px 5px 0;
	}

	.post-meta.top p:last-child {
		margin-right: 0;
	}

	.post-meta.top p + p {
		margin-top: 0;
	}
	
	.post-meta.top span {
		display: inline;
	}

	.post-meta.top .post-author .meta-title,
	.post-meta.top .post-comment-link .meta-title,
	.post-meta.top .sticky-post .meta-title,
	.post-meta.top .edit-post .meta-title {
		display: none;
	}

	.post-meta.top .post-author .mobile-meta-title {
		display: inline;
	}

	.post-content-wrapper {
		max-width: none;
		width: 100%;
	}


	/* Blog Single ---------------------------- */

	.single-post .post-meta.top,
	.post-meta.bottom.no-tags,
	.post-meta.bottom .post-categories {
		display: block;
	}

	.post-inner.compensate {
		max-width: 100%;
		width: 100%;
	}

	/* TITLE LEFT BLOCKS */

	.comments,
	.comment-respond,
	.related-posts {
		border-top: 1px solid #e1e1e5;
		padding-top: 30px;
	}

	.comments:before,
	.comment-respond:before,
	.related-posts:before {
		content: none;
	}

	.hanging-titles .comments,
	.hanging-titles .comment-respond,
	.hanging-titles .related-posts {
		max-width: 100%;
		width: 100%;
	}

	.hanging-titles .comment-reply-title, 
	.hanging-titles .related-posts-title {
		position: static;
		width: 100%;
	}


	/* Post Content ---------------------------- */

	.post-content .gallery,
	.post-content .alignnone {
		max-width: 100%;
		right: auto;
		width: 100%;
	}

	.post-content .alignfull,
	.post-content .alignwide {
		margin-left: calc( 50% - 50vw );
	}


	/* Comments ---------------------------- */

	.comment-respond .logged-in-as {
		margin: -8px 0 40px 0;
	}

	.comment-reply-title + .comment {
		margin-top: 0;
	}

	.comment-meta {
		font-size: 15px;
		margin-bottom: 12px;
	}

	.comment-metadata, 
	.comment-metadata .edit-link {
		margin-left: 10px;
	}


	/* Site Search ---------------------------- */

	.content-search img {
		margin-bottom: 10px;
	}

	.content-search h2 {
		font-size: 18px;
	}


	/* Footer Widgets ---------------------------- */

	.footer-widgets .column-1 {
		width: calc( 50% - 40px );
	}

	.secondary-widgets {
		width: 50%;
	}

	.secondary-widgets .column {
		width: 100%;
	}


	/* Footer Credits ---------------------------- */

	.credits p span {
		display: block;
	}

	.credits p span:last-child {
		margin: 8px 0 0;
	}

}


@media ( max-width: 650px ) {


	/* Footer Credits ---------------------------- */

	.credits .social-menu a span {
		display: none;
	}


}


@media ( max-width: 600px ) {


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

	body {
		font-size: 16px;
	}

	#site-content {
		padding: 40px 0;
	}

	.section-inner + .section-inner {
		margin-top: 40px;
	}


	/* Element Base ---------------------------- */

	/* TYPOGRAPHY */

	h1, h2, h3, h4, h5, h6 {
		line-height: 1.15;
	}

	h1 { font-size: 32px; }
	h2 { font-size: 28px; }
	h3 { font-size: 24px; }
	h4 { font-size: 20px; }

	.excerpt {
		font-size: 20px;
	}

	.sans-excerpt {
		font-size: 18px;
	}

	/* Site Header ---------------------------- */

	.site-header .section-inner {
		padding-top: 19px;
		padding-bottom: 22px;
	}

	.site-header .custom-logo-link img {
		margin-bottom: -7px;
		margin-top: -7px;
		max-height: 42px;
	}

	.site-header .site-title {
		font-size: 24px;
	}

	/* Site Navigation ---------------------------- */

	.mobile-menu a {
		padding: 16px 5vw;
	}
		
	#mobile-search-field {
		font-size: 14px;
		height: 70px;
	}
	
	.mobile-menu > li > a,
	.mobile-menu > li > div > a {
		font-size: 18px;
	}
	
	.mobile-menu ul {
		padding: 8px 0;
	}
	
	.mobile-menu ul a {
		font-size: 13px;
		padding: 12px 5vw;
	}
	
	.mobile-menu ul ul {
		margin: 5px 0;
	}
	
	.mobile.social-menu {
		padding: 0 calc( 5vw - 10px );
	}
	
	.mobile.social-menu a {
		padding: 20px 10px;
	}
	
	.mobile.social-menu a:before {
		font-size: 22px;
	}


	/* Blog Archive ---------------------------- */

	/* SLIDESHOWS */

	.hero-slider .slide .section-inner {
		padding: 80px 0;
	}

	.hero-slider .slide .button-wrapper {
		margin-top: 25px;
	}

	.slider-caption {
		font-size: 12px;
		padding: 10px 15px;
	}


	/* Single Post ---------------------------- */

	.post-header {
		margin-bottom: 25px;
	}

	.missing-post-thumbnail.has-manual-excerpt .post-header {
		margin-bottom: 15px;
	}

	.post .featured-media {
		margin-bottom: 30px;
	}

	.single-pagination {
		margin-top: 40px;
	}

	.comments,
	.comment-respond,
	.related-posts {
		margin: 50px 0 0;
		padding: 25px 0 0 0;
	}
	
	.comment-reply-title,
	.related-posts-title {
		margin-bottom: 30px;
	}

	.related-post {
		align-items: center;
			display: -webkit-box;
			display: -ms-flexbox;
		display: flex;
		margin: 0 0 15px 0;
		width: 100%;
	}

	.related-post:last-child {
		margin: 0;
	}

	.related-post .title {
		font-size: 18px;
		margin: 0;
	}

	.related-post-image {
		border-radius: 2px;
		height: 60px;
		margin: 0 10px 0 0;
		min-width: 60px;
	}

	/* SINGLE PAGINATION */

	.single-pagination {
		display: block;
	}

	.single-pagination a {
		width: 100%;
	}

	.single-pagination a + a {
		margin-top: 20px;
	}


	/* Entry Content ---------------------------- */

	button, 
	.button, 
	input[type="button"], 
	input[type="submit"] {
		min-width: 100px;
		padding: 13px 19px 14px;
	}

	/* VANILLA GALLERIES */

	.gallery .gallery-item {
		margin: 0 0 10px;
		padding: 0 5px;
	}

	.gallery .gallery-caption {
		display: none;
	}


	/* Page Content ---------------------------- */
	
	.page-content .alignleft {
		margin: 5px 30px 20px 0;
	}

	.page-content .alignright {
		margin: 5px 0 20px 30px;
	}

	.page-content .gallery {
		margin: 30px 0 20px;
	}
	
	.gallery + .gallery {
		margin-top: -20px;
	}


	/* Comments ---------------------------- */

	.comments-pagination {
		height: 21px;
		margin-top: 50px;
	}

	.comments-pagination .page-numbers {
		display: none;
	}

	.comments-pagination .page-numbers.prev,
	.comments-pagination .page-numbers.next {
		display: block;
	}

	.comments-pagination .prev,
	.comments-pagination .next {
		display: block;
	}


	/* Entry Content ---------------------------- */

	.entry-content h1, 
	.entry-content h2, 
	.entry-content h3, 
	.entry-content h4, 
	.entry-content h5, 
	.entry-content h6 {
		margin: 1.5em 0 1em;
	}

	.entry-content h1 { font-size: 32px; }
	.entry-content h2 { font-size: 28px; }
	.entry-content h3 { font-size: 24px; }
	.entry-content h4 { font-size: 22px; }
	.entry-content h5 { font-size: 20px; }
	.entry-content h6 { font-size: 18px; }


	/* Sub Page ---------------------------- */

	
	/* Page Templates ---------------------------- */


	/* TEMPLATE COVER */

	.page-hero {
		min-height: 400px;
		padding: 50px 0;
	}


	/* Site Pagination ---------------------------- */

	.site-pagination {
		display: flex;
		justify-content: space-between;
		padding-top: 30px;
	}

	ul.page-numbers {
		display: flex;
		justify-content: space-between;
		margin-top: 50px;
	}

	.site-pagination.only-next {
		justify-content: flex-end;
	}

	.site-pagination .number,
	ul.page-numbers a,
	ul.page-numbers span {
		display: none;
	}

	ul.page-numbers .prev,
	ul.page-numbers .next {
		display: block;
	}

	.site-pagination .prev,
	.site-pagination .next,
	ul.page-numbers .prev,
	ul.page-numbers .next {
		position: static;
	}
	
	
	/* Sidebar ---------------------------- */

	.split .sidebar {
		display: block;
		margin-top: 30px;
	}

	.split .sidebar .widget {
		width: 100%;
	}

	.split .sidebar .widget:nth-child(2) {
		margin-top: 40px;
	}


	/* Footer Widgets ---------------------------- */

	.footer-widgets {
		padding: 40px 0 0;
	}

	.footer-widgets .widgets-wrapper {
		margin-left: 0;
		width: 100%;
	}

	.footer-widgets,
	.secondary-widgets {
		display: block;
	}

	.footer-widgets .column {
		margin-left: 0;
	}

	.footer-widgets .column-1,
	.secondary-widgets {
		width: 100%;
	}

	.secondary-widgets:before,
	.credits:before {
		background: #333;
		content: "";
		display: block;
		height: 1px;
		margin: 0 auto 40px;
		width: 50%;
	}

	.secondary-widgets .column {
		width: 100%;
	}


	/* CONTACT INFORMATION WIDGET */

	.footer-widgets .column-1 .widget_sullivan_contact:first-of-type h3,
	.footer-widgets .column-1 .widget_sullivan_contact:first-of-type p {
		text-align: center;
	}


	/* Footer Credits ---------------------------- */

	.credits {
		display: block;
		padding: 40px 0;
		text-align: center;
	}

	.credits p,
	.credits ul {
		text-align: inherit;
	}

	.credits .social-menu {
		justify-content: center;
		margin-top: 27px;
	}


}


@media ( max-width: 500px ) {


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

	ul.item-grid {
        margin: 0 0 -30px -10px;
    }

    ul.item-grid li {
        margin: 0 0 30px 10px;
        width: calc( 50% - 10px );
	}


	/* Site Header ---------------------------- */

	.woocommerce-store-notice {
		padding: 10px 64px;
		width: 100%;
	}

	.woocommerce-store-notice__dismiss-link {
		width: 64px;
	}
	

	/* Site Search ---------------------------- */

	.content-search h2 {
		font-size: 16px;
	}


	/* Comments ---------------------------- */

	.comment-respond .comment-form-author, 
	.comment-respond .comment-form-email {
		float: none;
		width: 100%;
	}

	.comment-respond .comment-form-email {
		margin-left: 0;
	}


}


@media ( max-width: 350px ) {


	/* Single Post ---------------------------- */

	.post-meta.bottom .meta-title {
		display: block;
		font-size: 14px;
		margin: 0 0 5px;
	}

	.post-meta.bottom p + p {
		margin-top: 15px;
	}


	/* Comments ---------------------------- */

	.comment-meta {
		margin-bottom: 15px;
	}

	.comment-metadata {
		display: block;
		margin: 3px 0 0 0;
	}

}


.fb-social-menu-icon{
	background-image: url( ./assets/images/FB.png);
	background-repeat: no-repeat;
	width: 30px;
	height: 30px;
}
.in-social-menu-icon{
	background-image: url( ./assets/images/IN.png);
	background-repeat: no-repeat;
	width: 30px;
	height: 30px;
}