/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html { line-height: 1.15; -webkit-text-size-adjust: 100% }

[class*="flex-"]{display:-webkit-box;display:-ms-flexbox;display:flex}

[class*="-col"]{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;-ms-flex-flow:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}

[class*="-row"]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-ms-flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}

[class*="-nowrap"]{-ms-flex-wrap:nowrap;flex-wrap:nowrap}



body { margin: 0 }

main { display: block }

h1 { font-size: 2em; margin: .67em 0 }

hr { box-sizing: content-box; height: 0; overflow: visible }

a { background-color: transparent }

abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted }

b, strong { font-weight: bold }

code { font-family: monospace, monospace; font-size: 1em }

small { font-size: 80% }

 sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline }

sup { top: -.5em }

img { border-style: none }

button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0 }

button, input { overflow: visible }

button, select { text-transform: none }

[type=button], [type=reset], [type=submit], button { -webkit-appearance: button }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner { border-style: none; padding: 0 }

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring { outline: 1px dotted ButtonText }

fieldset { padding: .35em .75em .625em }

progress { vertical-align: baseline }

textarea { overflow: auto }

[type=checkbox], [type=radio] { box-sizing: border-box; padding: 0 }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto }

details { display: block }

summary { display: list-item }

template { display: none }

[hidden] { display: none }

 figure, h1, h2, h3, h4, h5, h6, hr { margin: 0 }

button { background-color: transparent; background-image: none; padding: 0 }

button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color }

fieldset { margin: 0; padding: 0 }

ol, ul { list-style: none; margin: 0; padding: 0 }

html { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; line-height: 1.5 }

*, ::after, ::before { box-sizing: border-box; border-width: 0; border-style: solid; border-color: #e2e8f0 }

hr { border-top-width: 1px }

img { border-style: solid }

textarea { resize: vertical }

input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #a0aec0 }

input::-ms-input-placeholder, textarea::-ms-input-placeholder { color: #a0aec0 }

input::placeholder, textarea::placeholder { color: #a0aec0 }

 button { cursor: pointer }

table { border-collapse: collapse }

h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit }

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

button, input, optgroup, select, textarea { padding: 0; line-height: inherit; color: inherit }

code { font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace }

audio, canvas, embed, iframe, img, object, svg, video { display: block; vertical-align: middle }

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



.elem-right, .elem-left, .block { display: block }

.elem-right { float: right; margin: 0 0 30px 75px }

.elem-left { float: left; margin: 0 75px 30px 0 }

@media (max-width:800px) {

  main .elem-right, main .elem-left {  width: 100%; float: none; clear: both; margin: 0 auto }

}



.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }

.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; width: 100%; height: 100%; left: 0; }

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

.gmap { cursor: pointer; position: relative; }

.gmap iframe { pointer-events: none; display: block; width: 100%; }

.gmap.active iframe { pointer-events: all; }

@media screen and (max-width:860px) {

  .gmap iframe { height: 240px; }

}

@media (min-width: 600px){

    .two-col{column-count: 2;}

    .three-col{column-count: 3;}

}

/* Flexbox */

.flex-ed, .col-flex-ed { display: -webkit-box; display: -ms-flexbox; display: flex; }

.flex-ed { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; }

.col-flex-ed { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; }

