/* 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, 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: 100%; font: inherit; vertical-align: baseline; box-sizing: border-box; }

/* TEMP DEV STYLES */
.admin { display: block; position: fixed; right: 0; bottom: 0; left: 0; font-size: 12px; color: #FFF; text-align: right; padding: 10px; background: #252525; margin: 0; }

/* HTML5 display-role reset for older browsers */
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; }
img { max-width: 100%; height: auto;  }


/* defaults */
body { max-width: 1440px; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 300; color: #333333; background-color: #FFFFFF; margin: 0 auto; }
h1,h2,h3,h4,h5,h6,legend { font-family: "Bookman Old Style", Georgia, serif; font-weight: 700; color: #252525; line-height: 1.25; margin: 0 0 1rem 0; }
.menu { font-family: "Bookman Old Style", Georgia, serif; }
p,ul,ol,dl,table,figure,blockquote,fieldset,table { margin: 0 0 1.5rem 0; }
h1 { font-size: 200%; }
h2 { font-size: 125%; }
h3 { font-size: 110%; }
h4 { font-size: 100%; text-transform: uppercase; }
h5 { font-size: 100%; text-transform: uppercase; }
h6 { font-size: 100%; text-transform: uppercase; }
table { width: 100%; border-collapse: collapse; }
caption { font-style: italic; margin: 0 0 1em 0; }
th { font-weight: 700; text-align: left; padding: 0.5em 0; border-bottom: 1px dotted #CCC; }	
td { vertical-align: top; padding: 1em 0; border-bottom: 1px dotted #CCC; }
p { line-height: 1.5; }
ul { list-style: disc; line-height: 1.5; padding: 0; margin-left: 2em; }
ul.inline { list-style: none; margin-left: 0; }
ul.inline li { display: inline-block; }
ol { list-style: decimal; line-height: 1.5; padding: 0; margin-left: 2em; }
dl { line-height: 1.5; }
dt { font-weight: 700; }
dd { }
blockquote { font-family: serif; font-size: 1.1rem; font-style: italic; color: #757575; padding: 0 1em; border-left: 2px solid #CCC; margin-left: 1em; }
cite { font-family: Helvetica, Arial, sans-serif; }
figure { text-align: center; }
figcaption { font-size: 0.8em; color: #757575; padding: 0.5em 0; }


hr { display: block; width: 100%; background: 0; border: 0; margin: 0 0 2em 0; clear: both; }
hr::after { content: "\2605  \2605  \2605"; display: block; text-align: center; }
img { max-width: 100%; height: auto; }
a { color: #5C5CAD; text-decoration: none; transition: 0.25s; } 
a:hover, a:focus { color: #938EE5; text-decoration: underline; } 
small { font-size: 80%; }
em,i { font-style: italic; }
b,strong { font-weight: 700; }
pre { color: #4c516d; line-height: 1.5; padding: 1em 0; border-top: 1px dotted #CCC; border-bottom: 1px dotted #CCC; }
code { font-family: monospace; font-size: 1.1em; }

/* HELPERS */
.center { text-align: center; }
.clear { clear: both; }
.right { text-align: right; }
.text-larger { font-size: 1.2rem; }
.highlight { font-style: italic; color: #000; background: #FFFF00; background: rgba(255, 255, 0, 0.5); padding: 1em; border-radius: 14px 0; }

/* LAYOUT */
.row { clear: both; }
.row-top { padding: 1em; background: #938EE5; }
#menu { display: none; }
.row-nav { display: none; padding: 0 1em; background: #5C5CAD; box-shadow: 0 2px 4px #808080; }
.row-note { padding: 0.5em 1em; background: orange; border-top: 1px solid #FFF; border-bottom: 1px solid #FFF; }
.row-hero { padding: 50vh 0em 5vh 0em; margin: 0 auto 3em auto; z-index: -1; }  
.row-hero { background-color: #938EE5; background-repeat: no-repeat; background-position: center center; background-size: cover; }

.row-header { padding: 3em 1em 2em 1em; }
.row-section { padding: 0 1em 2em 1em; background: #FFFFFF; }
.row-section-alt { padding: 2em 1em 2em 2em; background: #f7eefa; margin: 0 0 2em 0; }
.row-newsletter { padding: 3em 1em; background: #938EE5; }
.row-footer { padding: 3em 1em 6em 1em; background: #5C5CAD; }
.row-consent { position: fixed; bottom: 0; right: 0; left: 0; width: 100%; background: #F5F5F5; border-top: 1px solid #CCC; }

.top { max-width: 1280px; margin: 0 auto; overflow: hidden; clear: both; }
.nav { max-width: 1280px; margin: 0 auto; overflow: hidden; clear: both; }
.note { max-width: 1280px; margin: 0 auto; overflow: hidden; clear: both; }
.hero { max-width: 1280px; margin: 0 auto; }
.hero.medium { max-width: 960px; margin: 0 auto; }
.header { max-width: 1280px; margin: 0 auto; }
.header.medium { max-width: 960px; margin: 0 auto; }
.section { max-width: 1280px; margin: 0 auto; }
.section.medium { max-width: 960px; margin: 0 auto; }
.footer { max-width: 1280px; margin: 0 auto; }
.consent { max-width: 1280px; margin: 0 auto; }

/* GRIDS */
.grid { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); }
.grid2 { display: grid; grid-column-gap: 0em; grid-row-gap: 1em; grid-template-columns: 1fr; margin: 0 0 2em 0; }
.grid3 { display: grid; grid-column-gap: 0em; grid-row-gap: 1em; grid-template-columns: 1fr; margin: 0 0 2em 0; }
.grid4 { display: grid; grid-column-gap: 0em; grid-row-gap: 1em; grid-template-columns: 1fr; margin: 0 0 2em 0; }

.grid-pad { padding: 1em; background: #FFF; border: 1px solid #F2ECFF; transition: 1s; }
.grid-pad:hover { border: 1px solid #938EE5; }
.grid-label { display: block; font-size: 70%; text-transform: uppercase; margin: 0 0 0.5rem 0;}
.grid-thumb img { display: block; margin: 0 0 0.75em 0; transition: 0.25s; }
.grid-heading { font-size: 125%; margin: 0; } 
.grid-summary { font-size: 90%; margin: 0.75rem 0 0 0; }
.grid-list { font-size: 90%; list-style: none; margin: 0.75rem 0 0 0; }
.grid-list li { display: block; margin: 0 0 0.25rem 0; }
.grid-list li::before { content: "\2023  "; }
.grid-cta { margin: 0.75rem 0 0 0; }
.grid-cta a { font-weight: 700; text-decoration: none; text-transform: uppercase; border: 0; }
.grid-cta a::after { content: " \2023";}

/* NAVIGATION */
.logo { float: left; }
.logo a { padding: 0; border: 0; }
.logo img { display: block; width: auto; height: 30px; }

.hello-links { display: none; font-size: 0.8rem; font-weight: 700; color: #FFF; list-style: none; text-align: right; margin: 0; }
.hello-links li { display: inline-block; padding: 0 0 0 0.5em; margin: 0; }
.hello-links strong::before { content: "Tel:  "; }
.hello-links a { color: #F2ECFF; text-decoration: none; }

.menu-icons { display: block; float: right; font-size: 0.9rem; font-weight: 400; color: #FFF; line-height: 30px; margin: 0; }
.menu-icons li { display: inline-block; margin-left: 0.5em; }
.menu-icons li.menu-icons-phone { display: none; }
.menu-icons li.menu-icons-phone::before { content: "Tel:  "; }
.menu-icons li.menu-icons-times { display: none; }
.menu-icons li.menu-icons-link { display: inline-block; font-size: 20px; }
.menu-icons a { font-weight: 700; color: #FFF; text-align: center; text-decoration: none; }
.menu-icons a:hover, .menu-icons a:active, .menu-icons a:focus { color: #FFFF00; text-decoration: none; }
.menu-icons li.menu-icons-cart a { display: block; width: 30px; height: 30px; font-size: 15px; text-align: center; border: 1px solid #FFF; }
.menu-icons li.menu-icons-toggle a { display: block; width: 30px; height: 30px; font-size: 15px; text-align: center; border: 1px solid #FFF; }

.menu { width: auto; font-size: 1rem; font-weight: 700; list-style: none; line-height: 40px; padding: 0; margin: 0; }
.menu li { display: block; border-bottom: thin solid #F2ECFF; }
.menu li:last-child { border-bottom: 0; }
.menu a { display: block; color: #FFF; text-decoration: none; text-transform: none; padding: 0 0.75rem 0 0.75rem; } 
.menu a::before { content: "\2605  "; }
.menu a:hover, .menu:focus { color: gold; background: #5C5CAD; text-decoration: none; } 

.crumbs { font-size: 80%; color: #CCC; list-style: none; margin: 0 0 1rem; }
.crumbs li { display: inline-block; }
.crumbs li::after { content: "  \2023  "; }

/* NOTE */
.note {  font-size: 0.9rem; font-weight: 400; color: #FFF; }
.note p { margin: 0; }

/* HERO */
.hero { }
.hero h1 { display: inline-block; max-width: 600px; color: #FFF; padding: 1rem; background: rgba(92,92,173,0.7); margin: 0; }
.hero p { color: #FFF; margin: 0; }
.hero p span { display: inline-block; padding: 0 1em 1rem 1em; background: rgba(92,92,173,0.7); }

/* HEADER */
.header { }
.header h1 { margin: 0; }
.header p { margin: 1rem 0 0 0; }

/* SECTION */
.section-heading { font-size: 175%; line-height: 1; margin: 0 0 2rem 0; }
.section-heading::before { content: "\2605  "; color: yellow; }
.section-intro { font-size: 105%; color: #EE82EE; text-align: center; border: 0; margin: 0 5% 1rem 5%; } 
.section-cta { text-align: center; margin: 2em 0 0 0; clear: both; }

/* ENTRY */
.entry-date { font-size: 0.8rem; color: #757575; text-transform: uppercase; }
.entry-intro { font-size: 105%; color: #EE82EE; text-align: center; border: 0; margin: 0 5% 1rem 5%; }

.profile-photo { margin: 0 0 1em 0; }
.profile-photo img { width: 100%; }

.fees-list { border-bottom: 1px solid #CCC;}
.fees-list dt { padding: 0.75em 0; border-top: 1px solid #CCC; }
.fees-list dd { padding: 0.75em 0; border-top: 1px solid #CCC; }

.callus { font-size: 1rem; color: #FFF; text-align: center; padding: 1em; background: #EE82EE; } /* Violet (web colors) */

/* PAGINATION */
.pagination { font-size: 1em; font-weight: 700; line-height: 40px; list-style: none; text-align: center; margin: 0 0 1.5em 0; }
.pagination li { display: inline-block; margin: 0 0.5rem; }
.pagination li.current { font-weight: 700; }

/* CHECKOUT */
.checkout-steps { font-size: 0.9rem; list-style: none; text-align: center; margin: 0 0 1rem 0; overflow: hidden; clear: both; }
.checkout-steps li { float: left; width: 25%; color: #CCC; }
.checkout-steps li.done { font-weight: 700; color: #1E90FF; } 
.checkout-steps li.done::before { content: "\2713  "; }
.checkout-steps li.active { font-weight: 700; color: purple; }
.checkout-steps li.active::before { content: "\270E  "; }

.blog-list { list-style: none; margin-left: 0; }
.blog-list li { margin-bottom: 1em; }
.blog-list a { font-weight: 700; }
.links-list { list-style: none; margin: 0 0 1.5em 0; }
.links-list li { margin-bottom: 1em; }

/* FOOTER */
.footer { color: #FFF; text-align: center; }
.footer a { color: #FFF; padding: 0; text-decoration: none; transition: 0.25s; } 
.footer a:hover, .footer a:focus { color: #CCC; text-decoration: underline; } 
.footer-address { font-size: 0.9rem; font-weight: 400; }
.footer-links { font-size: 0.9rem; font-weight: 400; list-style: none; margin: 0 0 1em 0; }
.footer-links li { display: inline-block; margin: 0.5em; }
.footer-legal { font-size: 0.8rem; margin: 0 0 1em 0; clear: both; }

/* QUOTES */
.quote { padding: 0; margin: 0 0 1.5rem 0; border: 0; }
.quote-text { position: relative; font-size: 105%; font-style: italic; color: #000; padding: 1.5em 1.5em 1.5em 3em; background: #F2ECFF; border-radius: 10px; margin: 0; }  
.quote-text::before { content: '“ '; font-size: 72px; position: absolute; top: 0px; left: 10px; } 
.quote-author { display: block; font-size: 0.9rem; font-style: normal; color: #999; line-height: 1.5; padding: 0 1em 0 10%; }
.quote-author-name { display: inline-block; }
.quote-author-company { display: inline-block; }
.quote-arrow { width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid #F2ECFF; margin: 0 0 0.25em 10%; } 

/* LINK BUTTONS */
.link { display: inline-block; font-family: sans-serif; font-weight: 700; color: #FFF; text-align: center; text-decoration: none; text-transform: uppercase; transition: 0.5s; cursor: pointer; border: 0; border-radius: 5px; transform: 0.5s; margin: 0 0 1em 0; }
.link:hover { color: #FFF; text-decoration: none; border: 0; }
.link:after { content: " \2023"; }
.link:hover:after { position: relative; content: " \2023"; right: -5px; }
.link-pri { color: #FFF; background: #5C5CAD; } 
.link-pri:hover, .link-pri:focus { color: #FFF; background: #938EE5; } 
.link-sec { color: #FFF; background: #808080; } 
.link-sec:hover { color: #FFF; background: #696969; } 
.link-l { font-size: 0.9rem; padding: 0.75em 2em; }
.link-m { font-size: 0.8rem; padding: 0.75em 2em; }
.link-s { font-size: 0.7rem; padding: 0.5em 1.5em; }
.link-block { display: block; text-align: center;}

/* MISC */
.video { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; margin: 0 0 1.5em 0; }
.video iframe, .video object, .video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  }
.map { margin: 0 0 1.5em 0; }
.map iframe { width: 100%; margin: 0; }
.map p { margin: 0; }
.offscreen { position: absolute; left: -999em; }


/* MESSAGES ERRORS ETC */
.message { font-size: 85%; padding: 1em; border-radius: 7px; }
.message-normal { color: inherit; background: #FFFFFF; border: 1px solid #CCC; }
.message-important { background: #F2ECFF; border: 1px solid #5C5CAD; } 
.message-warning { background: #FFFFCC; border: 2px solid #FF9900; }
.message-error { background: #FFFFCC; border:1px solid #FF0000; }

/* FORMS */
form { max-width: 100%; }
form ul { list-style: none; margin-left: 0; }
form li { margin: 0 0 0.25em 0; }
form dt { font-weight: 700; margin: 0 0 0.5rem 0; }
form dl.profile-availability { font-size: 85%; }
form dl.profile-availability dt { font-weight: 700; margin: 0 0 0.25em 0; }
fieldset { margin: 0 0 1.5em 0; }
legend { display: block; width: 100%; font-size: 100%; font-weight: 700; color: #000; text-transform: uppercase; margin: 0 0 1em; }	
label { display: block; font-weight: 400; margin: 0 0 0.5rem 0; cursor: pointer; }
.label-note { display: block; color: #555; line-height: 1.25; margin: 0 0 0.5rem;  }
input, textarea, select, button { font-size: 16px; padding: 0; border: 0; border-radius: 5px; box-sizing: border-box; transition: 0.5s; }
input[type='text'],input[type='tel'],input[type='email'],input[type='password'] { width: 100%; height: 48px; text-indent: 5px; border: 2px solid #A2A2D0; } 
input[type='checkbox'], input[type='radio'] { height: 20px; width: 20px; vertical-align: middle; padding: 0; margin: 0; border: 0; margin-top: -3px; }
input[type='number'] { width: 64px; height: 48px; padding: 0 10px; border: 2px solid #A2A2D0; }

select { width: 100%; height: 48px; border: 2px solid #5C5CAD; } 
textarea { width: 100%; height: 160px; padding: 5px; border: 2px solid #A2A2D0; } 
textarea.textarea-small { height: 80px; }
input:focus, textarea:focus, select:focus { background: #F2ECFF; border-color: #938EE5; }  
form button { width: 100%; height: 48px; font-family: sans-serif; font-size: 16px; font-weight: 700; color: #FFF; text-transform: uppercase; padding: 0 2em; background: #5C5CAD; border: 0; cursor: pointer; } 
form button:hover, button:focus { color: #FFF; background: #938EE5; }
form button:after { content: " \2192"; }
.button-s { width: 180px; height: 32px; font-size: 13px; color: #FFF; background: #808080; }



/* COOKIE CONSENT */
.consent { font-size: 14px; padding: 1rem; }
.consent p { margin: 0 0 0.5em 0; }
.consent ul { margin: 0; }
.consent li { display: inline-block; margin-right: 1em; }
.button-consent { width: 60px; height: 24px; font-size: 13px; padding: 0; background: #938EE5; }


/* MEDIA QUERIES */
@media screen and (min-width: 640px) {
body { font-size: 18px; }

.grid2 { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }
.grid3 { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }
.grid4 { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }


.fees-list { display: grid; grid-column-gap: 0em; grid-row-gap: 0em; grid-template-columns: 1fr 80px 80px; }

.profile-photo { float: right; width: 50%; padding: 0.5em; border: 1px solid #F2ECFF; margin: 0 0 1em 1em; }
	
}

@media screen and (min-width: 1024px) {

#menu { display: block; }
.hello-links { display: block; font-size: 0.9rem; }
.logo img { height: 40px; }
.menu-icons { line-height: 40px; }
.menu-icons li.menu-icons-phone { display: inline-block; }
.menu-icons li.menu-icons-times { display: inline-block; }
.menu-icons li.menu-icons-cart a { display: block; width: 40px; height: 40px; font-size: 15px; text-align: center; border: 1px solid #FFF; }
.menu-icons li.menu-icons-toggle { display: none; }
.menu { display: block; width: 100%; text-align: left; line-height: 48px; padding: 0; border: 0; margin: 0; clear: both; }
.menu li { display: inline-block; border: 0; margin: 0 0.75em 0 0; }
.menu li a { display: block; color: #FFF; transition: 0.5s; padding: 0; background: transparent; }
.menu li a:hover, .menu li a.current { color: gold; text-decoration: none; background: transparent; } 

.grid3 { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: 1fr 1fr 1fr; }	
.grid-pad { padding: 1em; }	
.grid4 { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: 1fr 1fr 1fr 1fr; }	

	
}