/**
 * Dupple Framework CSS
 * Minimal framework replacing webflow.css + normalize.css
 * Only includes components actually used on the site
 */

/* ============================================
   RESET & BASE
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }
html { height: 100%; -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100%; background-color: #fff; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333; }
img { max-width: 100%; vertical-align: middle; display: inline-block; border-style: none; }
a { background-color: transparent; text-decoration: none; }
button, input, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; cursor: pointer; border: 0; }
fieldset { padding: 0; margin: 0; border: 0; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; margin-bottom: 10px; }
h1 { font-size: 38px; line-height: 44px; margin-top: 20px; }
h2 { font-size: 32px; line-height: 36px; margin-top: 20px; }
h3 { font-size: 24px; line-height: 30px; margin-top: 20px; }
h4 { font-size: 18px; line-height: 24px; margin-top: 10px; }
h5 { font-size: 14px; line-height: 20px; margin-top: 10px; }
h6 { font-size: 12px; line-height: 18px; margin-top: 10px; }
p { margin-top: 0; margin-bottom: 10px; }
blockquote { margin: 0 0 10px; padding: 10px 20px; border-left: 5px solid #e2e2e2; font-size: 18px; line-height: 22px; }
figure { margin: 0 0 10px; }
figcaption { margin-top: 5px; text-align: center; }
ul, ol { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }
hr { box-sizing: content-box; height: 0; overflow: visible; }

/* ============================================
   WEBFLOW ICONS (hamburger menu, dropdown arrow)
   ============================================ */