.stretch-ed { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

.fill-ed { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; }

.h-center { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; -ms-grid-row-align: center; align-items: center; }

.v-center { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }

.sa { justify-content: space-around; }

.playing header { z-index: 1 }

[data-player].playing { z-index: 100; }



/* --- end foundation --- */

[data-player], [data-vimeo], [data-embed] { position: relative; }

[data-embed] .close, [data-vimeo] .close { background-color: #000; color: #fff; padding: 11px; text-transform: uppercase; }

[data-embed] .close:hover, [data-vimeo] .close:hover { background-color: #464646; color: #fff; }

[data-embed] .play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

[data-embed] .close { position: absolute; top: 0; right: 0; }

[data-embed] .close i:before { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.vimeo[class*="elem-"], .youtube[class*="elem-"] { width: 440px; }

.youtube, .vimeo { position: relative; cursor: pointer; width: 100%; font-size: 0; }

.youtube:before, .vimeo:before, .vimeo:after, .youtube:after { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.vimeo:before, .youtube:before { content: ""; background-color: #fff; width: 40px; height: 40px; }

.vimeo:after, .youtube:after { font-size: 70px; color: #ff0000; font-family: "fontello"; font-weight: 400; margin: 0; font-style: normal; content: "\e80e"; }

.vimeo:after { color: rgb(0, 173, 239); }

.vimeo:hover:after, .youtube:hover:after { color: #4d4d4d; }

.vimeo.active:before, .vimeo.active:after, .youtube.active:before, .youtube.active:after { display: none; }





@charset "UTF-8";



/*!

 * Animate.css -http://daneden.me/animate

 * Version - 3.4.0

 * Licensed under the MIT license - http://opensource.org/licenses/MIT

 *

 * Copyright (c) 2015 Daniel Eden

 */

.animated { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }

.animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; }

.animated.hinge { -webkit-animation-duration: 2s; animation-duration: 2s; }

.animated.flipOutX, .animated.flipOutY, .animated.bounceIn, .animated.bounceOut { -webkit-animation-duration: .75s; animation-duration: .75s; }



/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {

  from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }

  50% { -webkit-transform: scale3d(1.05, 1.05, 1.05); transform: scale3d(1.05, 1.05, 1.05); }

  to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }

}

@keyframes pulse {

  from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }

  50% { -webkit-transform: scale3d(1.05, 1.05, 1.05); transform: scale3d(1.05, 1.05, 1.05); }

  to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }

}

.pulse { -webkit-animation-name: pulse; animation-name: pulse; }

@-webkit-keyframes bounceInDown {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  0% { opacity: 0; -webkit-transform: translate3d(0, -3000px, 0); transform: translate3d(0, -3000px, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); }

  75% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); }

  90% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }

  to { -webkit-transform: none; transform: none; }

}

@keyframes bounceInDown {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  0% { opacity: 0; -webkit-transform: translate3d(0, -3000px, 0); transform: translate3d(0, -3000px, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); }

  75% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); }

  90% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }

  to { -webkit-transform: none; transform: none; }

}

.bounceInDown { -webkit-animation-name: bounceInDown; animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  0% { opacity: 0; -webkit-transform: translate3d(-3000px, 0, 0); transform: translate3d(-3000px, 0, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(25px, 0, 0); transform: translate3d(25px, 0, 0); }

  75% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); }

  90% { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); }

  to { -webkit-transform: none; transform: none; }

}

@keyframes bounceInLeft {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  0% { opacity: 0; -webkit-transform: translate3d(-3000px, 0, 0); transform: translate3d(-3000px, 0, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(25px, 0, 0); transform: translate3d(25px, 0, 0); }

  75% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); }

  90% { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); }

  to { -webkit-transform: none; transform: none; }

}

.bounceInLeft { -webkit-animation-name: bounceInLeft; animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  from { opacity: 0; -webkit-transform: translate3d(3000px, 0, 0); transform: translate3d(3000px, 0, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(-25px, 0, 0); transform: translate3d(-25px, 0, 0); }

  75% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); }

  90% { -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); }

  to { -webkit-transform: none; transform: none; }

}

@keyframes bounceInRight {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  from { opacity: 0; -webkit-transform: translate3d(3000px, 0, 0); transform: translate3d(3000px, 0, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(-25px, 0, 0); transform: translate3d(-25px, 0, 0); }

  75% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); }

  90% { -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); }

  to { -webkit-transform: none; transform: none; }

}

.bounceInRight { -webkit-animation-name: bounceInRight; animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  from { opacity: 0; -webkit-transform: translate3d(0, 3000px, 0); transform: translate3d(0, 3000px, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); }

  75% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); }

  90% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

@keyframes bounceInUp {

  from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

  from { opacity: 0; -webkit-transform: translate3d(0, 3000px, 0); transform: translate3d(0, 3000px, 0); }

  60% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); }

  75% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); }

  90% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

.bounceInUp { -webkit-animation-name: bounceInUp; animation-name: bounceInUp; }

@-webkit-keyframes fadeIn {

  from { opacity: 0; }

  to { opacity: 1; }

}

@keyframes fadeIn {

  from { opacity: 0; }

  to { opacity: 1; }

}

.fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {

  from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

@keyframes fadeInDown {

  from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

.fadeInDown { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; }

@-webkit-keyframes fadeInLeft {

  from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

@keyframes fadeInLeft {

  from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

.fadeInLeft { -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; }

@-webkit-keyframes fadeInRight {

  from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

@keyframes fadeInRight {

  from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

.fadeInRight { -webkit-animation-name: fadeInRight; animation-name: fadeInRight; }

@-webkit-keyframes fadeInUp {

  from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

@keyframes fadeInUp {

  from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }

  to { opacity: 1; -webkit-transform: none; transform: none; }

}

.fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; }

@-webkit-keyframes flipInX {

  from { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transform: perspective(400px) rotate3d(1, 0, 0, 90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0; }

  40% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transform: perspective(400px) rotate3d(1, 0, 0, -20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; }

  60% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; }

  80% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }

  to { -webkit-transform: perspective(400px); transform: perspective(400px); }

}

@keyframes flipInX {

  from { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transform: perspective(400px) rotate3d(1, 0, 0, 90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0; }

  40% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transform: perspective(400px) rotate3d(1, 0, 0, -20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; }

  60% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; }

  80% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }

  to { -webkit-transform: perspective(400px); transform: perspective(400px); }

}

.flipInX { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipInX; animation-name: flipInX; }

@-webkit-keyframes rotateIn {

  from { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, -200deg); transform: rotate3d(0, 0, 1, -200deg); opacity: 0; }

  to { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: none; transform: none; opacity: 1; }

}

@keyframes rotateIn {

  from { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, -200deg); transform: rotate3d(0, 0, 1, -200deg); opacity: 0; }

  to { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: none; transform: none; opacity: 1; }

}

.rotateIn { -webkit-animation-name: rotateIn; animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {

  from { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }

  to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; transform: none; opacity: 1; }

}

@-webkit-keyframes slideInDown {

  from { -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

@keyframes slideInDown {

  from { -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

.slideInDown { -webkit-animation-name: slideInDown; animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {

  from { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

@keyframes slideInLeft {

  from { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

.slideInLeft { -webkit-animation-name: slideInLeft; animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {

  from { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

@keyframes slideInRight {

  from { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

.slideInRight { -webkit-animation-name: slideInRight; animation-name: slideInRight; }

@-webkit-keyframes slideInUp {

  from { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

@keyframes slideInUp {

  from { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); visibility: visible; }

  to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

}

.slideInUp { -webkit-animation-name: slideInUp; animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {

  from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

  to { visibility: hidden; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }

}







/* Tailwind */.border{border-width:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.clearfix:after{content:"";display:table;clear:both}.h-1{height:.25rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.resize{resize:both}.text-center{text-align:center}.text-right{text-align:right}.text-white{color:#fff}.visible{visibility:visible}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}





.index-faq {

margin: 4rem auto;

text-align: center;

max-width: 1200px;

}



/* --- invisalign promo page --- */

.page_invisalign-promotion-new #page-title {display:none;}

.page_invisalign-promotion-new main {padding: 0;max-width: 100%;margin: 0;}

#invisalign-promo-container {background-color: #fff;display: flex;justify-content: space-between;}

#invisalign-promo-container h2 {margin-bottom: 15px;}

#invisalign-promo-container > * {flex: 50%;}

#invisalign-promo-container article {align-self:center;padding: 0 50px;}

#invisalign-promo-container li {font-size: 24px;margin: 20px 0;padding-left: 50px;}

#invisalign-promo-container li:before {padding-top: 10px;}

#invisalign-promo-container span {color: #0C277A;font-weight: bold;font-size: 32px;}

#invis-promo-call {background-color: #002980;text-align: center;padding: 50px 0;}

#invis-promo-call h2 {color: #fff;font-size: 62px;}

#invis-promo-call > div span {color: #55DE2C;font-size: 40px;font-weight: bold;}

#invis-promo-call > div span a {color: #fff;}

#invis-form {display:none;padding: 50px;max-width: 700px;border-radius: 30px;}

#invis-form form > input, #invis-form form > select, #invis-form form > textarea {background: transparent; border-bottom: 1px solid rgba(112, 112, 112, 0.6); width: 100%;margin-bottom: 10px;}

#invis-form .input-split {display:flex;}

#invis-form .input-split input {background: transparent;flex: 50%;border-bottom: 1px solid rgba(112, 112, 112, 0.6);}

#invis-form .input-split input:first-of-type {margin-right: 20px;}

#invis-form input::placeholder, #invis-form textarea::placeholder, #invis-form select {color: #0C277A;opacity: 1;}

#invis-form select {padding: 5px 0;}

#invis-form form {text-align:center;}

#invis-form form > input, #invis-form form > div, #invis-form form > select, #invis-form form > textarea {margin-bottom: 20px;}

#invis-form form > p {font-size: 14px;}

.invis-banner-top-copy {position:absolute; z-index:99; color:white; right: 8%; top: 7%; font-size: 24px; text-align: center;}





@media (max-width: 1024px) {

    .page_invisalign-promotion-new main {padding-top: 111px;}

    .page_invisalign-promotion-new .main-img {display:none;}

    #invisalign-promo-container {flex-wrap:wrap;}

    #invisalign-promo-container > * {flex: 0 1 100%;}

    #invisalign-promo-container article {padding: 50px 20px;text-align:center;}

    #invisalign-promo-container span {font-size: 24px;}

.invis-banner-top-copy {position:initial; z-index:99; color:black; right: 8%; top: 7%; font-size: 24px; text-align: center;margin: 20px 0;}

}

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

    #invisalign-promo-container ul {max-width: 500px;margin: auto;}

}









.off {pointer-events: none;}



.service-icons {display: flex; justify-content: center; text-align: center; flex-wrap: wrap; margin: 20px auto; 

    h3 {margin: 5px auto; font-size: 22px; line-height: 1.1;}

    > * {padding: 5px; flex:0 1 180px; margin: 10px auto;display: block;}

  a { color: $text;text-decoration: none;

    &:hover {

        .icon .ic-color {fill: $primary;} 

      h3 {color: $primary;}

    }

  }

}



.ic-color {fill: $secondary}

.sv-icon {height: 80px; display: flex; flex-direction: column; justify-content: center; align-items: center;}

.service-icons > a { margin: 0; }



.has-h3 {clear: both; display: table; width: 100%; margin: 20px auto; text-align: left;}

.has-h3 h3 {margin: 0 auto 10px;text-align: left;}

@media (max-width: 750px) {

 .has-h3, .has-h3 h3 {text-align: center;}

}



/*==================== Modal ================*/



#lean_overlay {padding: 10px; position: fixed; z-index:1100; top: 0; left: 0; height:100%; width:100%; background: rgba(0,0,0,.9); display: none; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; -webkit-box-align:center; -webkit-align-items:center; -ms-flex-align:center; -ms-grid-row-align:center; align-items:center; overflow: scroll; }









.modal-content { display: none; -webkit-box-flex: 0;-ms-flex: 0 1 97%;flex: 0 1 97%;border-radius: 8px;

  background: #fff;

  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

  max-width: 1000px;-webkit-box-sizing: border-box; box-sizing: border-box; position: relative;text-align: center;  width: 93%;  max-height: calc(100vh - 80px); overflow: auto;

  

          h3 {text-align: center;font-size: 26px;margin: 15px 0 10px}

        .has_btns {display: flex; justify-content: center; flex-wrap: wrap;}

        .btn {margin: 5px; min-width: 430px;}



  

    .buttons {display: flex;flex-wrap: wrap;justify-content: center;}

    .buttons > p {margin: 5px}



    }



    .modal-close { position: absolute; right:0; top:0; margin: 5px; z-index:1002; cursor:pointer;  color: $secondary; line-height: 1;

        span {display: none;}

        i { position: relative; color:$secondary; font-style: normal; padding-bottom: 4px;

            &:before { font-size: 40px;content: '\00d7'}

        }

         &:hover i {color: #555; }

    }





    .modal-content .has_btns{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}

    .modal-content .btn{margin:5px;min-width:350px}







.lean-vid a {

    display: block;

    padding: 5px;

    text-align: center;

    font-weight: 700;

    text-transform: uppercase;

    color: #fff;

    background-color: #002980;

}



.lean-vid a:hover {

    background-color: #64a70b;

    color: #fff;

}



#lean_overlay {

    padding: 10px;

    position: fixed;

    z-index: 1100;

    top: 0;

    left: 0;

    height: 100%;

    width: 100%;

    background: rgba(0, 0, 0, .9);

    display: none;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    -ms-grid-row-align: center;

    align-items: center;

    overflow: scroll;

}



.modal-content {

    display: none;

    -webkit-box-flex: 0;

    -ms-flex: 0 1 97%;

    flex: 0 1 97%;

    border-radius: 8px;

    background: #fff;

    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

    max-width: 1000px;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

    position: relative;

    text-align: center;

    width: 93%;

    max-height: calc(100vh - 80px);

    overflow-y: scroll;

    padding: 10px 20px;

    overflow-x: hidden;

}



.modal-content h3 {

    text-align: center;

    font-size: 26px;

    margin: 15px 0 10px;

}



.modal-content .has_btns {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

}



.modal-content .btn {

    margin: 5px;

    min-width: 430px;

}



.modal-content .buttons {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

}



.modal-content .buttons>p {

    margin: 5px;

}



.vid-content.modal-content .modal-close {

   position: absolute;

  right: 0;

  top: 0;

  width: 30px;

  color: #fff;

  z-index: 1002;

  border-radius: 50%;

  border: 2px solid white;

  background: #000;

  cursor: pointer;

  transform-origin: center center;

  transform: none;

  margin: 0;

  text-align: center;

  font: normal 28px/30px Arial;

  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.3);

  display: flex;

  justify-content: center;

  align-items: center;

}



.modal-close span {

    display: none;

}



.modal-close i {

    position: relative;

    color: #002980;

    font-style: normal;

    padding-bottom: 4px;

    display: flex;

    align-items: center;

    justify-content: center;

}



.modal-content i:before {

    content: "x";

    color: #fff;

    font-weight: bold;

    font-size: 30px;

bottom: 2px;

position: relative;

}



.modal-close:hover i {

    color: #555;

}



.modal-content .has_btns {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    -ms-flex-wrap: wrap;

    flex-wrap: wrap;

}



.modal-content .btn {

    margin: 5px;

    min-width: 350px;

}



.vid-content {

    max-width: 860px;

    background-color: #000;

}



@media screen and (max-width:750px) {

    .modal-close {

        right: 10px;

    }

}

/*=========== Slick Slider Base ==========*/
.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; outline: none; } 
.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; height: 100%; min-height: 1px; } 
[dir='rtl'] .slick-slide {float: right; } 
.slick-slide {right: 0;}
.slick-slide img {display: block; margin: 0 auto;} 
.slick-initialized .slick-slide {height: 100%; display: flex !important; flex-direction: column; justify-content: center;}

.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; }
.slick-dots { margin:0px; padding:0px; list-style: none; text-align: center; }
.slick-dots li { padding:0px!important; display: inline-block; margin: 0 5px;}
.slick-dots li:before { display:none; }

/* ------------- Controls -------------- */
.slick-controls {
  display: flex;
  align-items: center;
  justify-content: space-around;
  max-width: 1000px;
  margin: 10px auto;
}

/* ------------- Arrows -------------- */
.slick-arrow {
  padding: 0;
  color: #fff;
  font-family: fontello;
  font-size: 40px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 2px solid #f47321;
  background-color: #f47321;
  z-index: 5;
  transition: 0.3s all;
}
.slick-arrow i {
  margin-left: -4px;
}
.slick-arrow:hover {
  color: #f47321;
  background-color: #f4f4f4;
}

#next {
  left: auto;
  right: 0;
  order: 2;
}
#next i {
  margin-left: 4px;
}

/* ------------- Pagers -------------- */
.slick-dots {
  line-height: 1;
}
.slick-dots li {
  line-height: 1;
}
.slick-dots li button {
  padding: 0;
}
.slick-dots span {
  cursor: pointer;
  background-color: #011a38;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  display: inline-block;
  margin: 0 5px;
  opacity: 0.18;
}
.slick-dots .slick-active span {
  opacity: 1;
}

.pagingInfo {
  font-size: 30px;
  text-align: center;
}

/* ------------- Inside Gallery -------------- */
.gallery {
  max-width: 1050px;
  margin: 40px auto;
  padding: 0 60px;
  position: relative;
}
.gallery .slick-arrow {
  top: 50%;
}
.gallery .slick-arrow:focus {
  outline: unset;
}
.slick-gallery {
  position: relative;
  margin: 20px auto;
  text-align: center;
}
.slick-gallery article .flex-ed {
  justify-content: space-around;
}
.slick-gallery article .flex-ed span {
  margin: 10px;
  position: relative;
  padding-bottom: 40px;
}
.slick-gallery article .flex-ed span img {
  width: 100%;
}
.slick-gallery article .flex-ed span:after {
  content: "Before";
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  margin: auto;
  color: #545454;
  font: 400 18px/1.2 "Lato", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.6px;
}
.slick-gallery article .flex-ed span:last-of-type:after {
  content: "After";
}
.slick-gallery article div p {
  display: block;
}
.slick-gallery figcaption {
  margin: 5px auto;
}

.slick-smiles-controls .btn {
  font-size: 13px;
  min-width: 240px;
  letter-spacing: 0.5px;
  margin: 0 auto;
  display: table;
  background-color: #A5A6A8 !important;
}

.slick-smiles-controls .slick-current .btn {
  background-color: #F47321 !important;
  color: #fff;
}

@media (max-width: 1024px) {
  .gallery {
    padding: 0 70px;
  }
  .slick-smiles-controls .btn {
    font-size: 14px;
    min-width: 300px;
    width: 300px;
  }
  .slick-smiles-controls .slick-track {
    display: flex !important;
    flex-wrap: wrap;
    max-width: 300px;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
  }
}
@media (max-width: 700px) {
  .gallery {
    padding: 0;
  }
  .slick-gallery article .flex-ed {
    align-items: center;
    flex-direction: column;
  }
  .slick-arrow {
    position: relative;
    top: unset;
    transform: unset;
    left: 0;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
  }
}


/* ---------------- Appointment Form ---------------- */
#appt-form {
  padding: 40px 10px;
  text-align: left;
  max-width: 800px;
  margin: 10px auto;
}
#appt-form h2,
#appt-form h3 {
  text-align: center;
  margin: 20px auto 50px;
  letter-spacing: 0.05em;
}
#appt-form h2 {
  font-size: 45px;
}
#appt-form .flex-row-input {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
#appt-form .flex-row-input article {
  flex: 1;
  margin: 10px;
}
#appt-form .options {
  color: #545454;
  margin: 0 10px 0;
}
#appt-form .options label {
  display: block;
  font-size: 18px;
  position: relative;
  margin-bottom: 10px;
  text-align: left;
}
#appt-form .flex-checks {
  display: flex;
  flex-wrap: wrap;
}
#appt-form .flex-checks span {
  flex: 0 1 30%;
  margin: 10px 5px 10px 0;
  display: flex;
  align-items: center;
  font-size: 16px;
}
#appt-form .flex-checks span [type=checkbox],
#appt-form .flex-checks span [type=radio] {
  margin-right: 8px;
}
#appt-form .btn {
  display: table;
  margin: 20px auto !important;
}
#appt-form ::-webkit-input-placeholder {
  color: #333;
}
#appt-form :-moz-placeholder {
  color: #333;
}
#appt-form ::-moz-placeholder {
  color: #333;
}
#appt-form :-ms-input-placeholder {
  color: #333;
}
#appt-form .input-content,
#appt-form .styled-form .inline label,
#appt-form .styled-form .inline,
#appt-form .input--filled .input__label .input__label-content strong,
#appt-form .input--filled .input__label .input__label-content a {
  color: #545454;
}
#appt-form .input-content {
  position: relative;
  z-index: 1;
  border-bottom: 1px solid #0f55a5;
  display: block;
  width: 100%;
  min-height: 65px;
  background: none;
}
#appt-form .input-content.txt {
  height: 150px;
}
#appt-form .input-content textarea {
  padding: 5px;
  display: block;
  width: 100%;
  height: 130px;
  display: table;
  font-family: "Lato", sans-serif;
}
#appt-form .input__field {
  position: absolute;
  z-index: 2;
  display: block;
  border: none;
  border-radius: 0;
  padding: 0 10px;
  margin-top: 20px;
  height: 40px;
  width: 100%;
  background: transparent;
  color: #545454;
}
#appt-form .input__label {
  display: inline-block;
  padding: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background: transparent;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
