/* Table of Content
==================================================

	1.Resets
	2.Typography
	3.Images
	4.Feature Components
	5.Default Form Styles
	6.PlugIns
	7.Responsive Classes

================================================== */


/* 1. Resets
================================================== */


/* Primary 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, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, 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: inherit;
    vertical-align: baseline;
}

/*Reset Table*/

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

/* Reset phone */

a[href^=tel] {
    color: inherit;
    text-decoration: none;
}
input[type="submit"] {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}

/* Reset Box Sizing */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* 2. Typography
================================================== */


/* Global Font Style  */

html {
    overflow-y: scroll;
    font-size: 100%;
    line-height: 1.650em;
}
body {
    background: rgb(255,254,248);
    font-family: "open_sansregular", Arial, sans-serif;
    color: rgb(40,40,40);
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    min-height: 100%;
}

/* Typography */

ul, ol, dl, p, table, form, pre, hr {
    margin: 0 0 28px 0;
}
h1, h2, h3, h4, h5 {
    line-height: 1.3em;
    margin-bottom: 28px;
    letter-spacing: 0.120em;
    text-transform: uppercase;
    font-family: 'open_sansbold';
    color: rgb(87,72,106);
}
p {
	letter-spacing: 0.03em;
	font-size: 92%;
}
h1 { font-size: 135%;
}
h2 {
    font-size: 125%;
}
h3 {
    font-size: 110%;
}
h4 {
    font-size: 100%;
}
h5 {
    font-size: 92%;
}
em, i {
    font-style: italic;
    line-height: inherit;
}
strong, b {
    font-weight: bold;
    line-height: inherit;
}
hr {
    border: 0 rgb(0, 0, 0) solid;
    border-top-width: 1px;
    clear: both;
    height: 0;
    margin: 14px 0 28px;
    box-shadow: 0 0 1px rgb(51, 51, 51);
}
blockquote {
    background: rgb(249, 249, 249);
    border-left: 10px solid rgb(204, 204, 204);
    margin: 1.8em 10px;
    padding: 28px;
    quotes: "\201C""\201D";
}
blockquote:before {
    color: rgb(204, 204, 204);
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
}
blockquote p {
    display: inline;
}

/* Default Links */

a, a:visited {
    text-decoration: underline;
    outline: 0;
}

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


/* Default Lists */

ul, ol {
    margin-left: 30px;
    margin-bottom: 38px;
}
ol {
    list-style: decimal;
}
ul ul, ul ol, ol ol, ol ul {
    margin: 8px 0 8px 30px;
}

/* Text Alignment */

.align_right {
    text-align: right;
}
.align_centre {
    text-align: center;
}

/* 3. Images
================================================== */

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

/* Fig caption */

figure {
    padding: 0;
}
figure img {
    display: block;
    width: 100%;
}
.wp-caption .wp-caption-text {
    margin: 0.4075em 0;
    font-size: .8em;
    color: rgb(139, 139, 139);
    text-transform: uppercase;
    font-weight: bold;
}

/* 4. Feature Components
================================================== */


/* SlickNav Overrides */

.slicknav_menu {
    font-size: 115%;
}
.slicknav_menu .slicknav_menutxt {
    font-size: 90%;
    font-family: 'open_sansbold';
    text-transform: uppercase;
}
.slicknav_nav .slicknav_row {
    margin: 0;
    margin-bottom: 1px;
    padding: 8px 12px;
}
.slicknav_nav .slicknav_item a {
    padding: 6px 0;
}
.slicknav_nav .slicknav_arrow {
    float: right;
    font-size: 0.8em;
    font-weight: bold;
    background-color: rgba(255, 255, 255, 0.2);
    padding: 6px 16px;
    margin-top: -6px;
    margin-right: -10px;
}
.slicknav_nav a {
    padding: 8px 12px;
}
.slicknav_menu .slicknav_icon-bar {
    height: 0.115em;
}

/* Media */

iframe {
    width: 100%;
}

/*Default Google Map*/

#map {
    width: auto;
    height: 500px;
}

/* CD (caret direction)scroll to top */