@font-face {
  font-family: 'webflow-icons';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype');
  font-weight: normal;
  font-style: normal;
}
[class^="w-icon-"], [class*=" w-icon-"] {
  font-family: 'webflow-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.w-icon-nav-menu:before { content: "\e602"; }
.w-icon-arrow-down:before, .w-icon-dropdown-toggle:before { content: "\e603"; }

/* ============================================
   UTILITY CLASSES
   ============================================ */
.w-block { display: block; }
.w-inline-block { max-width: 100%; display: inline-block; }
.w-clearfix:before, .w-clearfix:after { content: " "; display: table; }
.w-clearfix:after { clear: both; }
.w-hidden { display: none; }
.w-button { display: inline-block; padding: 9px 15px; background-color: #3898EC; color: white; border: 0; line-height: inherit; text-decoration: none; cursor: pointer; border-radius: 0; }
.w-list-unstyled { padding-left: 0; list-style: none; }
.w-embed:before, .w-embed:after { content: " "; display: table; }
.w-embed:after { clear: both; }
html.w-mod-touch * { background-attachment: scroll !important; }

/* ============================================
   LAYOUT: Container, Row, Columns
   ============================================ */
.w-container { margin-left: auto; margin-right: auto; max-width: 940px; }
.w-container:before, .w-container:after { content: " "; display: table; }
.w-container:after { clear: both; }
.w-container .w-row { margin-left: -10px; margin-right: -10px; }
.w-row:before, .w-row:after { content: " "; display: table; }
.w-row:after { clear: both; }
.w-col { position: relative; float: left; width: 100%; min-height: 1px; padding-left: 10px; padding-right: 10px; }
.w-col-1 { width: 8.33333333%; }
.w-col-2 { width: 16.66666667%; }
.w-col-3 { width: 25%; }
.w-col-4 { width: 33.33333333%; }
.w-col-5 { width: 41.66666667%; }
.w-col-6 { width: 50%; }
.w-col-7 { width: 58.33333333%; }
.w-col-8 { width: 66.66666667%; }
.w-col-9 { width: 75%; }
.w-col-10 { width: 83.33333333%; }
.w-col-11 { width: 91.66666667%; }
.w-col-12 { width: 100%; }
.w-layout-blockcontainer { max-width: 940px; margin-left: auto; margin-right: auto; display: block; }
.wf-layout-layout { display: grid; }

/* ============================================
   FORMS
   ============================================ */
.w-form { margin: 0 0 15px; }
.w-form-done { display: none; padding: 20px; text-align: center; background-color: #ddd; }
.w-form-fail { display: none; margin-top: 10px; padding: 10px; background-color: #ffdede; }
label { display: block; margin-bottom: 5px; font-weight: bold; }
.w-input, .w-select { display: block; width: 100%; height: 38px; padding: 8px 12px; margin-bottom: 10px; font-size: 14px; line-height: 1.42857143; color: #333; vertical-align: middle; background-color: #fff; border: 1px solid #ccc; }
.w-input::placeholder, .w-select::placeholder { color: #999; }
.w-input:focus, .w-select:focus { border-color: #3898EC; outline: 0; }
textarea.w-input, textarea.w-select { height: auto; }
.w-select { background-color: #f3f3f3; }
.w-checkbox, .w-radio { display: block; margin-bottom: 5px; padding-left: 20px; }
.w-form-label { display: inline-block; cursor: pointer; font-weight: normal; margin-bottom: 0; }

/* ============================================
   NAVIGATION
   ============================================ */
.w-nav { position: relative; background: #ddd; z-index: 1000; }
.w-nav:before, .w-nav:after { content: " "; display: table; }
.w-nav:after { clear: both; }
.w-nav-brand { position: relative; float: left; text-decoration: none; color: #333; }
.w-nav-link { position: relative; display: inline-block; vertical-align: top; text-decoration: none; color: #222; padding: 20px; text-align: left; margin-left: auto; margin-right: auto; }
.w-nav-link.w--current { color: #0082f3; }
.w-nav-menu { position: relative; float: right; }
[data-nav-menu-open] { display: block !important; position: absolute; top: 100%; left: 0; right: 0; background: #C8C8C8; text-align: center; overflow: visible; min-width: 200px; }
.w-nav-overlay { position: absolute; overflow: hidden; display: none; top: 100%; left: 0; right: 0; width: 100%; }
.w-nav-overlay [data-nav-menu-open] { top: 0; }
.w-nav-button { position: relative; float: right; padding: 18px; font-size: 24px; display: none; cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none; }
.w-nav-button:focus { outline: 0; }
.w-nav-button.w--open { background-color: #C8C8C8; color: white; }
.w-nav[data-collapse='all'] .w-nav-menu { display: none; }
.w-nav[data-collapse='all'] .w-nav-button { display: block; }
.w--nav-link-open { display: block; position: relative; }

/* ============================================
   DROPDOWN
   ============================================ */
.w-dropdown { display: inline-block; position: relative; text-align: left; margin-left: auto; margin-right: auto; z-index: 900; }
.w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link { position: relative; vertical-align: top; text-decoration: none; color: #222; padding: 20px; text-align: left; margin-left: auto; margin-right: auto; white-space: nowrap; }
.w-dropdown-toggle { user-select: none; display: inline-block; cursor: pointer; padding-right: 40px; }
.w-dropdown-toggle:focus { outline: 0; }
.w-icon-dropdown-toggle { position: absolute; top: 0; right: 0; bottom: 0; margin: auto; margin-right: 20px; width: 1em; height: 1em; }
.w-dropdown-list { position: absolute; background: #ddd; display: none; min-width: 100%; }
.w-dropdown-list.w--open { display: block; }
.w-dropdown-link { padding: 10px 20px; display: block; color: #222; }
.w-dropdown-link.w--current { color: #0082f3; }

/* ============================================
   TABS
   ============================================ */
.w-tabs { position: relative; }
.w-tabs:before, .w-tabs:after { content: " "; display: table; }
.w-tabs:after { clear: both; }
.w-tab-menu { position: relative; }
.w-tab-link { position: relative; display: inline-block; vertical-align: top; text-decoration: none; padding: 9px 30px; text-align: left; cursor: pointer; color: #222; background-color: #ddd; }
.w-tab-link.w--current { background-color: #C8C8C8; }
.w-tab-link:focus { outline: 0; }
.w-tab-content { position: relative; display: block; overflow: hidden; }
.w-tab-pane { position: relative; display: none; }
.w--tab-active { display: block; }

/* ============================================
   VIDEO
   ============================================ */
.w-video { width: 100%; position: relative; padding: 0; }
.w-video iframe, .w-video object, .w-video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.w-background-video { position: relative; overflow: hidden; height: 500px; color: white; }
.w-background-video > video { background-size: cover; background-position: 50% 50%; position: absolute; margin: auto; width: 100%; height: 100%; right: -100%; bottom: -100%; top: -100%; left: -100%; object-fit: cover; z-index: -100; }

/* ============================================
   LIGHTBOX
   ============================================ */
.w-lightbox-backdrop { cursor: auto; position: fixed; top: 0; right: 0; bottom: 0; left: 0; color: #fff; font-family: "Helvetica Neue", Helvetica, sans-serif; font-size: 17px; line-height: 1.2; font-weight: 300; text-align: center; background: rgba(0, 0, 0, 0.9); z-index: 2000; outline: 0; opacity: 0; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.w-lightbox-backdrop, .w-lightbox-container { height: 100%; overflow: auto; -webkit-overflow-scrolling: touch; }
.w-lightbox-content { position: relative; height: 100vh; overflow: hidden; }
.w-lightbox-view { position: absolute; width: 100vw; height: 100vh; opacity: 0; }
.w-lightbox-frame { display: inline-block; vertical-align: middle; }
.w-lightbox-figure { position: relative; margin: 0; }
.w-lightbox-image { display: block; float: none; max-width: 100vw; max-height: 100vh; }
.w-lightbox-embed { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
.w-lightbox-close { position: absolute; top: 0; right: 0; width: 4em; height: 2.6em; background-size: 18px; background-repeat: no-repeat; background-position: center; cursor: pointer; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4="); }
.w-lightbox-spinner { position: absolute; top: 50%; left: 50%; box-sizing: border-box; width: 40px; height: 40px; margin-top: -20px; margin-left: -20px; border: 5px solid rgba(0, 0, 0, 0.4); border-radius: 50%; animation: spin 0.8s infinite linear; }
.w-lightbox-spinner:after { content: ""; position: absolute; top: -4px; right: -4px; bottom: -4px; left: -4px; border: 3px solid transparent; border-bottom-color: #fff; border-radius: 50%; }
.w-lightbox-hide { display: none; }
.w-lightbox-noscroll { overflow: hidden; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* ============================================
   RICH TEXT
   ============================================ */
.w-richtext:before, .w-richtext:after { content: " "; display: table; }
.w-richtext:after { clear: both; }
.w-richtext ol, .w-richtext ul { overflow: hidden; }
.w-richtext figure { position: relative; max-width: 60%; }
.w-richtext figure img { width: 100%; }

/* ============================================
   DYNAMIC CONTENT
   ============================================ */
.w-dyn-empty { padding: 10px; background-color: #ddd; }
.w-dyn-hide, .w-dyn-bind-empty, .w-condition-invisible { display: none !important; }

/* ============================================
   RESPONSIVE: Tablet (991px)
   ============================================ */
@media screen and (max-width: 991px) {
  .w-container { max-width: 728px; }
  .w-hidden-main { display: inherit !important; }
  .w-hidden-medium { display: none !important; }
  .w-col-medium-1 { width: 8.33333333%; }
  .w-col-medium-2 { width: 16.66666667%; }
  .w-col-medium-3 { width: 25%; }
  .w-col-medium-4 { width: 33.33333333%; }
  .w-col-medium-5 { width: 41.66666667%; }
  .w-col-medium-6 { width: 50%; }
  .w-col-medium-7 { width: 58.33333333%; }
  .w-col-medium-8 { width: 66.66666667%; }
  .w-col-medium-9 { width: 75%; }
  .w-col-medium-10 { width: 83.33333333%; }
  .w-col-medium-11 { width: 91.66666667%; }
  .w-col-medium-12 { width: 100%; }
  .w-col-stack { width: 100%; left: auto; right: auto; }
  .w-nav[data-collapse='medium'] .w-nav-menu { display: none; }
  .w-nav[data-collapse='medium'] .w-nav-button { display: block; }
  .w-layout-blockcontainer { max-width: 728px; }
}

/* ============================================
   RESPONSIVE: Mobile Landscape (767px)
   ============================================ */
@media screen and (max-width: 767px) {
  .w-hidden-main, .w-hidden-medium { display: inherit !important; }
  .w-hidden-small { display: none !important; }
  .w-row, .w-container .w-row { margin-left: 0; margin-right: 0; }
  .w-col { width: 100%; left: auto; right: auto; }
  .w-col-small-1 { width: 8.33333333%; }
  .w-col-small-2 { width: 16.66666667%; }
  .w-col-small-3 { width: 25%; }
  .w-col-small-4 { width: 33.33333333%; }
  .w-col-small-5 { width: 41.66666667%; }
  .w-col-small-6 { width: 50%; }
  .w-col-small-7 { width: 58.33333333%; }
  .w-col-small-8 { width: 66.66666667%; }
  .w-col-small-9 { width: 75%; }
  .w-col-small-10 { width: 83.33333333%; }
  .w-col-small-11 { width: 91.66666667%; }
  .w-col-small-12 { width: 100%; }
  .w-nav[data-collapse='small'] .w-nav-menu { display: none; }
  .w-nav[data-collapse='small'] .w-nav-button { display: block; }
  .w-nav-brand { padding-left: 10px; }
}

/* ============================================
   RESPONSIVE: Mobile Portrait (479px)
   ============================================ */
@media screen and (max-width: 479px) {
  .w-container { max-width: none; }
  .w-hidden-main, .w-hidden-medium, .w-hidden-small { display: inherit !important; }
  .w-hidden-tiny { display: none !important; }
  .w-col { width: 100%; }
  .w-col-tiny-1 { width: 8.33333333%; }
  .w-col-tiny-2 { width: 16.66666667%; }
  .w-col-tiny-3 { width: 25%; }
  .w-col-tiny-4 { width: 33.33333333%; }
  .w-col-tiny-5 { width: 41.66666667%; }
  .w-col-tiny-6 { width: 50%; }
  .w-col-tiny-7 { width: 58.33333333%; }
  .w-col-tiny-8 { width: 66.66666667%; }
  .w-col-tiny-9 { width: 75%; }
  .w-col-tiny-10 { width: 83.33333333%; }
  .w-col-tiny-11 { width: 91.66666667%; }
  .w-col-tiny-12 { width: 100%; }
  .w-nav[data-collapse='tiny'] .w-nav-menu { display: none; }
  .w-nav[data-collapse='tiny'] .w-nav-button { display: block; }
  .w-tab-link { display: block; }
  .w-layout-blockcontainer { max-width: none; }
}