#appt-form .input__label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0 solid transparent;
  transition: border-width 0.3s, border-color 0.3s;
}
#appt-form .input__label-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 40px 10px 10px;
  text-rendering: geometricPrecision;
  transform-origin: 0% 50%;
  transition: transform 0.3s, color 0.3s;
  transition: transform 0.3s, color 0.3s;
  color: #545454;
}
#appt-form .input__field:focus + .input__label .input__label-content,
#appt-form .input--filled .input__label .input__label-content {
  color: #545454;
  transform: translate3d(0, -0.8em, 0);
  padding: 15px 5px 5px;
  font-size: 0.75em;
}
#appt-form input:-webkit-autofill,
#appt-form textarea:-webkit-autofill,
#appt-form select:-webkit-autofill {
  background-color: transparent !important;
}

.options [type=checkbox],
.options [type=radio] {
  -webkit-appearance: none;
  position: relative;
  border-radius: 3px;
  vertical-align: middle;
  height: 25px;
  width: 25px;
  border: 1px solid #545454;
}
.options [type=radio] {
  border-radius: 50%;
}
.options [type=checkbox]:active,
.options [type=checkbox]:checked:active,
.options [type=checkbox]:checked,
.options [type=radio]:active,
.options [type=radio]:checked:active,
.options [type=radio]:checked {
  background-color: #fff;
  border: 1px solid #0f55a5;
}
.options [type=checkbox]:checked:after,
.options [type=radio]:checked:after {
  font-family: fontello;
  content: "\e832";
  font-size: 13px;
  position: absolute;
  top: 4px;
  left: 4px;
  color: #0f55a5;
}
.options [type=radio]:checked:after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #0f55a5;
  border-radius: 50%;
}

