/* Webflow components base styles */

/* --- Utility --- */
.w-embed:before,
.w-embed:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-embed:after { clear: both; }

.w-inline-block { max-width: 100%; display: inline-block; }

.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-clearfix:after { clear: both; }

/* --- Container --- */
.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-container:after { clear: both; }
.w-container .w-row { margin-left: -10px; margin-right: -10px; }

/* --- Button --- */
.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;
  -webkit-appearance: button;
}
input.w-button { -webkit-appearance: button; }

/* --- Layout Grid --- */
.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

/* --- Navbar --- */
.w-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000;
}
.w-nav:before,
.w-nav:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-nav:after { clear: both; }
.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333;
}
.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  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-link-open {
  display: block;
  position: relative;
}
.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[data-animation="over-left"] .w-nav-overlay {
  width: auto;
  right: auto;
  z-index: 1;
}
.w-nav[data-animation="over-right"] .w-nav-overlay {
  width: auto;
  left: auto;
  z-index: 1;
}
.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  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; }
@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu { display: none; }
  .w-nav[data-collapse="medium"] .w-nav-button { display: block; }
}
@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-nav-menu { display: none; }
  .w-nav[data-collapse="small"] .w-nav-button { display: block; }
  .w-nav-brand { padding-top: 10px; }
}
@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-nav-menu { display: none; }
  .w-nav[data-collapse="tiny"] .w-nav-button { display: block; }
}