.scroll-top {
    display: inline-block;
    height: 40px;
    width: 40px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: rgba(87,72,106, 0.72) url(../g/top-arrow.svg) no-repeat center 50%;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity .3s 0s, visibility 0s .3s;
    -moz-transition: opacity .3s 0s, visibility 0s .3s;
    transition: opacity .3s 0s, visibility 0s .3s;
}
.scroll-top.cd-is-visible, .scroll-top.cd-fade-out, .no-touch .scroll-top:hover {
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s;
}
.scroll-top.cd-is-visible {
    visibility: visible;
    opacity: 0.95;
}
.scroll-top.cd-fade-out {
    opacity: 0.7;
}
.no-touch .scroll-top:hover {
    background-color: rgb(34, 34, 34);
    opacity: 1;
}

/* Buttons */

a.button, a.more-link, button {
    border-radius: 3px;
    font-size: 85%;
    font-weight: 600;
    padding: 10px 18px;
    text-decoration: none;
    display: inline-block;
    margin-right: 4px;
    margin-left: 1px;
    margin-bottom: 9px;
    text-align: center;
    line-height: 1.5;
}

/* Responsive Table */

table {
    border-collapse: collapse;
    overflow-x: auto;
    border-spacing: 0;
    width: 100%;
    border: 1px solid rgb(164, 164, 164);
    font-size: 80%;
}
thead tr th {
    font-size: 110%;
}
th, td {
    border: none;
    text-align: center;
    padding: 3%;
}
tr:nth-of-type(2n+1) {
    background: rgba(216, 216, 216, 0.02);
    color: rgb(60, 60, 60);
}
tr:nth-of-type(2n) {
    background: rgba(247, 247, 247, 0.06);
    color: rgb(60, 60, 60);
}
tr:hover {
    background: rgba(38, 38, 38, 0.08);
}
tfoot tr td{
    border-top: 1px solid rgb(164, 164, 164);
    padding: 10px;
}

/* 5. Default Form Styles
================================================== */


/*Form Buttons*/

input[type=button], input[type=submit], input[type=reset], button[type=button], button[type=submit], button[type=reset] {
    border-radius: 3px;
    color: rgb(255, 255, 255);
    font-size: 85%;
    font-weight: 600;
    padding: 10px 20px;
    text-decoration: none;
    display: inline-block;
    border: none;
    cursor: pointer;
}

/*Form Text Input Types (single element or field)*/

input, select {
    margin: 0;
    padding: 5px;
    margin: 5px 0;
    border: 1px solid rgba(204, 204, 204, 1);
}
input:focus, select:focus {
    border: rgba(154, 154, 154, 1) solid 1px;
    outline-style: none;
}

/*Progress Bar - Firefox ignores*/

progress[value] {
    -webkit-appearance: none;
    appearance: none;
    height: 20px;
}
progress[value]::-webkit-progress-bar {
    background-color: rgb(252, 252, 252);
    border-radius: 2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) inset;
    color: rgb(224, 117, 109);
}
progress[value]::-webkit-progress-value {
    background-color: rgb(58, 113, 168);
    box-shadow: 0 8px 6px rgba(255, 255, 255, 0.25) inset;
}

/*Individual Overrides*/

input[type=color] {
    padding: 2px;
}
input[type=range] {
    padding: 2px;
    margin-bottom: 0;
    border: none;
}

/* 7. Responsive Classes
================================================== */

.show-on-phones, .show-on-tablets, .hide-on-desktops, #menu li ul, #primary-menu ul li ul, #secondary-menu li ul, #secondary-menu ul li ul {
    display: none !important;
}
.show-on-desktops {
    display: inherit !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .hide-on-desktops, .show-on-tablets {
        display: inherit !important;
    }
    .show-on-desktops, .hide-on-tablets {
        display: none !important;
    }
}
@media (max-width: 767px) {
    .hide-on-desktops, .show-on-phones {
        display: inherit !important;
    }
    .show-on-desktops, .hide-on-phones {
        display: none !important;
    }
}
@media (max-width: 768px) {
    .hide-on-tablets-portrait {
        display: none !important;
    }
}
