/*--------------------------------------------------------------
# Reset CSS
# http://meyerweb.com/eric/tools/css/reset/ 
--------------------------------------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, input, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	outline: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

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

a {
	text-decoration: none;
	outline: 0;	
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	outline: none;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

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

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin-bottom: .5em;
}

p {
	margin-bottom: 1.5em;
}

b,
strong {
	font-weight: bold;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

address {
	margin: 0 0 1.5em;
}

pre {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	margin-bottom: 1.5em;
	max-width: 100%;
	overflow: auto;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

small {
	font-size: 75%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

html,
body {
	overflow-x: hidden;
	margin: 0;
	padding: 0;	
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

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

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

nav ul,
.widget ul,
.share,
.share ul,
ul.flex,
ul.no-bullets,
ol.comment-list,
.comment-list ul {
	margin: 0;
	list-style: none;	
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

a {
	color: #000;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link,
.button {
	outline: none;
	cursor: pointer;
	border: none;
	border-radius: 0;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.button {
	display: inline-block;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #000;
	border-radius: 0;
	box-sizing: border-box;
	width: 100%;
	border: none;
	padding: 10px;
	background: #fff;
}

select {
	border: 2px solid #F1F1F1;
	color: #000;
}

label {
	display: block;
	margin-bottom: .5em;
}

::-moz-placeholder {
  opacity: 1;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

.featured-image a,
.featured-image img,
.wp-caption img,
.wp-block-image img,
.wp-block-gallery img {
	display: block;
}

/*--------------------------------------------------------------
# Blocks
--------------------------------------------------------------*/

.wp-block-image,
.wp-block-gallery,
.wp-block-button,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-separator,
.wp-block-media-text {
	margin-bottom: 1.5em;
}

.wp-caption,
.wp-block-image,
.wp-block-gallery .blocks-gallery-item {
	position: relative;
}

.wp-block-pullquote.is-style-default {
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
}

cite,
.wp-block-quote__citation {
	display: block;
	margin-top: 10px;
}

p.is-small-text,
.has-small-font-size {
    font-size: 80%;
}

p.is-regular-text,
.has-normal-font-size,
.has-regular-font-size {
    font-size: inherit;
}

.has-medium-font-size {
    font-size: 110%;
}

p.is-large-text,
.has-large-font-size {
    font-size: 120%;
	line-height: 1.5em;
}

p.is-larger-text,
.has-larger-font-size {
    font-size: 125%;
}

.has-huge-font-size {
    font-size: 150%;
}

.full-width-content .alignfull {
	margin: 0 calc(50% - 50vw) 1.5em;
	max-width: 100vw;
	width: 100vw;
}

.full-width-content .alignwide {
	margin: 0 calc(25% - 25vw) 1.5em;
	max-width: 100vw;
	width: 100vw;
}


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.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-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/

.gallery {
	margin-bottom: 1.5em;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.gallery-item {
	text-align: center;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 49.5%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 24.5%;
}

.gallery-columns-5 .gallery-item {
	width: 19.5%;
}

.gallery-columns-6 .gallery-item {
	width: 16.25%;
}

.gallery-columns-7 .gallery-item {
	width: 14%;
}

.gallery-columns-8 .gallery-item {
	width: 12%;
}

.gallery-columns-9 .gallery-item {
	width: 11%;
}

@media all and (max-width: 767px) {
	.gallery-columns-2 .gallery-item,
	.gallery-columns-3 .gallery-item,
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-columns-7 .gallery-item,
	.gallery-columns-8 .gallery-item,
	.gallery-columns-9 .gallery-item {
		width: 100%;
	}
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/

.clear:before,
.clear:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after {
	clear: both;
}

/*--------------------------------------------------------------
# Superfish
--------------------------------------------------------------*/

.sf-menu, .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sf-menu li {
	position: relative;
}

.sf-menu ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 50%;
	width: 160px;
	transform: translateX(-50%);
	z-index: 99;
	border: 2px solid #BDB2A8;
	background: #fff;
	text-align: center;
}

.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
	display: block;
}

.sf-menu a {
	display: block;
	position: relative;
	padding: 10px 0;
}
.sf-menu ul ul {
	top: 0;
	left: 100%;
}

/*--------------------------------------------------------------
# Additional Elements
--------------------------------------------------------------*/

.wrap {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}

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

.inline-block {
	display: inline-block;
}

.animate {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.full-width-bg:before {
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    z-index: -1;
}

/*--------------------------------------------------------------
# Desktop and Mobile classes
--------------------------------------------------------------*/

@media all and (min-width: 1025px) {
	
	.hide-desktop,
	.menu > li.hide-desktop {
		display: none;
	}

}

@media all and (min-width: 768px) and (max-width: 1024px) {
	
	.hide-tablet,
	.menu > li.hide-tablet {
		display: none;
	}

}

@media all and (max-width: 767px) {
	
	.hide-mobile,
	.menu > li.hide-mobile {
		display: none;
	}

}

/*--------------------------------------------------------------
# Menus
--------------------------------------------------------------*/

.menu > li {
	display: inline-block;
	margin: 0 20px;
}

.menu > li:first-of-type {
	margin-left: 0;
}

.menu > li:last-of-type {
	margin-right: 0;
}

/*--------------------------------------------------------------
# Slick Carousel
--------------------------------------------------------------*/

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/*--------------------------------------------------------------
# Tabbed Content
--------------------------------------------------------------*/

.tabbed-content > .content {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	overflow: hidden;
}

.tabbed-content > .content > section {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 0;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.tabbed-content > .content > section.content-current {
	opacity: 1;
	z-index: 1;
	height: auto;
	position: static;
}