/* --- Dropdown --- */
.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  z-index: 900;
  margin-left: auto;
  margin-right: auto;
}
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.w-dropdown-toggle {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px;
}
.w-dropdown-toggle:focus { outline: 0; }
.w-icon-dropdown-toggle {
  position: absolute;
  margin: auto 20px auto auto;
  right: 0;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 1em;
  height: 1em;
}
.w-dropdown-list {
  position: absolute;
  background: #dddddd;
  display: none;
  min-width: 100%;
}
.w-dropdown-list.w--open { display: block; }
.w-dropdown-link {
  padding: 10px 20px;
  display: block;
  color: #222222;
}
.w-dropdown-link.w--current { color: #0082f3; }
@media screen and (max-width: 767px) {
  .w-dropdown-link { padding-top: 10px; padding-bottom: 10px; }
}

/* --- Form --- */
.w-form { margin: 0 0 15px; }
.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
}
.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: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
}
.w-input:-moz-placeholder,
.w-select:-moz-placeholder { color: #999; }
.w-input::-moz-placeholder,
.w-select::-moz-placeholder { color: #999; opacity: 1; }
.w-input:-ms-input-placeholder,
.w-select:-ms-input-placeholder { color: #999; }
.w-input::-webkit-input-placeholder,
.w-select::-webkit-input-placeholder { color: #999; }
.w-input:focus,
.w-select:focus { border-color: #3898ec; outline: 0; }
.w-input[disabled],
.w-select[disabled],
.w-input[readonly],
.w-select[readonly],
fieldset[disabled] .w-input,
fieldset[disabled] .w-select {
  cursor: not-allowed;
  background-color: #eeeeee;
}
textarea.w-input,
textarea.w-select {
  height: auto;
}
.w-select { background-color: #f3f3f3; }
.w-select[multiple] { height: auto; }
.w-form-label { display: inline-block; cursor: default; }
.w-radio { display: block; margin-bottom: 5px; padding-left: 20px; }
.w-radio:before,
.w-radio:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-radio:after { clear: both; }
.w-radio-input { margin: 3px 0 0; margin-top: 1px; line-height: normal; float: left; margin-left: -20px; }
.w-checkbox { display: block; margin-bottom: 5px; padding-left: 20px; }
.w-checkbox:before,
.w-checkbox:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-checkbox:after { clear: both; }
.w-checkbox-input {
  float: left;
  margin-left: -20px;
  margin-top: 4px;
  line-height: normal;
  margin: 4px 0 0;
}
.w-checkbox-input--inputType-custom {
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  border-top-color: #ccc;
  border-bottom-color: #ccc;
  border-left-color: #ccc;
  border-right-color: #ccc;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-right-style: solid;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  margin-top: 4px;
}
.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  border-top-color: #3898ec;
  border-bottom-color: #3898ec;
  border-left-color: #3898ec;
  border-right-color: #3898ec;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2011%208%27%3E%3Cpath%20fill%3D%27%23fff%27%20d%3D%27M1%204l2.5%202.5L10%201%27%2F%3E%3C%2Fsvg%3E');
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0px 0px 3px 1px #3898ec;
}

/* --- Rich Text --- */
.w-richtext:before,
.w-richtext:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-richtext:after { clear: both; }
.w-richtext figure { position: relative; }
.w-richtext figure > div:before { cursor: default !important; }
.w-richtext img { max-width: 100%; }
.w-richtext figure { max-width: 100%; }
.w-richtext ol, .w-richtext ul { overflow: hidden; }
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after,
.w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after { outline: 2px solid #2895f7; }
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div, .w-richtext .w-richtext-figure-selected[data-rt-type="image"] div { outline: 2px solid #2895f7; }

/* --- Lightbox --- */
.w-lightbox-backdrop {
  cursor: auto;
  font-style: normal;
  font-variant: normal;
  letter-spacing: 0;
  list-style: disc;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-spacing: normal;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Ubuntu, "Droid Sans", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  background: rgba(0, 0, 0, .9);
  z-index: 2000;
  outline: 0;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.w-lightbox-backdrop.w-lightbox-backdrop-open { opacity: 1; }
.w-lightbox-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100vh;
  margin: 0 auto;
  max-width: 100%;
}
.w-lightbox-content { position: relative; height: 80vh; overflow: hidden; }
.w-lightbox-view { position: absolute; width: 100%; height: 100%; opacity: 0; }
.w-lightbox-view:focus { outline: 0; }
.w-lightbox-view.w-lightbox-view-active { opacity: 1; }
.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-content { height: 70vh; }
.w-lightbox-frame, .w-lightbox-spinner { position: absolute; right: 0; bottom: 0; left: 0; top: 0; margin: auto; }
.w-lightbox-spinner { box-sizing: border-box; width: 40px; height: 40px; border: 5px solid rgba(0, 0, 0, .4); border-top-color: white; border-radius: 50%; -webkit-animation: spin .8s infinite linear; animation: spin .8s infinite linear; }
.w-lightbox-frame { padding: 0; white-space: nowrap; }
.w-lightbox-item { display: inline-block; vertical-align: middle; max-width: 100%; max-height: 100vh; }
.w-lightbox-item:focus { outline: 0; }
.w-lightbox-image { display: block; float: none; max-width: 100vw; max-height: 80vh; }
.w-lightbox-group .w-lightbox-image { max-height: 70vh; }
.w-lightbox-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 45px;
  height: 45px;
  color: #fff;
  cursor: pointer;
  background-size: 16px;
  -webkit-tap-highlight-color: transparent;
}
.w-lightbox-close:focus { outline: 0; }
.w-lightbox-left, .w-lightbox-right {
  position: absolute;
  top: 50%;
  bottom: 0;
  cursor: pointer;
  display: none;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 768px) {
  .w-lightbox-left, .w-lightbox-right { display: block; }
}
.w-lightbox-left { left: 0; right: 51%; }
.w-lightbox-right { left: 51%; right: 0; }
.w-lightbox-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 1vw;
  line-height: 0;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
.w-lightbox-item {
  display: inline-block;
  cursor: pointer;
  padding: 2px 1vw;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  vertical-align: top;
}
.w-lightbox-item:focus { outline: 0; }
.w-lightbox-thumbnail {
  position: relative;
  width: 9.6vw;
  height: 7.2vw;
  min-width: 70px;
  min-height: 50px;
  background-color: rgba(0, 0, 0, .4);
  overflow: hidden;
}
.w-lightbox-thumbnail-image { position: absolute; width: 100%; top: 50%; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); }
.w-lightbox-thumbnail.w-lightbox-active-item .w-lightbox-thumbnail-image { border: 2px solid white; }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

/* --- Background Video --- */
.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;
}
.w-background-video > video::-webkit-media-controls { display: none !important; }
.w-background-video.w-background-video-atom > video { position: static; z-index: auto; }

/* --- Dynamic List / CMS --- */
.w-dyn-empty { padding: 10px; background-color: #dddddd; }
.w-dyn-hide, .w-dyn-bind-empty { display: none !important; }
.w-dyn-item { position: relative; }
.w-dyn-list { }

/* --- Password Page --- */
.w-password-page { display: none; }

/* --- Commerce --- */
.w-commerce-commercelayoutcontainer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
}
.w-commerce-commercelayoutmain {
  -webkit-flex-basis: 640px;
  -ms-flex-preferred-size: 640px;
  flex-basis: 640px;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  margin-right: 20px;
}
.w-commerce-commercelayoutsidebar {
  -webkit-flex-basis: 320px;
  -ms-flex-preferred-size: 320px;
  flex-basis: 320px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-right: 20px;
}
.w-commerce-commercecheckoutorderitemslist > :not(:last-child) { margin-bottom: 20px; }
.w-commerce-commercecheckoutsummaryitem,
.w-commerce-commercecheckoutsummarylineitem {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}
.w-commerce-commercecheckoutsummarylabel { margin-right: auto; }
.w-commerce-commercecheckoutsummarytextspacingondiv { padding-top: 10px; }
.w-commerce-commercecheckoutrow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
}
.w-commerce-commercecheckoutcolumn {
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-right: 20px;
}
.w-commerce-commercecheckoutshippingmethoditem {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 20px;
}
.w-commerce-commercecheckoutshippingmethoddescriptionblock {
  margin-left: 10px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.w-commerce-commerceboldtextblock { font-weight: 700; }
.w-commerce-commercecheckoutshippingmethodslist > :not(:last-child) { margin-bottom: 20px; }
.w-commerce-commercecheckoutsummaryflexboxdiv {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.w-commerce-commercecheckoutsummarytotal {
  font-weight: 700;
}
.w-commerce-commercecheckoutplaceorderbutton {
  background-color: #3898ec;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  bottom: auto;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  margin-top: 0;
  padding: 9px 15px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  transition: background-color .2s, opacity .2s;
  width: 100%;
  border: 0;
}
.w-commerce-commercecheckoutplaceorderbutton:hover { background-color: #77b5f8; }
.w-commerce-commercecheckoutplaceorderbutton[disabled] { background-color: #a8c5ef; cursor: not-allowed; }
.w-commerce-commercepaypalcheckoutformcontainer {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 4px;
}
.w-commerce-commercepaypalcheckouterrorstate { text-align: center; }
.w-commerce-commerceorderconfirmationcontainer { text-align: center; }

/* Error states */
.w-billing-error,
.w-checkout-error-msg,
.w-expired-discount-error,
.w-extras-error,
.w-info-error,
.w-invalid-discount-error,
.w-minimum-error,
.w-payment-error,
.w-pricing-error,
.w-product-error,
.w-requirements-not-met-error,
.w-shipping-error,
.w-usage-reached-discount-error {
  display: none;
  background-color: #ffdede;
  padding: 10px;
  margin-top: 10px;
}