.dwn {
  position: relative;
}

.dwn:after {
  position: absolute;
  content: "\e935";
  font-family: fontello;
  font-size: 1.2em;
  line-height: 1.5;
  color: #0f55a5;
  bottom: 5px;
  right: 10px;
  z-index: 8;
  pointer-events: none;
}

#other-int {
  display: none;
  margin: 10px auto;
}

#int-list.oth #other-int {
  display: block;
}

.group {
  position: relative;
  margin-bottom: 20px;
}
.group input,
.group select,
.group textarea {
  font-size: 18px;
  padding: 10px 10px 10px 5px;
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1px solid #0f55a5;
  background: none;
  color: #545454;
  height: 45px;
  -webkit-appearance: none;
  position: relative;
}
.group select:after {
  position: absolute;
  right: 5px;
  top: 5px;
  content: "\e825";
  font-family: fontello;
  z-index: 5;
  color: #fff;
}
.group textarea {
  height: 160px;
}
.group input:focus,
.group textarea:focus,
.group select:focus {
  outline: none;
  background-color: rgba(0, 0, 0, 0.03);
}

/* BOTTOM BARS ================================= */
.bar {
  position: relative;
  display: block;
  max-width: 100%;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}

.bar:before,
.bar:after {
  content: "";
  height: 2px;
  width: 0;
  bottom: 1px;
  position: absolute;
  background: #0f55a5;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -webkit-transition: 0.2s ease all;
}

.bar:before {
  left: 50%;
}

.bar:after {
  right: 50%;
}

/* active state */
input:focus ~ .bar:before,
input:focus ~ .bar:after,
textarea:focus ~ .bar:before,
textarea:focus ~ .bar:after,
select:focus ~ .bar:before,
select:focus ~ .bar:after {
  width: 50%;
}

/* HIGHLIGHTER ================================== */
.highlight {
  position: absolute;
  height: 60%;
  width: 100px;
  top: 25%;
  left: 0;
  pointer-events: none;
  opacity: 0.5;
}

/* active state */
input:focus ~ .highlight,
textarea:focus ~ .highlight,
select:focus ~ .highlight {
  animation: inputHighlighter 0.3s ease;
}

/* ANIMATIONS ================ */
@keyframes inputHighlighter {
  from {
    background: #0f55a5;
  }
  to {
    width: 0;
    background: transparent;
  }
}

/* ---------------- Media Queries ---------------- */
@media (max-width: 750px) {
  #appt-form .flex-row-input {
    display: block;
  }
  #appt-form .options {
    margin: 10px auto 20px;
  }
}
@media (max-width: 480px) {
  #appt-form {
    padding: 40px 20px;
  }
  #appt-form .flex-row-input article {
    margin: 10px auto;
  }
  #appt-form .flex-checks span {
    flex: 0 1 48%;
  }
}
@media (max-width: 400px) {
  #appt-form .input-content,
  .group input,
  .group select,
  .group textarea {
    font-size: 16px;
  }
}





