@charset "UTF-8";
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.3333333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.2857142857em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.1428571429em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.1428571429em;
  width: 2.1428571429em;
  top: 0.1428571429em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.8571428571em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: 0.3em;
}
.fa.fa-pull-right {
  margin-left: 0.3em;
}

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}
.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  animation: fa-spin 1s infinite steps(8);
}
@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

.fa-search:before {
  content: "\f002";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

.fa-search-plus:before {
  content: "\f00e";
}

.fa-search-minus:before {
  content: "\f010";
}

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before {
  content: "\f017";
}

.fa-road:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}

.fa-refresh:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before {
  content: "\f029";
}

.fa-barcode:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before {
  content: "\f04b";
}

.fa-pause:before {
  content: "\f04c";
}

.fa-stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before {
  content: "\f09c";
}

.fa-credit-card:before {
  content: "\f09d";
}

.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before {
  content: "\f0ae";
}

.fa-filter:before {
  content: "\f0b0";
}

.fa-briefcase:before {
  content: "\f0b1";
}

.fa-arrows-alt:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before {
  content: "\f0d6";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-circle:before {
  content: "\f111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

.fa-exclamation:before {
  content: "\f12a";
}

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper-pp:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-genderless:before {
  content: "\f22d";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}

.fa-optin-monster:before {
  content: "\f23c";
}

.fa-opencart:before {
  content: "\f23d";
}

.fa-expeditedssl:before {
  content: "\f23e";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}

.fa-mouse-pointer:before {
  content: "\f245";
}

.fa-i-cursor:before {
  content: "\f246";
}

.fa-object-group:before {
  content: "\f247";
}

.fa-object-ungroup:before {
  content: "\f248";
}

.fa-sticky-note:before {
  content: "\f249";
}

.fa-sticky-note-o:before {
  content: "\f24a";
}

.fa-cc-jcb:before {
  content: "\f24b";
}

.fa-cc-diners-club:before {
  content: "\f24c";
}

.fa-clone:before {
  content: "\f24d";
}

.fa-balance-scale:before {
  content: "\f24e";
}

.fa-hourglass-o:before {
  content: "\f250";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}

.fa-hourglass:before {
  content: "\f254";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}

.fa-hand-scissors-o:before {
  content: "\f257";
}

.fa-hand-lizard-o:before {
  content: "\f258";
}

.fa-hand-spock-o:before {
  content: "\f259";
}

.fa-hand-pointer-o:before {
  content: "\f25a";
}

.fa-hand-peace-o:before {
  content: "\f25b";
}

.fa-trademark:before {
  content: "\f25c";
}

.fa-registered:before {
  content: "\f25d";
}

.fa-creative-commons:before {
  content: "\f25e";
}

.fa-gg:before {
  content: "\f260";
}

.fa-gg-circle:before {
  content: "\f261";
}

.fa-tripadvisor:before {
  content: "\f262";
}

.fa-odnoklassniki:before {
  content: "\f263";
}

.fa-odnoklassniki-square:before {
  content: "\f264";
}

.fa-get-pocket:before {
  content: "\f265";
}

.fa-wikipedia-w:before {
  content: "\f266";
}

.fa-safari:before {
  content: "\f267";
}

.fa-chrome:before {
  content: "\f268";
}

.fa-firefox:before {
  content: "\f269";
}

.fa-opera:before {
  content: "\f26a";
}

.fa-internet-explorer:before {
  content: "\f26b";
}

.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}

.fa-contao:before {
  content: "\f26d";
}

.fa-500px:before {
  content: "\f26e";
}

.fa-amazon:before {
  content: "\f270";
}

.fa-calendar-plus-o:before {
  content: "\f271";
}

.fa-calendar-minus-o:before {
  content: "\f272";
}

.fa-calendar-times-o:before {
  content: "\f273";
}

.fa-calendar-check-o:before {
  content: "\f274";
}

.fa-industry:before {
  content: "\f275";
}

.fa-map-pin:before {
  content: "\f276";
}

.fa-map-signs:before {
  content: "\f277";
}

.fa-map-o:before {
  content: "\f278";
}

.fa-map:before {
  content: "\f279";
}

.fa-commenting:before {
  content: "\f27a";
}

.fa-commenting-o:before {
  content: "\f27b";
}

.fa-houzz:before {
  content: "\f27c";
}

.fa-vimeo:before {
  content: "\f27d";
}

.fa-black-tie:before {
  content: "\f27e";
}

.fa-fonticons:before {
  content: "\f280";
}

.fa-reddit-alien:before {
  content: "\f281";
}

.fa-edge:before {
  content: "\f282";
}

.fa-credit-card-alt:before {
  content: "\f283";
}

.fa-codiepie:before {
  content: "\f284";
}

.fa-modx:before {
  content: "\f285";
}

.fa-fort-awesome:before {
  content: "\f286";
}

.fa-usb:before {
  content: "\f287";
}

.fa-product-hunt:before {
  content: "\f288";
}

.fa-mixcloud:before {
  content: "\f289";
}

.fa-scribd:before {
  content: "\f28a";
}

.fa-pause-circle:before {
  content: "\f28b";
}

.fa-pause-circle-o:before {
  content: "\f28c";
}

.fa-stop-circle:before {
  content: "\f28d";
}

.fa-stop-circle-o:before {
  content: "\f28e";
}

.fa-shopping-bag:before {
  content: "\f290";
}

.fa-shopping-basket:before {
  content: "\f291";
}

.fa-hashtag:before {
  content: "\f292";
}

.fa-bluetooth:before {
  content: "\f293";
}

.fa-bluetooth-b:before {
  content: "\f294";
}

.fa-percent:before {
  content: "\f295";
}

.fa-gitlab:before {
  content: "\f296";
}

.fa-wpbeginner:before {
  content: "\f297";
}

.fa-wpforms:before {
  content: "\f298";
}

.fa-envira:before {
  content: "\f299";
}

.fa-universal-access:before {
  content: "\f29a";
}

.fa-wheelchair-alt:before {
  content: "\f29b";
}

.fa-question-circle-o:before {
  content: "\f29c";
}

.fa-blind:before {
  content: "\f29d";
}

.fa-audio-description:before {
  content: "\f29e";
}

.fa-volume-control-phone:before {
  content: "\f2a0";
}

.fa-braille:before {
  content: "\f2a1";
}

.fa-assistive-listening-systems:before {
  content: "\f2a2";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}

.fa-glide:before {
  content: "\f2a5";
}

.fa-glide-g:before {
  content: "\f2a6";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}

.fa-low-vision:before {
  content: "\f2a8";
}

.fa-viadeo:before {
  content: "\f2a9";
}

.fa-viadeo-square:before {
  content: "\f2aa";
}

.fa-snapchat:before {
  content: "\f2ab";
}

.fa-snapchat-ghost:before {
  content: "\f2ac";
}

.fa-snapchat-square:before {
  content: "\f2ad";
}

.fa-pied-piper:before {
  content: "\f2ae";
}

.fa-first-order:before {
  content: "\f2b0";
}

.fa-yoast:before {
  content: "\f2b1";
}

.fa-themeisle:before {
  content: "\f2b2";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}

.fa-handshake-o:before {
  content: "\f2b5";
}

.fa-envelope-open:before {
  content: "\f2b6";
}

.fa-envelope-open-o:before {
  content: "\f2b7";
}

.fa-linode:before {
  content: "\f2b8";
}

.fa-address-book:before {
  content: "\f2b9";
}

.fa-address-book-o:before {
  content: "\f2ba";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}

.fa-user-circle:before {
  content: "\f2bd";
}

.fa-user-circle-o:before {
  content: "\f2be";
}

.fa-user-o:before {
  content: "\f2c0";
}

.fa-id-badge:before {
  content: "\f2c1";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}

.fa-quora:before {
  content: "\f2c4";
}

.fa-free-code-camp:before {
  content: "\f2c5";
}

.fa-telegram:before {
  content: "\f2c6";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}

.fa-shower:before {
  content: "\f2cc";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}

.fa-podcast:before {
  content: "\f2ce";
}

.fa-window-maximize:before {
  content: "\f2d0";
}

.fa-window-minimize:before {
  content: "\f2d1";
}

.fa-window-restore:before {
  content: "\f2d2";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}

.fa-bandcamp:before {
  content: "\f2d5";
}

.fa-grav:before {
  content: "\f2d6";
}

.fa-etsy:before {
  content: "\f2d7";
}

.fa-imdb:before {
  content: "\f2d8";
}

.fa-ravelry:before {
  content: "\f2d9";
}

.fa-eercast:before {
  content: "\f2da";
}

.fa-microchip:before {
  content: "\f2db";
}

.fa-snowflake-o:before {
  content: "\f2dc";
}

.fa-superpowers:before {
  content: "\f2dd";
}

.fa-wpexplorer:before {
  content: "\f2de";
}

.fa-meetup:before {
  content: "\f2e0";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

.croppie-container {
  width: 100%;
  height: 100%;
}

.croppie-container .cr-image {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0 0;
  max-height: none;
  max-width: none;
}

.croppie-container .cr-boundary {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.croppie-container .cr-viewport {
  position: absolute;
  border: 2px solid #fff;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  box-shadow: 0 0 2000px 2000px rgba(0, 0, 0, 0.5);
  z-index: 0;
}

.croppie-container .cr-original-image {
  display: none;
}

.croppie-container .cr-vp-circle {
  border-radius: 50%;
}

.croppie-container .cr-overlay {
  z-index: 1;
  position: absolute;
  cursor: move;
}

.croppie-container .cr-slider-wrap {
  width: 75%;
  margin: 15px auto;
  text-align: center;
}

.croppie-result {
  position: relative;
  overflow: hidden;
}

.croppie-result img {
  position: absolute;
}

.croppie-container .cr-image,
.croppie-container .cr-overlay,
.croppie-container .cr-viewport {
  transform: translateZ(0);
}

/*************************************/
/***** STYLING RANGE INPUT ***********/
/*************************************/
/*http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html */
/*************************************/
.cr-slider {
  -webkit-appearance: none;
  /*removes default webkit styles*/
  /*border: 1px solid white; */
  /*fix for FF unable to apply focus style bug */
  width: 300px;
  /*required for proper track sizing in FF*/
  max-width: 100%;
}

.cr-slider::-webkit-slider-runnable-track {
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  border-radius: 3px;
}

.cr-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #ddd;
  margin-top: -6px;
}

.cr-slider:focus {
  outline: none;
}

/*
.cr-slider:focus::-webkit-slider-runnable-track {
background: #ccc;
}
*/
.cr-slider::-moz-range-track {
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  border-radius: 3px;
}

.cr-slider::-moz-range-thumb {
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #ddd;
  margin-top: -6px;
}

/*hide the outline behind the border*/
.cr-slider:-moz-focusring {
  outline: 1px solid white;
  outline-offset: -1px;
}

.cr-slider::-ms-track {
  width: 100%;
  height: 5px;
  background: transparent;
  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  border-color: transparent;
  /*leave room for the larger thumb to overflow with a transparent border */
  border-width: 6px 0;
  color: transparent;
  /*remove default tick marks*/
}

.cr-slider::-ms-fill-lower {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
}

.cr-slider::-ms-fill-upper {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
}

.cr-slider::-ms-thumb {
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #ddd;
  margin-top: 1px;
}

.cr-slider:focus::-ms-fill-lower {
  background: rgba(0, 0, 0, 0.5);
}

.cr-slider:focus::-ms-fill-upper {
  background: rgba(0, 0, 0, 0.5);
}

/*******************************************/
/***********************************/
/* Rotation Tools */
/***********************************/
.cr-rotate-controls {
  position: absolute;
  bottom: 5px;
  left: 5px;
  z-index: 1;
}

.cr-rotate-controls button {
  border: 0;
  background: none;
}

.cr-rotate-controls i:before {
  display: inline-block;
  font-style: normal;
  font-weight: 900;
  font-size: 22px;
}

.cr-rotate-l i:before {
  content: "↺";
}

.cr-rotate-r i:before {
  content: "↻";
}

@keyframes lum-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes lum-fadeZoom {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes lum-loader-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes lum-loader-before {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(6px);
  }
  25% {
    transform: scale(1.3) translateX(8px);
  }
  40% {
    transform: scale(1.2) translateX(6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(6px);
  }
  75% {
    transform: scale(0.7) translateX(8px);
  }
  90% {
    transform: scale(0.8) translateX(6px);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lum-loader-after {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(-6px);
  }
  25% {
    transform: scale(1.3) translateX(-8px);
  }
  40% {
    transform: scale(1.2) translateX(-6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(-6px);
  }
  75% {
    transform: scale(0.7) translateX(-8px);
  }
  90% {
    transform: scale(0.8) translateX(-6px);
  }
  100% {
    transform: scale(1);
  }
}
.lum-lightbox {
  background: rgba(0, 0, 0, 0.6);
  cursor: zoom-out;
}

.lum-lightbox-inner {
  top: 2.5%;
  right: 2.5%;
  bottom: 2.5%;
  left: 2.5%;
}

.lum-lightbox-inner img {
  position: relative;
}

.lum-lightbox-inner .lum-lightbox-caption {
  margin: 0 auto;
  color: #fff;
  max-width: 700px;
  text-align: center;
}

.lum-loading .lum-lightbox-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: lum-loader-rotate 1800ms infinite linear;
}

.lum-lightbox-loader:before, .lum-lightbox-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.lum-lightbox-loader:before {
  left: 0;
  animation: lum-loader-before 1800ms infinite linear;
}

.lum-lightbox-loader:after {
  right: 0;
  animation: lum-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
}

.lum-lightbox.lum-opening {
  animation: lum-fade 180ms ease-out;
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
  animation: lum-fadeZoom 180ms ease-out;
}

.lum-lightbox.lum-closing {
  animation: lum-fade 300ms ease-in;
  animation-direction: reverse;
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
  animation: lum-fadeZoom 300ms ease-in;
  animation-direction: reverse;
}

.lum-img {
  transition: opacity 120ms ease-out;
}

.lum-loading .lum-img {
  opacity: 0;
}

.lum-gallery-button {
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 100px;
  max-height: 100%;
  width: 60px;
  cursor: pointer;
}

.lum-previous-button {
  left: 12px;
}

.lum-next-button {
  right: 12px;
}

.lum-gallery-button:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 36px;
  height: 36px;
  border-top: 4px solid rgba(255, 255, 255, 0.8);
}

.lum-previous-button:after {
  transform: translateY(-50%) rotate(-45deg);
  border-left: 4px solid rgba(255, 255, 255, 0.8);
  box-shadow: -2px 0 rgba(0, 0, 0, 0.2);
  left: 12%;
  border-radius: 3px 0 0 0;
}

.lum-next-button:after {
  transform: translateY(-50%) rotate(45deg);
  border-right: 4px solid rgba(255, 255, 255, 0.8);
  box-shadow: 2px 0 rgba(0, 0, 0, 0.2);
  right: 12%;
  border-radius: 0 3px 0 0;
}

/* This media query makes screens less than 460px wide display in a "fullscreen"-esque mode. Users can then scroll around inside the lightbox to see the entire image. */
.zoomIn {
  cursor: zoom-in;
}

@keyframes drift-fadeZoomIn {
  0% {
    transform: scale(1.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes drift-fadeZoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  15% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(0.5);
    opacity: 0;
  }
}
@keyframes drift-loader-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes drift-loader-before {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(6px);
  }
  25% {
    transform: scale(1.3) translateX(8px);
  }
  40% {
    transform: scale(1.2) translateX(6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(6px);
  }
  75% {
    transform: scale(0.7) translateX(8px);
  }
  90% {
    transform: scale(0.8) translateX(6px);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes drift-loader-after {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(-6px);
  }
  25% {
    transform: scale(1.3) translateX(-8px);
  }
  40% {
    transform: scale(1.2) translateX(-6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(-6px);
  }
  75% {
    transform: scale(0.7) translateX(-8px);
  }
  90% {
    transform: scale(0.8) translateX(-6px);
  }
  100% {
    transform: scale(1);
  }
}
.drift-zoom-pane {
  background: rgba(0, 0, 0, 0.5);
  /* This is required because of a bug that causes border-radius to not
  work with child elements in certain cases. */
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}

.drift-zoom-pane.drift-opening {
  animation: drift-fadeZoomIn 180ms ease-out;
  -webkit-animation: drift-fadeZoomIn 180ms ease-out;
}

.drift-zoom-pane.drift-closing {
  animation: drift-fadeZoomOut 210ms ease-in;
  -webkit-animation: drift-fadeZoomOut 210ms ease-in;
}

.drift-zoom-pane.drift-inline {
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 75px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

.drift-loading .drift-zoom-pane-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: drift-loader-rotate 1800ms infinite linear;
  -webkit-animation: drift-loader-rotate 1800ms infinite linear;
}

.drift-zoom-pane-loader:before, .drift-zoom-pane-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.drift-zoom-pane-loader:before {
  left: 0;
  animation: drift-loader-before 1800ms infinite linear;
  -webkit-animation: drift-loader-before 1800ms infinite linear;
}

.drift-zoom-pane-loader:after {
  right: 0;
  animation: drift-loader-after 1800ms infinite linear;
  -webkit-animation: drift-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
  -webkit-animation-delay: -900ms;
}

.drift-bounding-box {
  background-color: rgba(0, 0, 0, 0.4);
}

.hoverZoom,
.product__info {
  position: relative;
}

.hoverZoom {
  display: inline-block;
  overflow: none !important;
  width: 100%;
}

.hoverZoomContainer {
  width: 100%;
  position: absolute;
  height: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  pointer-events: none;
}

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle;
}

.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container .select2-selection--single .select2-selection__clear {
  position: relative;
}

.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px;
}

.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container .select2-search--inline {
  float: left;
}

.select2-container .select2-search--inline .select2-search__field {
  box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  padding: 0;
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051;
}

.select2-results {
  display: block;
}

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-results__option[aria-selected] {
  cursor: pointer;
}

.select2-container--open .select2-dropdown {
  left: 0;
}

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-search--dropdown {
  display: block;
  padding: 4px;
}

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box;
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-search--dropdown.select2-search--hide {
  display: none;
}

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
}

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%;
}

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #999;
  margin-top: 5px;
  float: left;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #333;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline {
  float: right;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
}

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield;
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--default .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd;
}

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white;
}

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
}

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px;
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
}

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0;
}

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  float: right;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none;
}

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
  border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
  border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--classic .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey;
}

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white;
}

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb;
}

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.owl-carousel .owl-stage {
  position: relative;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}
.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}
.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}
.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}
.owl-carousel.owl-drag .owl-item {
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}
.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
  	This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
  	calculation of the height of the owl-item that breaks page layouts
   */
}
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0;
}
.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}
.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease;
}
.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}
.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.owl-theme .owl-nav [class*=owl-] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
}
.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none;
}
.owl-theme .owl-nav .disabled {
  opacity: 0.5;
  cursor: default;
}
.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px;
}
.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity 200ms ease;
  border-radius: 30px;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #869791;
}

/**
 * alertifyjs 1.5.0 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2015 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under MIT <http://opensource.org/licenses/mit-license.php>*/
.alertify .ajs-dimmer {
  position: fixed;
  z-index: 1981;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  background-color: #252525;
  opacity: 0.5;
}

.alertify .ajs-modal {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  padding: 0;
  overflow-y: auto;
  z-index: 1981;
}

.alertify .ajs-dialog {
  position: relative;
  margin: 5% auto;
  min-height: 110px;
  max-width: 500px;
  padding: 24px 24px 0 24px;
  outline: 0;
  background-color: #fff;
}

.alertify .ajs-dialog.ajs-capture:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 1;
}

.alertify .ajs-reset {
  position: absolute !important;
  display: inline !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.alertify .ajs-commands {
  position: absolute;
  right: 4px;
  margin: -14px 24px 0 0;
  z-index: 2;
}

.alertify .ajs-commands button {
  display: none;
  width: 10px;
  height: 10px;
  margin-left: 10px;
  padding: 10px;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.alertify .ajs-commands button.ajs-close {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC);
}

.alertify .ajs-commands button.ajs-maximize {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC);
}

.alertify .ajs-header {
  margin: -24px;
  margin-bottom: 0;
  padding: 16px 24px;
  background-color: #fff;
}

.alertify .ajs-body {
  min-height: 56px;
}

.alertify .ajs-body .ajs-content {
  padding: 16px 24px 16px 16px;
}

.alertify .ajs-footer {
  padding: 4px;
  margin-left: -24px;
  margin-right: -24px;
  min-height: 43px;
  background-color: #fff;
}

.alertify .ajs-footer .ajs-buttons.ajs-primary {
  text-align: right;
}

.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button {
  margin: 4px;
}

.alertify .ajs-footer .ajs-buttons.ajs-auxiliary {
  float: left;
  clear: none;
  text-align: left;
}

.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button {
  margin: 4px;
}

.alertify .ajs-footer .ajs-buttons .ajs-button {
  min-width: 88px;
  min-height: 35px;
}

.alertify .ajs-handle {
  position: absolute;
  display: none;
  width: 10px;
  height: 10px;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);
  transform: scaleX(1);
  cursor: se-resize;
}

.alertify.ajs-no-overflow .ajs-body .ajs-content {
  overflow: hidden !important;
}

.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content {
  left: 0;
  right: 0;
  padding: 0;
}

.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body {
  margin-left: -24px;
  margin-right: -24px;
}

.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content {
  padding: 0;
}

.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content {
  left: 0;
  right: 0;
}

.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,
.alertify.ajs-maximizable .ajs-commands button.ajs-restore {
  display: inline-block;
}

.alertify.ajs-closable .ajs-commands button.ajs-close {
  display: inline-block;
}

.alertify.ajs-maximized .ajs-dialog {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  top: 0 !important;
  left: 0 !important;
}

.alertify.ajs-maximized.ajs-modeless .ajs-modal {
  position: fixed !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
}

.alertify.ajs-maximized .ajs-commands button.ajs-maximize {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=);
}

.alertify.ajs-resizable .ajs-dialog,
.alertify.ajs-maximized .ajs-dialog {
  padding: 0;
}

.alertify.ajs-resizable .ajs-commands,
.alertify.ajs-maximized .ajs-commands {
  margin: 14px 24px 0 0;
}

.alertify.ajs-resizable .ajs-header,
.alertify.ajs-maximized .ajs-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 16px 24px;
}

.alertify.ajs-resizable .ajs-body,
.alertify.ajs-maximized .ajs-body {
  min-height: 224px;
  display: inline-block;
}

.alertify.ajs-resizable .ajs-body .ajs-content,
.alertify.ajs-maximized .ajs-body .ajs-content {
  position: absolute;
  top: 50px;
  right: 24px;
  bottom: 50px;
  left: 24px;
  overflow: auto;
}

.alertify.ajs-resizable .ajs-footer,
.alertify.ajs-maximized .ajs-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}

.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog {
  min-width: 548px;
}

.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle {
  display: block;
}

.alertify.ajs-movable:not(.ajs-maximized) .ajs-header {
  cursor: move;
}

.alertify.ajs-modeless .ajs-dimmer,
.alertify.ajs-modeless .ajs-reset {
  display: none;
}

.alertify.ajs-modeless .ajs-modal {
  overflow: visible;
  max-width: none;
  max-height: 0;
}

.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin {
  display: inline-block;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC);
}

.alertify.ajs-modeless.ajs-unpinned .ajs-modal {
  position: absolute;
}

.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=);
}

.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body {
  max-height: 500px;
  overflow: auto;
}

.alertify.ajs-basic .ajs-header {
  opacity: 0;
}

.alertify.ajs-basic .ajs-footer {
  visibility: hidden;
}

.alertify.ajs-frameless .ajs-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: 60px;
  margin: 0;
  padding: 0;
  opacity: 0;
  z-index: 1;
}

.alertify.ajs-frameless .ajs-footer {
  display: none;
}

.alertify.ajs-frameless .ajs-body .ajs-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog {
  padding-top: 0;
}

.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands {
  margin-top: 0;
}

.ajs-no-overflow {
  overflow: hidden !important;
  outline: none;
}

.ajs-no-selection,
.ajs-no-selection * {
  -webkit-user-select: none;
  user-select: none;
}
@-moz-document url-prefix() {
  .alertify button:focus {
    outline: 1px dotted #3593D2;
  }
}
.alertify .ajs-dimmer,
.alertify .ajs-modal {
  transform: translate3d(0, 0, 0);
  transition-property: opacity, visibility;
  transition-timing-function: linear;
  transition-duration: 250ms;
}

.alertify.ajs-hidden .ajs-dimmer,
.alertify.ajs-hidden .ajs-modal {
  visibility: hidden;
  opacity: 0;
}

.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-duration: 500ms;
}

.alertify.ajs-out.ajs-hidden .ajs-dialog {
  animation-duration: 250ms;
}

.alertify .ajs-dialog.ajs-shake {
  animation-name: ajs-shake;
  animation-duration: 0.1s;
  animation-fill-mode: both;
}
@keyframes ajs-shake {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-name: ajs-slideIn;
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog {
  animation-name: ajs-slideOut;
  animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-name: ajs-zoomIn;
}

.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog {
  animation-name: ajs-zoomOut;
}

.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-name: ajs-fadeIn;
}

.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog {
  animation-name: ajs-fadeOut;
}

.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-name: ajs-pulseIn;
}

.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog {
  animation-name: ajs-pulseOut;
}

.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-name: ajs-flipInX;
}

.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog {
  animation-name: ajs-flipOutX;
}

.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog {
  animation-name: ajs-flipInY;
}

.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog {
  animation-name: ajs-flipOutY;
}
@keyframes ajs-pulseIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
@keyframes ajs-pulseOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes ajs-zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.25, 0.25, 0.25);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
@keyframes ajs-zoomOut {
  0% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
  100% {
    opacity: 0;
    transform: scale3d(0.25, 0.25, 0.25);
  }
}
@keyframes ajs-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes ajs-fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes ajs-flipInX {
  0% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transition-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    transform: perspective(400px);
  }
}
@keyframes ajs-flipOutX {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes ajs-flipInY {
  0% {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transition-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    transform: perspective(400px);
  }
}
@keyframes ajs-flipOutY {
  0% {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes ajs-slideIn {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 5%;
  }
}
@keyframes ajs-slideOut {
  0% {
    margin-top: 5%;
  }
  100% {
    margin-top: -100%;
  }
}
.alertify-notifier {
  position: fixed;
  width: 0;
  overflow: visible;
  z-index: 1982;
  transform: translate3d(0, 0, 0);
}

.alertify-notifier .ajs-message {
  position: relative;
  width: 260px;
  max-height: 0;
  padding: 0;
  opacity: 0;
  margin: 0;
  transform: translate3d(0, 0, 0);
  transition-duration: 250ms;
  transition-timing-function: linear;
}

.alertify-notifier .ajs-message.ajs-visible {
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  opacity: 1;
  max-height: 100%;
  padding: 15px;
  margin-top: 10px;
}

.alertify-notifier .ajs-message.ajs-success {
  background: rgba(91, 189, 114, 0.95);
}

.alertify-notifier .ajs-message.ajs-error {
  background: rgba(217, 92, 92, 0.95);
}

.alertify-notifier .ajs-message.ajs-warning {
  background: rgba(252, 248, 215, 0.95);
  color: #292123 !important;
}

.alertify-notifier.ajs-top {
  top: 10px;
}

.alertify-notifier.ajs-bottom {
  bottom: 10px;
}

.alertify-notifier.ajs-right {
  right: 10px;
}

.alertify-notifier.ajs-right .ajs-message {
  right: -320px;
}

.alertify-notifier.ajs-right .ajs-message.ajs-visible {
  right: 290px;
}

.alertify-notifier.ajs-left {
  left: 10px;
}

.alertify-notifier.ajs-left .ajs-message {
  left: -300px;
}

.alertify-notifier.ajs-left .ajs-message.ajs-visible {
  left: 0;
}

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
.dropzone {
  border: 2px dashed var(--divider-color, #ddd);
  padding: var(--gutter);
}

.dropzone, .dropzone * {
  box-sizing: border-box;
  position: relative;
}

.dropzone {
  position: relative;
}

.dropzone .dz-preview {
  position: relative;
  display: block;
  float: left;
  width: 25%;
  padding: var(--gutter);
}

.dropzone .dz-preview .dz-progress {
  display: block;
  height: 15px;
  max-width: 120px;
}

.dropzone .dz-preview .dz-progress .dz-upload {
  display: block;
  height: 100%;
  width: 0;
}

.dropzone .dz-preview .dz-error-message {
  display: none;
}

.dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark {
  display: block;
}

.dropzone .dz-preview.dz-success .dz-success-mark {
  display: block;
}

.dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
  position: absolute;
  display: none;
  left: 0;
  top: 0;
  width: 54px;
  height: 58px;
  left: 0;
  margin-left: 0;
}

.dropzone {
  min-height: 150px;
}

.dz-message {
  font-size: 1.2rem;
  display: block;
  width: 50%;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.6;
}

.fileDropzone .dz-image {
  display: none;
}
.fileDropzone .dz-details {
  display: inherit;
}

.dropzone .dz-preview .dz-progress .dz-upload {
  background: var(--mix-color);
}

.dropzone .dz-preview .dz-error-message {
  color: var(--color-error);
}

.dropzone .dz-preview .dz-progress {
  border: 1px solid var(--form-input-border-color);
}

.dz-message {
  color: var(--mix-color);
}

.dz-details {
  display: none;
}

.dropzone.non-image .dz-details {
  display: block;
}

.algolia-search {
  display: grid;
  grid-template: auto/1fr 3fr;
  grid-template-areas: "search search" "currentRefinements currentRefinements" "refinements results";
  grid-row-gap: var(--half-gutter, 0.5rem);
  grid-column-gap: calc(2 * var(--gutter, 1rem));
  align-items: start;
}

#searchbox {
  grid-area: search;
}

#resultsContainer {
  grid-area: results;
  grid-area: results;
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter, 1rem);
  align-items: start;
  justify-items: start;
}

#results.hidden ~ #noResults {
  display: inline-block;
}
#results.hidden ~ #pagination {
  display: none;
}

#noResults {
  display: none;
}

#pagination {
  width: 100%;
}

#currentRefinements {
  grid-area: currentRefinements;
}

#refinementList {
  grid-area: refinements;
  display: grid;
  grid-template: auto, 1fr;
  grid-gap: var(--gutter, 1rem);
  align-items: start;
}

.refinement {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--half-gutter, 0.5rem);
  align-items: start;
}
.refinement .title {
  font-weight: bolder;
}

.img-placeholder {
  display: grid;
  justify-items: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  background: var(--body-background-color, #ddd);
  color: var(--color-dark-grey, #333);
  font-weight: bolder;
  font-size: var(--font-size-s);
  text-align: center;
  padding: 0.5em;
  border-radius: 3px;
}

.ais-RefinementList-list {
  list-style: none;
  margin: 0;
  margin-top: var(--half-gutter, 0.5rem);
  padding: 0;
}
.ais-RefinementList-searchBox .ais-SearchBox {
  --ais-searchbox-font-size: var(--font-size-s,.8rem);
}
.ais-RefinementList-searchBox .ais-SearchBox-input:disabled ~ button {
  display: none;
}
.ais-RefinementList-label {
  padding: 0;
  font-size: var(--font-size-s, 0.8rem);
}
.ais-RefinementList-item {
  list-style: none;
  margin: 0;
}
.ais-RefinementList input[type=checkbox] {
  height: 1em;
}

.ais-CurrentRefinements {
  display: flex;
  gap: var(--gutter, 1rem);
  justify-content: flex-start;
  align-items: center;
  font-size: var(--font-size-s);
}
.ais-CurrentRefinements-list {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--gutter, 1rem);
}
.ais-CurrentRefinements-category {
  background: #eee;
  padding: 0.25em 0.5em;
  border-radius: 3px;
  display: flex;
  gap: var(--half-gutter, 0.5rem);
  align-items: center;
}
.ais-CurrentRefinements-item {
  display: flex;
  gap: var(--half-gutter, 0.5rem);
  align-items: center;
}
.ais-CurrentRefinements-label {
  font-weight: bolder;
}
.ais-CurrentRefinements-delete {
  color: var(--color-negative-dark, red);
  font-weight: bolder;
}

.ais-Hits-list {
  list-style: none;
  margin: 0;
  text-indent: 0;
}
.ais-Hits-list li {
  margin: 0;
  padding: 0;
}

.ais-SearchBox {
  font-size: var(--ais-searchbox-font-size, 1rem);
}
.ais-SearchBox-form {
  display: flex;
  width: 100%;
}
.ais-SearchBox-input {
  border: 1px solid var(--divider-color, #999);
  padding: 0.25em 0.5em;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  flex: 1 1 auto;
  width: 100%;
}
.ais-SearchBox-submit {
  padding: 0 0.75em;
  border-radius: 0;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border: 1px solid var(--input-border-color, #999);
  border-left: none;
}
.ais-SearchBox-reset {
  padding: 0 0.75em;
}
.ais-SearchBox-reset svg {
  fill-color: var(--color-error-dark, red);
}

.ais-Pagination {
  width: 100%;
  display: grid;
  align-items: center;
  justify-items: center;
}
.ais-Pagination-list {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin: calc(1.5 * var(--gutter)) 0;
}
.ais-Pagination-list li {
  list-style: none;
  flex: 0 0 auto;
}
.ais-Pagination-list li:not(:last-child) {
  margin-right: 0.75em;
}
.ais-Pagination-firstPage, .ais-Pagination-lastPage, .ais-Pagination-previousPage, .ais-Pagination-nextPage {
  font-weight: bolder;
}
.ais-Pagination-item--selected {
  font-weight: bolder;
  padding: 0.25em;
  border-radius: 3px;
}

.ajs-message.ajs-success::before,
.ajs-message.ajs-warning::before,
.ajs-message.ajs-error::before {
  content: "\f057";
  position: absolute;
  top: 0;
  left: -1.1em;
  display: inline-block;
  text-align: center;
  color: black;
  font-family: "FontAwesome";
  font-size: var(--font-size-xxl);
  cursor: pointer;
}

.ajs-message {
  color: white;
}

.lum-lightbox {
  z-index: 9999;
  overscroll-behavior: contain;
}

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  tab-size: 4;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

[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-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
}

html {
  width: 100%;
}

body {
  background: var(--body-background-color, white);
}
body.noscroll {
  overflow: hidden;
}

body {
  font-family: var(--text-copy-font-family, sans-serif);
  font-weight: 400;
  color: var(--text-copy-color, #000);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--text-heading-font-family, sans-serif);
  font-weight: var(--heading-font-weight, 600);
  line-height: var(--heading-line-height, 1.4);
  color: var(--text-heading-color, #000);
}

/* Font size using a 1.2 Minor Third scale */
h1 {
  font-size: var(--h1-font-size, var(--font-size-xxxl, 2.488rem));
}

h2 {
  font-size: var(--h2-font-size, var(--font-size-xxl, 2.074rem));
}

h3 {
  font-size: var(--h3-font-size, var(--font-size-xl, 1.728rem));
}

h4 {
  font-size: var(--h4-font-size, var(--font-size-l, 1.44rem));
}

h5 {
  font-size: var(--h5-font-size, var(--font-size-normal, 1rem));
}

h6 {
  font-size: var(--h6-font-size, var(--font-size-x, 0.833rem));
}

pre {
  display: inline-block;
}

ul, ol {
  margin-left: 1.5em;
}
ul li::marker, ol li::marker {
  color: var(--mix-color, var(--accent-color, #292123));
}

p,
ul,
ol,
q,
dl,
code,
pre,
cite,
address {
  color: var(--text-copy-color);
}
p + *,
ul + *,
ol + *,
q + *,
dl + *,
code + *,
pre + *,
cite + *,
address + * {
  margin-top: var(--gutter);
}

a {
  color: var(--link-text-color);
  text-decoration: none;
  cursor: pointer;
  transition: all 300ms ease;
}
a:link {
  color: var(--link-text-color);
}
a:visited {
  color: var(--link-text-color);
}
a:hover {
  color: var(--color-light-grey);
}
a:active {
  color: var(--link-text-color);
}

ins {
  font-style: italic;
  background: #ddd;
  padding: 0.125em 0.25em;
  border-radius: 3px;
}

kbd {
  display: inline-block;
  background: #ddd;
  border: 1px solid #bbb;
  padding: 0.125em 0.5em;
  font-size: var(--font-size-s);
  border-radius: 3px;
  vertical-align: middle;
  color: #666;
  font-family: monospace;
}

dl dt {
  font-weight: bolder;
}
dl dd {
  padding-left: var(--gutter);
}

q {
  font-style: italic;
}
q::before {
  font-size: 1.5em;
  font-weight: bolder;
  font-style: normal;
  line-height: 1rem;
}
q::after {
  font-size: 1.5em;
  font-weight: bolder;
  font-style: normal;
  line-height: 1rem;
}

sup, sub {
  font-weight: bolder;
}

.page__title {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: var(--gutter) 0;
  margin-bottom: var(--gutter);
}
.page__title h1 {
  font-weight: 500;
}

.banner {
  margin: 0 auto;
  padding: var(--gutter);
  background: var(--banner-background-color, black);
  width: auto;
  font-size: var(--font-size-s);
}
.banner:empty {
  display: none;
}
.banner h1, .banner h2, .banner h3, .banner h4, .banner h5, .banner h6 {
  font-size: var(--font-size-l);
}
.banner * {
  color: var(--banner-text-color, white);
}

.button {
  box-shadow: var(--shadow-standard);
}

a.button,
button.button,
input[type=submit].button {
  color: var(--button-default-text-color, white);
  display: inline-block;
  width: auto;
  padding: 0.5em 2em;
  border-width: 1px;
  border-color: var(--button-primary-border-color, #999);
  border-style: solid;
  font-style: normal;
  background: #ddd;
  transition: all 300ms ease;
  line-height: 1;
}
a.button.button--small,
button.button.button--small,
input[type=submit].button.button--small {
  padding: 0.25rem 1rem;
  font-size: var(--font-size-s);
}
a.button.button--theme--negative, a.button.button--theme--secondary, a.button.button--theme--primary,
button.button.button--theme--negative,
button.button.button--theme--secondary,
button.button.button--theme--primary,
input[type=submit].button.button--theme--negative,
input[type=submit].button.button--theme--secondary,
input[type=submit].button.button--theme--primary {
  box-shadow: var(--shadow);
  border-radius: 3px;
}
a.button.button--theme--negative:hover, a.button.button--theme--secondary:hover, a.button.button--theme--primary:hover,
button.button.button--theme--negative:hover,
button.button.button--theme--secondary:hover,
button.button.button--theme--primary:hover,
input[type=submit].button.button--theme--negative:hover,
input[type=submit].button.button--theme--secondary:hover,
input[type=submit].button.button--theme--primary:hover {
  border-radius: 5px;
}
a.button.button--theme--negative:disabled, a.button.button--theme--secondary:disabled, a.button.button--theme--primary:disabled, a.button.button--theme--negative.button--disabled, a.button.button--theme--secondary.button--disabled, a.button.button--theme--primary.button--disabled,
button.button.button--theme--negative:disabled,
button.button.button--theme--secondary:disabled,
button.button.button--theme--primary:disabled,
button.button.button--theme--negative.button--disabled,
button.button.button--theme--secondary.button--disabled,
button.button.button--theme--primary.button--disabled,
input[type=submit].button.button--theme--negative:disabled,
input[type=submit].button.button--theme--secondary:disabled,
input[type=submit].button.button--theme--primary:disabled,
input[type=submit].button.button--theme--negative.button--disabled,
input[type=submit].button.button--theme--secondary.button--disabled,
input[type=submit].button.button--theme--primary.button--disabled {
  background: var(--color-light-grey, #e4e4e4) !important;
  color: var(--color-x-light-grey, #f1f1f1) !important;
  cursor: not-allowed;
  border: 2px solid var(--color-light-grey, #e4e4e4);
  text-shadow: none;
}
a.button.button--theme--secondary:disabled, a.button.button--theme--secondary.button--disabled,
button.button.button--theme--secondary:disabled,
button.button.button--theme--secondary.button--disabled,
input[type=submit].button.button--theme--secondary:disabled,
input[type=submit].button.button--theme--secondary.button--disabled {
  border: none;
}
a.button.button--theme--negative:disabled:hover, a.button.button--theme--secondary:disabled:hover, a.button.button--theme--primary:disabled:hover, a.button.button--theme--negative.button--disabled:hover, a.button.button--theme--secondary.button--disabled:hover, a.button.button--theme--primary.button--disabled:hover,
button.button.button--theme--negative:disabled:hover,
button.button.button--theme--secondary:disabled:hover,
button.button.button--theme--primary:disabled:hover,
button.button.button--theme--negative.button--disabled:hover,
button.button.button--theme--secondary.button--disabled:hover,
button.button.button--theme--primary.button--disabled:hover,
input[type=submit].button.button--theme--negative:disabled:hover,
input[type=submit].button.button--theme--secondary:disabled:hover,
input[type=submit].button.button--theme--primary:disabled:hover,
input[type=submit].button.button--theme--negative.button--disabled:hover,
input[type=submit].button.button--theme--secondary.button--disabled:hover,
input[type=submit].button.button--theme--primary.button--disabled:hover {
  background: var(--color-light-grey, #e4e4e4) !important;
}
a.button.button--theme--secondary,
button.button.button--theme--secondary,
input[type=submit].button.button--theme--secondary {
  background: var(--button-secondary-background-color, none);
  border-width: 2px;
  color: var(--button-secondary-color, black);
  border-color: var(--button-secondary-color, black);
}
a.button.button--theme--secondary:link,
button.button.button--theme--secondary:link,
input[type=submit].button.button--theme--secondary:link {
  color: var(--button-secondary-color, black);
}
a.button.button--theme--secondary:visited,
button.button.button--theme--secondary:visited,
input[type=submit].button.button--theme--secondary:visited {
  color: var(--button-secondary-color, black);
}
a.button.button--theme--secondary:hover,
button.button.button--theme--secondary:hover,
input[type=submit].button.button--theme--secondary:hover {
  color: var(--button-secondary-color);
  border-color: var(--button-secondary-color);
  background: HSL(var(--theme-h) calc(0.5 * var(--theme-s)) calc(1.8 * var(--theme-l)));
}
a.button.button--theme--secondary:active,
button.button.button--theme--secondary:active,
input[type=submit].button.button--theme--secondary:active {
  color: var(--button-ghost-color, var(--button-secondary-background-color, var(--color-grey)));
}
a.button.button--theme--negative, a.button.button--theme--primary,
button.button.button--theme--negative,
button.button.button--theme--primary,
input[type=submit].button.button--theme--negative,
input[type=submit].button.button--theme--primary {
  background: var(--button-primary-background-color);
  border: 2px solid var(--button-primary-border-color);
  color: var(--button-default-text-color);
}
a.button.button--theme--primary,
button.button.button--theme--primary,
input[type=submit].button.button--theme--primary {
  background: var(--button-primary-background-color);
  color: white;
}
a.button.button--theme--primary:link,
button.button.button--theme--primary:link,
input[type=submit].button.button--theme--primary:link {
  color: white;
  background: var(--button-primary-background-color);
}
a.button.button--theme--primary:visited,
button.button.button--theme--primary:visited,
input[type=submit].button.button--theme--primary:visited {
  color: white;
  background: var(--button-primary-background-color);
}
a.button.button--theme--primary:hover,
button.button.button--theme--primary:hover,
input[type=submit].button.button--theme--primary:hover {
  color: white;
  background: var(--button-primary-hover-background-color);
  border-color: var(--button-primary-hover-background-color);
}
a.button.button--theme--primary:active,
button.button.button--theme--primary:active,
input[type=submit].button.button--theme--primary:active {
  color: white;
  background: var(--color-dark-grey);
}
a.button.button--theme--negative,
button.button.button--theme--negative,
input[type=submit].button.button--theme--negative {
  border: 2px solid var(--color-negative-dark);
  background: var(--color-negative-dark);
  color: white;
}
a.button.button--theme--negative:link,
button.button.button--theme--negative:link,
input[type=submit].button.button--theme--negative:link {
  color: white;
  background: var(--color-negative-dark);
}
a.button.button--theme--negative:visited,
button.button.button--theme--negative:visited,
input[type=submit].button.button--theme--negative:visited {
  color: white;
  background: var(--color-negative-dark);
}
a.button.button--theme--negative:hover,
button.button.button--theme--negative:hover,
input[type=submit].button.button--theme--negative:hover {
  color: white;
  color: var(--color-negative-dark);
  border: 2px solid var(--color-negative);
  background: var(--color-negative);
}
a.button.button--theme--negative:active,
button.button.button--theme--negative:active,
input[type=submit].button.button--theme--negative:active {
  color: white;
  background: var(--color-negative-dark);
}

details {
  --details-border-color: var(--divider-color, #ddd);
  border: 1px solid var(--details-border-color);
  border-radius: 4px;
  overflow: hidden;
  padding: 0.5em 0.5em 0;
  box-shadow: 0 2px 5px var(--color-light-grey);
}
details summary {
  cursor: pointer;
  margin: -0.5em -0.5em 0;
  background: var(--details-background-color, #eee);
  padding: 0.5em;
  border-radius: 4px;
}
details summary::marker {
  color: black;
}
details[open] {
  padding: 0.5em;
}
details[open] summary {
  border-bottom: 1px solid var(--details-border-color);
  margin-bottom: 0.5em;
  border-radius: 0;
}

.alert,
.flash {
  display: inline-block;
  padding: var(--flash-padding);
  border-radius: var(--flash-border-radius, 0);
  box-shadow: var(--shadow-standard);
  --color-information: var(--color-info);
  --color-information-dark: var(--color-info-dark);
}
.alert *,
.flash * {
  font-size: var(--font-size-s);
}
.alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6,
.flash h1,
.flash h2,
.flash h3,
.flash h4,
.flash h5,
.flash h6 {
  font-size: var(--flash-heading-font-size, 1.2rem);
}
.alert--success,
.flash--success {
  color: var(--color-success-dark);
  background: var(--color-success);
}
.alert--success h1, .alert--success h2, .alert--success h3, .alert--success h4, .alert--success h5, .alert--success h6,
.flash--success h1,
.flash--success h2,
.flash--success h3,
.flash--success h4,
.flash--success h5,
.flash--success h6 {
  color: var(--color-success-dark);
}
.alert--info,
.flash--info {
  color: var(--color-info-dark);
  background: var(--color-info);
}
.alert--info h1, .alert--info h2, .alert--info h3, .alert--info h4, .alert--info h5, .alert--info h6,
.flash--info h1,
.flash--info h2,
.flash--info h3,
.flash--info h4,
.flash--info h5,
.flash--info h6 {
  color: var(--color-info-dark);
}
.alert--information,
.flash--information {
  color: var(--color-information-dark);
  background: var(--color-information);
}
.alert--information h1, .alert--information h2, .alert--information h3, .alert--information h4, .alert--information h5, .alert--information h6,
.flash--information h1,
.flash--information h2,
.flash--information h3,
.flash--information h4,
.flash--information h5,
.flash--information h6 {
  color: var(--color-information-dark);
}
.alert--error,
.flash--error {
  color: var(--color-error-dark);
  background: var(--color-error);
}
.alert--error h1, .alert--error h2, .alert--error h3, .alert--error h4, .alert--error h5, .alert--error h6,
.flash--error h1,
.flash--error h2,
.flash--error h3,
.flash--error h4,
.flash--error h5,
.flash--error h6 {
  color: var(--color-error-dark);
}
.alert--alert,
.flash--alert {
  color: var(--color-alert-dark);
  background: var(--color-alert);
}
.alert--alert h1, .alert--alert h2, .alert--alert h3, .alert--alert h4, .alert--alert h5, .alert--alert h6,
.flash--alert h1,
.flash--alert h2,
.flash--alert h3,
.flash--alert h4,
.flash--alert h5,
.flash--alert h6 {
  color: var(--color-alert-dark);
}
.alert--warning,
.flash--warning {
  color: var(--color-warning-dark);
  background: var(--color-warning);
}
.alert--warning h1, .alert--warning h2, .alert--warning h3, .alert--warning h4, .alert--warning h5, .alert--warning h6,
.flash--warning h1,
.flash--warning h2,
.flash--warning h3,
.flash--warning h4,
.flash--warning h5,
.flash--warning h6 {
  color: var(--color-warning-dark);
}
* + .alert,
* + .flash {
  margin-top: var(--flash-vertical-margin);
}
.alert ul,
.flash ul {
  list-style: none;
}

label {
  display: inline-block;
  padding: 0.25em 0;
  outline: none;
  position: relative;
  font-weight: var(--form-label-font-weight);
  font-size: var(--form-label-font-size);
  font-style: normal;
}
label.required, label.valid, label.invalid {
  position: relative;
}
label.required::before, label.valid::before, label.invalid::before {
  display: inline;
  font-family: "FontAwesome";
  font-size: 1rem;
  vertical-align: middle;
  background: white;
  border-radius: 50%;
  margin-right: 0.5rem;
}
label.required::before {
  content: "\f069";
  color: var(--validation-required-color);
}
label.required + input[type=number], label.required + input[type=text] {
  border-bottom-width: 3px;
  border-bottom-color: var(--validation-required-color);
}
label.valid::before {
  content: "\f058";
  color: var(--validation-valid-color);
}
label.valid + input[type=number], label.valid + input[type=text] {
  border-bottom-width: 3px;
  border-bottom-color: var(--validation-valid-color);
}
label.invalid::before {
  content: "\f06a";
  color: var(--validation-invalid-color);
}
label.invalid + input[type=number], label.invalid + input[type=text] {
  border-bottom-width: 3px;
  border-bottom-color: var(--validation-invalid-color);
}

.datum.check, .datum.radio {
  padding: var(--gutter) 0;
  display: grid;
  grid-template: auto/auto 1fr !important;
  align-items: center;
  grid-gap: var(--gutter) !important;
}
input[type=checkbox],
input[type=radio] {
  display: inline-block;
  width: 1em;
  height: 1.8em;
  vertical-align: middle;
  accent-color: var(--mix-color, var(--accent-color, black));
}
input[type=checkbox]:checked,
input[type=radio]:checked {
  border-width: 1px;
}
input[type=checkbox]:disabled,
input[type=radio]:disabled {
  opacity: 0.8;
  cursor: not-allowed;
}
input[type=checkbox]:disabled + label,
input[type=radio]:disabled + label {
  color: var(--color-grey);
  cursor: not-allowed;
}

.radio-set,
.check-set {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--quarter-gutter);
}
.radio-set label,
.check-set label {
  cursor: pointer;
}
.radio-set.inline .datum,
.check-set.inline .datum {
  display: flex;
  flex-wrap: wrap;
}
.radio-set.inline .check-inline:not(:first-of-type),
.radio-set.inline .radio-inline:not(:first-of-type),
.check-set.inline .check-inline:not(:first-of-type),
.check-set.inline .radio-inline:not(:first-of-type) {
  margin-left: var(--gutter);
}
.radio-set__title,
.check-set__title {
  font-weight: bolder;
}
.radio-set .data,
.check-set .data {
  display: grid;
  grid-template: auto/1fr;
}
.radio-set .datum,
.check-set .datum {
  display: grid;
  grid-template: auto/auto 1fr;
  grid-gap: calc(0.75 * var(--gutter));
  align-items: center;
  margin: 0;
}
.radio-set .datum label,
.check-set .datum label {
  font-weight: normal;
}
.radio-set.required, .radio-set.valid, .radio-set.invalid,
.check-set.required,
.check-set.valid,
.check-set.invalid {
  position: relative;
  font-style: normal;
}
.radio-set.required:after, .radio-set.valid:after, .radio-set.invalid:after,
.check-set.required:after,
.check-set.valid:after,
.check-set.invalid:after {
  display: block;
  font-family: "FontAwesome";
  font-size: var(--font-size-l);
  position: absolute;
  top: 0.15em;
  left: -1em;
  background: white;
  border-radius: 50%;
}
.radio-set.required:after,
.check-set.required:after {
  content: "\f069";
  color: var(--validation-required-color);
}
.radio-set.valid:after,
.check-set.valid:after {
  content: "\f058";
  color: var(--validation-valid-color);
}
.radio-set.invalid:after,
.check-set.invalid:after {
  content: "\f06a";
  color: var(--validation-invalid-color);
}

select {
  -webkit-appearance: auto;
          appearance: auto;
  border: 2px solid var(--form-input-border-color);
  box-shadow: none;
  font-size: var(--form-input-font-size);
  line-height: 1.6;
  outline: none;
  padding: var(--form-select-padding);
  width: 100%;
  background: var(--body-background-color);
}
select:disabled {
  background-color: var(--color-light-grey);
  cursor: not-allowed;
}
select:focus {
  outline: 2px solid var(--mix-color);
  border-color: var(--mix-color);
}
select[multiple] {
  background: white;
  border-radius: 3px;
  min-width: 50%;
  overflow: auto;
  padding: 0.25em;
}
select[multiple]:focus {
  outline: none;
  border-style: dotted;
  border-width: 2px;
}
select[multiple] option {
  margin: calc(0.125 * var(--gutter)) 0;
  padding: 0.25em 0.5em;
}
select[multiple] option:checked::before {
  content: "\f00c";
  font-family: "FontAwesome";
  margin-right: var(--half-gutter);
}

.select-set {
  display: inline-block;
  width: 100%;
}
.select-set + * {
  margin-top: var(--gutter);
}
.select-set.multiple label:after {
  content: "";
}

input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
textarea {
  display: inline-block;
  width: 100%;
  outline: none;
  font-style: normal;
  padding: var(--form-input-padding);
  font-size: var(--form-input-font-size);
  background: var(--form-input-background-color);
  border: 1px solid var(--form-input-border-color);
}
input[type=text]:disabled,
input[type=email]:disabled,
input[type=number]:disabled,
input[type=password]:disabled,
input[type=search]:disabled,
textarea:disabled {
  cursor: not-allowed;
  background: var(--color-x-light-grey);
  border-radius: 10px;
  border-style: dashed;
  border-color: var(--color-light-grey);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
textarea:focus {
  border: 1px solid var(--mix-color, var(--accent-color, #ddd));
  box-shadow: 0 0 5px var(--mix-color);
}

textarea {
  /* Fit roughly 8 lines */
  height: 11.2rem;
}

input[type=color] {
  border: 1px solid var(--form-input-border-color);
  box-sizing: border-box;
  height: 3rem;
  width: 3rem;
  padding: 0.25rem;
  background: white;
  border-radius: 3px;
  cursor: pointer;
}
input[type=color]::after {
  content: attr(value);
  display: inline-block;
  margin-top: 0.5em;
}

.file-set {
  display: inline-block;
  width: 100%;
  cursor: pointer;
}
.file-set + * {
  margin-top: var(--gutter);
}
.file-set[disabled] .filename {
  opacity: 0.5;
  cursor: not-allowed;
}
.file-set[disabled] .filename::before {
  pointer-events: none;
}
.file-set input[type=file] {
  display: none;
}
.file-set label {
  display: inline-block;
  width: 100%;
}
.file-set .filename {
  width: 100%;
  padding: 1em 0.5em;
  font-weight: normal;
  margin-top: var(--quarter-gutter);
  display: inline-block;
  font-size: var(--font-size-s);
}
.file-set .filename::before {
  content: "Click to Select File";
  border-radius: 3px;
  padding: 0.5em;
  margin-right: var(--gutter);
  cursor: pointer;
  background: #888;
  color: white;
}
.file-set .required .filename {
  background: var(--validation-required-color-semitransparent);
}
.file-set .invalid .filename {
  background: var(--validation-invalid-color-semitransparent);
}
.file-set .valid .filename {
  background: var(--validation-valid-color-semitransparent);
}
.file-set .filename {
  width: 100%;
  background: var(--form-file-input-background-color);
  border-radius: 5px;
}
.file-set .filename:hover::before {
  background: var(--form-file-input-button-background-color-dark);
}
.file-set .filename::before {
  background: var(--form-file-input-button-background-color);
  color: var(--form-file-input-button-text-color);
}

.form {
  display: inline-block;
  width: 100%;
}
.form #itemQuantityAlert + .datum {
  margin-top: var(--gutter);
}
.form p.instruction {
  color: var(--color-grey);
}
.form p.instruction + * {
  margin-top: 0;
}
.form .city-state-zip {
  display: grid;
  grid-template: auto/5fr 2fr;
  grid-gap: var(--gutter);
  width: 100%;
}
.form .city-state-zip .city-state {
  display: grid;
  grid-template: auto/repeat(2, 1fr);
  grid-gap: var(--gutter);
}
.form .city-state-zip .city-state .datum {
  margin-top: 0;
}
.form .city-state-zip .city-state .hide {
  display: none;
}
.form .city-state-zip .city-state .city,
.form .city-state-zip .city-state .state {
  position: relative;
}
.form .city-state-zip .city-state .icon--edit {
  position: absolute;
  top: 0.1em;
  right: 0;
}
.form .city-state-zip .city-state .icon--edit:hover {
  cursor: pointer;
}
.form .city-state-zip .city-state .icon--edit:not(.hide) ~ .datum input[type=text] {
  padding-right: 1.5em;
}
.form .city-state-zip .city-state .icon--edit .fa {
  line-height: 2;
}

fieldset {
  display: inline-block;
  width: 100%;
  border: none;
  padding: var(--half-gutter) var(--gutter);
}
fieldset.terms__title {
  font-size: var(--font-size-l);
  font-weight: bolder;
  width: 100%;
  display: block;
  margin-bottom: var(--gutter);
}
fieldset.terms__content {
  height: 200px;
  width: 100%;
  box-shadow: none;
  font-size: var(--font-size-s);
  padding: var(--half-gutter);
  outline: none;
  overflow-y: scroll;
}
fieldset.terms .check-set {
  border: none;
}

* + .datum {
  margin-top: var(--gutter);
}

.datum {
  display: inline-block;
  width: 100%;
}
.datum .hint {
  display: inline-block;
  color: var(--color-grey);
  width: 100%;
  font-size: var(--form-hint-font-size);
  padding: var(--quarter-gutter) calc(0.75 * var(--gutter));
}
.datum.hide-label label {
  display: none;
}

.pfCheckboxList input[type=checkbox] {
  float: left;
  clear: left;
  accent-color: var(--mix-color);
}
.pfCheckboxList input[type=checkbox] + label {
  max-width: 90%;
  float: left;
  padding-left: 1em;
  clear: right;
  font-weight: normal;
}
.pfCheckboxList h3 {
  display: block;
  float: left;
  clear: both;
  margin: 1em 0 0.5em 0;
}

.checkboxListCaption {
  font-weight: bolder;
}

.image-picker-wrapper {
  display: none;
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  padding: calc(2 * var(--gutter)) var(--half-gutter);
  overscroll-behavior: contain;
}
.image-picker-wrapper.shown {
  display: grid;
  align-items: start;
  justify-items: center;
}

.image-picker {
  display: grid;
  grid-template: auto 1fr auto/1fr;
  background: white;
  border: 1px solid var(--divider-color);
  border-radius: 5px;
  box-shadow: 0 1px 3px var(--color-dark-grey, #555);
  overscroll-behavior: contain;
}

.ip-header {
  display: flex;
  border-bottom: 1px solid var(--divider-color);
  padding: var(--half-gutter) var(--gutter);
}
.ip-header .title {
  flex: 1 1 auto;
  font-size: var(--font-size-l);
}
.ip-header .close {
  flex: 0 1 auto;
  font-size: var(--font-size-l);
  cursor: pointer;
  transition: color 300ms ease;
}
.ip-header .close:hover {
  color: var(--color-negative);
}

.ip-tabs {
  border-bottom: 1px solid var(--divider-color);
}
.ip-tabs ul {
  list-style: none;
  margin: 0;
  padding: var(--half-gutter) var(--gutter) 0 var(--gutter);
  display: flex;
}
.ip-tabs ul li {
  flex: 0 0 auto;
  margin-right: calc(1.25 * var(--gutter));
  margin-bottom: var(--half-gutter);
}
.ip-tabs a.active {
  font-weight: bolder;
}

.ip-body {
  display: inline-block;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ip-image {
  border: 1px solid var(--divider-color);
  border-radius: 3px;
  text-align: center;
  display: grid;
  grid-template: repeat(2, auto)/1fr;
  background: white;
}
.ip-image figcaption {
  padding: var(--half-gutter);
  padding-top: var(--quarter-gutter);
}
.ip-image-caption {
  margin-bottom: var(--half-gutter);
}
.ip-image .img-wrap {
  padding: var(--quarter-gutter);
}
.ip-image .img-wrap img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 200px;
  margin: 0 auto;
}

.ip-tab-panel {
  display: grid;
  grid-template: auto/repeat(4, 1fr);
  grid-gap: var(--gutter);
  background: #eee;
  width: 100%;
  padding: var(--gutter);
  padding-bottom: var(--gutter);
}
.ip-tab-panel.cropperPanel {
  display: inline-block;
  width: 100%;
}
.ip-tab-panel .button {
  padding: 4px !important;
  max-width: 100%;
}

.ip-footer {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: var(--gutter);
  border-top: 1px solid var(--divider-color);
}
.ip-footer .button.button--theme--negative {
  padding: 0 var(--half-gutter);
}

.login {
  display: grid;
  justify-items: center;
  align-items: center;
  height: auto;
  background: #eee url("/images/backgrounds/splash.jpg") center center no-repeat;
  background-size: cover;
}

.login__box {
  padding: calc(3 * var(--gutter)) var(--gutter) var(--gutter) var(--gutter);
  margin: var(--gutter) 0;
  overflow-x: hidden;
  overflow-y: auto;
  transition: all 300ms ease;
  width: clamp(300px, 500px, 50vw);
}
.login__box fieldset {
  padding: var(--gutter);
  background: var(--body-background-color);
}
.login__box .swap-pane {
  display: flex;
  justify-content: flex-end;
}
.login__box .swap-pane .swap-trigger {
  padding: 0.25em 1em;
  background: var(--color-grey);
  color: var(--body-background-color);
}
.login__box .swap-pane .swap-trigger.current {
  background: var(--body-background-color);
  color: var(--color-dark-grey);
}
.login__box .swap-pane .swap-trigger:not(:last-child) {
  margin-right: var(--quarter-gutter);
}
.login__box .form input[type=text],
.login__box .form input[type=password],
.login__box .form input[type=email] {
  background: var(--body-background-color);
  opacity: 1;
}
.login__box .form-area {
  display: grid;
  position: relative;
  text-align: center;
  width: 100%;
  border-radius: 3px;
  border-top-right-radius: 0;
}
.login__box .form-area h1 {
  display: block;
  width: 100%;
  margin-bottom: var(--gutter);
  font-size: var(--font-size-l);
}
.login__box .datum {
  width: 100%;
  display: block;
  margin: 0 auto 1rem;
  text-align: left;
}
.login__box .datum.control {
  text-align: center;
}
.login__box .datum.check {
  margin-bottom: var(--gutter);
  display: block;
  width: 100%;
}
.login__box .datum.check input[type=checkbox] {
  display: inline;
  float: left;
  clear: none;
}
.login__box .datum.check label {
  display: inline;
  float: left;
  clear: none;
  width: auto;
  padding-left: 1em;
}
.login__box .datum.datum--checkbox {
  margin-bottom: var(--half-gutter);
}
.login__box .datum.datum--checkbox input[type=checkbox] {
  accent-color: var(--mix-color);
  margin-right: 0.5em;
}
.login__box .datum.datum--checkbox input[type=checkbox] + .label-text {
  cursor: pointer;
}
.login__box .datum > label:first-child() {
  display: block;
  width: 100%;
  font-size: var(--font-size-l);
}
.login__box .datum input[type=text],
.login__box .datum input[type=password] {
  width: 100%;
  padding: 0.25em;
  height: 2.5em;
}

fieldset.registrationFieldset {
  display: none;
  opacity: 0;
}

.pagination {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin: calc(1.5 * var(--gutter)) 0;
}
.pagination li {
  list-style: none;
  flex: 0 0 auto;
}
.pagination li:not(:last-child) {
  margin-right: 0.75em;
}
.pagination .first,
.pagination .previous,
.pagination .next,
.pagination .last {
  font-weight: bolder;
}
.pagination .page.current {
  font-weight: bolder;
  padding: 0.25em;
  border-radius: 3px;
}

.progress-bar {
  width: 100%;
  display: inline-block;
}
* + .progress-bar, .progress-bar + * {
  margin-top: var(--gutter);
}
.progress-bar li {
  cursor: pointer;
}
.progress-bar li.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.progress-bar li.complete {
  opacity: 0.5;
}
.progress-bar li.active {
  font-weight: bolder;
}

.slider {
  margin-top: var(--homepage-slider-margin-top, 0);
}

.owl-stage {
  padding-bottom: var(--gutter);
  display: flex;
  align-items: center;
}

.slide {
  font-size: var(--homepage-slider-base-text-size, 1rem);
}
.slide img {
  border: 4px double var(--divider-color, #ddd);
  background: white;
  box-shadow: var(--homepage-slide-shadow, none);
}
.slide .button {
  padding: 0.25em 0.5em;
}
.slide.style-a {
  display: grid;
  grid-template-columns: var(--slide-style-a-column-widths-mobile, 1fr);
  grid-template-rows: repeat(2, auto);
  align-items: var(--slide-style-a-vertical-alignment, start);
  grid-gap: var(--gutter, 16px);
  border: var(--slide-border, none);
}
.slide.style-a .slide__image {
  margin-left: var(--quarter-gutter);
}
.slide.style-a .slide__image img {
  width: 100%;
}
.slide.style-a .slide__title .title {
  font-size: var(--font-size-l);
  font-weight: bolder;
  font-family: var(--text-heading-font-family);
  color: var(--homepage-section-title-color);
}
.slide.style-a .slide__message {
  max-width: 60ch;
}
.slide.style-a * + .slide__cta {
  margin-top: var(--half-gutter);
}
.slide.style-b {
  display: grid;
  justify-items: center;
}
.slide.style-b .slide__image {
  width: calc(100% - 0.75 * var(--gutter));
}
.slide.style-b .slide__image img {
  width: 100%;
}
.slide.style-b .slide__contents {
  color: var(--slide-style-b-content-text-color, black);
  background: var(--slide-style-b-content-background-color, white);
  border-radius: var(--slide-style-b-content-border-radius, 0);
}
.slide.style-b .slide__cta {
  display: grid;
  align-items: center;
  justify-items: center;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.slide.style-b .slide__message {
  padding: 0 0.5em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.slide.style-b .slide__message + .slide__cta {
  margin-top: 0;
}
.slide.style-b .slide__title {
  padding: 0.5em;
}
.slide.style-b .slide__title .title {
  font-size: var(--font-size-l);
  font-weight: bolder;
  font-family: var(--text-heading-font-family);
  color: var(--homepage-section-title-color);
}
.slide.style-b .slide__title + .slide__message, .slide.style-b .slide__title + .slide__cta {
  margin-top: 0;
}
.slide.style-c {
  display: grid;
  align-items: center;
  justify-items: center;
}
.slide.style-c .slide__contents {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.slide.style-c .slide__image {
  width: 100%;
}
.slide.style-c .slide__image img {
  width: 100%;
  object-fit: cover;
}

* + dl.specsheet, .product-landing * + dl, .order-view .order-details * + dl,
.order-view .billing-details * + dl,
.order-view .additional-info * + dl,
.order-view .shipping-details * + dl,
.order-view .shipment-details * + dl {
  margin-top: var(--gutter);
}

dl.specsheet, .product-landing dl, .order-view .order-details dl,
.order-view .billing-details dl,
.order-view .additional-info dl,
.order-view .shipping-details dl,
.order-view .shipment-details dl {
  display: grid;
  grid-template: auto/var(--specsheet-column-widths, 1fr 2fr);
  border: 1px solid var(--specsheet-border-color, var(--divider-color, #ddd));
  border-radius: var(--specsheet-border-radius, 5px);
}
dl.specsheet dt, .product-landing dl dt, .order-view .order-details dl dt,
.order-view .billing-details dl dt,
.order-view .additional-info dl dt,
.order-view .shipping-details dl dt,
.order-view .shipment-details dl dt {
  font-weight: var(--specsheet-label-font-weight, bolder);
  padding: 0 var(--half-gutter);
  background: var(--specsheet-label-background-color, var(--divider-color, #ddd));
  color: var(--specsheet-label-text-color, white);
}
dl.specsheet dd, .product-landing dl dd, .order-view .order-details dl dd,
.order-view .billing-details dl dd,
.order-view .additional-info dl dd,
.order-view .shipping-details dl dd,
.order-view .shipment-details dl dd {
  padding: 0 var(--half-gutter);
}
dl.specsheet dd:not(:last-child), .product-landing dl dd:not(:last-child), .order-view .order-details dl dd:not(:last-child),
.order-view .billing-details dl dd:not(:last-child),
.order-view .additional-info dl dd:not(:last-child),
.order-view .shipping-details dl dd:not(:last-child),
.order-view .shipment-details dl dd:not(:last-child) {
  border-bottom: 1px solid var(--specsheet-border-color, var(--divider-color, #ddd));
}

table {
  border-collapse: collapse;
  text-align: center;
  width: var(--table-width, 100%);
  font-size: var(--font-size-s);
}
table caption {
  color: var(--table-caption-color, var(--table-text-color));
  padding: 0 var(--half-gutter) var(--quarter-gutter) var(--half-gutter);
  font-size: var(--font-size-normal);
}
table td {
  padding: var(--quarter-gutter) var(--gutter);
  font-weight: normal;
}
table th {
  padding: var(--half-gutter) var(--gutter);
  font-weight: normal;
}
table thead th {
  background: var(--table-header-background-color, #555);
  color: var(--table-header-text-color, white);
}
table tfoot tr td {
  background: var(--table-footer-background-color, #555);
  color: var(--table-footer-text-color, white);
}
table tbody tr td {
  transition: all 300ms ease;
  background: var(--table-stripe-color, #eee);
  color: var(--table-text-color, var(--text-copy-color, black));
}
table tbody tr td:hover {
  cursor: arrow;
}
table tbody tr td:not(:first-child) {
  border-left: 1px solid var(--table-header-background-color, #555);
}
table tbody tr:hover td {
  background: var(--table-row-hover-background-color, #ddd);
}
table tbody tr:nth-child(even) td {
  transition: all 300ms ease;
  background: var(--table-stripe-alternate-color, #ccc);
}
table tbody tr:nth-child(even):hover td {
  background: var(--table-row-hover-alternate-background-color, #ddd);
}

ul.tab-list {
  list-style: none;
  padding: 0;
  margin: var(--gutter) 0;
  display: inline-block;
  width: 100%;
  border-bottom: 1px solid var(--tab-list-border-color, var(--divider-color, #999));
  font-weight: bolder;
}

li.tab {
  display: inline-block;
  padding: var(--quarter-gutter) var(--gutter);
  transition: all 150ms ease;
  border-bottom: 3px solid var(--body-background-color, white);
}
li.tab a {
  color: var(--tab-list-link-color, #444);
}
li.tab a:link {
  color: var(--tab-list-link-color, #444);
}
li.tab a:visited {
  color: var(--tab-list-link-color, #444);
}
li.tab a:hover {
  color: var(--tab-list-link-color, #444);
}
li.tab a:active {
  color: var(--tab-list-link-color, #444);
}
li.tab:not(:last-child) {
  margin-right: var(--gutter);
}
li.tab:hover {
  background: rgba(100, 100, 100, 0.2);
  border-bottom: 3px solid var(--tab-list-border-color-dark, #292123);
}
li.tab.active {
  border-bottom: 3px solid var(--tab-list-active-link-color, #292123);
}
li.tab.active a {
  color: var(--tab-list-active-link-color, #292123);
}
li.tab.active a:link {
  color: var(--tab-list-active-link-color, #292123);
}
li.tab.active a:visited {
  color: var(--tab-list-active-link-color, #292123);
}
li.tab.active a:hover {
  color: var(--tab-list-active-link-color, #292123);
}
li.tab.active a:active {
  color: var(--tab-list-active-link-color, #292123);
}

.accordion {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.accordion__panel__header {
  border-radius: 5px;
  border: 1px solid var(--divider-color);
  background: var(--table-header-background-color);
  padding: var(--half-gutter) var(--half-gutter);
}
.accordion__panel__header h3 {
  font-size: var(--font-size-normal);
  color: var(--table-header-text-color);
}
.accordion__panel__header h3 span {
  float: right;
}
.accordion__panel__content {
  padding: 0.5rem;
  display: none;
}
.accordion__panel.open .accordion__panel__header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.accordion__panel.open .accordion__panel__content {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
  border: 1px solid var(--divider-color);
}
.accordion__panel.open .accordion__panel__content .datum {
  margin: 0;
}
.accordion__panel.open .accordion__panel__content .datum label {
  padding-top: 0;
}
.accordion__panel.open .accordion__panel__content > .datum:not(:last-child) {
  border-bottom: 2px dashed var(--color-x-light-grey);
  padding-bottom: var(--gutter);
}

.header-wrapper {
  border-bottom: var(--header-border, none);
  margin-bottom: var(--gutter);
  padding-bottom: var(--gutter);
  background: var(--header-background-color, white);
}
.header-wrapper--home {
  margin-bottom: 0;
}

header.header--site {
  display: grid;
  --header-grid-mobile: auto / 1fr;
  grid-template: var(--header-grid-template-mobile, var(--header-grid-mobile));
  grid-template-areas: var(--header-grid-template-mobile, "logo" "search" "nav" "user-nav" "content");
  grid-gap: var(--gutter, 1rem);
  padding-top: var(--gutter, 1rem);
  justify-items: var(--header-justify-items-mobile, center);
  align-items: center;
  max-width: 100%;
}
header.header--site .header__content {
  grid-area: content;
}
header.header--site .logo-space {
  grid-area: logo;
  display: grid;
  justify-content: center;
  align-content: center;
}
header.header--site .logo-space img {
  max-width: 300px;
  max-height: 100px;
  object-fit: contain;
}
header.header--site .search-box {
  grid-area: search;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
}
header.header--site .search-box .search-form {
  display: grid;
  grid-template: auto/1fr auto;
}
header.header--site .search-box .search-form label {
  padding: 0;
}
header.header--site .search-box input[type=text] {
  margin: 0;
  min-width: 0;
  width: auto;
  padding: 0 var(--half-gutter);
  border-top: 1px solid var(--header-input-border-color, #000);
  border-left: 1px solid var(--header-input-border-color, #000);
  border-bottom: 1px solid var(--header-input-border-color, #000);
  scroll-margin-top: calc(2 * var(--gutter));
}
header.header--site .search-box a.search {
  display: inline-block;
  padding: 0 var(--half-gutter);
  margin-left: -3px;
  border: 1px solid var(--header-input-border-color, #000);
  background: white;
}
header.header--site .nav--site {
  grid-area: nav;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}
header.header--site .nav--site > * {
  flex: 0 0 100%;
  text-align: center;
}
header.header--site .nav--site.shown .nav-list {
  display: block;
  margin-top: var(--gutter);
}
header.header--site .nav--site .nav-list {
  display: none;
}
header.header--site .nav--user {
  grid-area: user-nav;
  justify-self: end;
  width: 100;
}
header.header--site .nav--user .nav-list {
  flex: 1 0 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  padding: var(--half-gutter) 0;
  gap: var(--gutter, 1rem);
}
header.header--site .nav--user .nav-list li {
  margin-bottom: calc(0.25 * var(--gutter));
}
header.header--site .nav--user .nav-list li + li {
  margin-top: 0;
}
header.header--site .nav--user .nav-list.horizontal li:not(:first-of-type) {
  margin-right: var(--gutter);
  margin-left: 0;
}
header.header--site .nav--user .nav-list.horizontal li {
  margin: 0;
}
header.header--site a {
  color: var(--header-link-color, blue);
}
header.header--site a:link {
  color: var(--header-link-color, blue);
}
header.header--site a:visited {
  color: var(--header-link-visited-color, purple);
}
header.header--site a:hover {
  color: var(--header-link-hover-color, blue);
}
header.header--site a:active {
  color: var(--header-link-active-color, blue);
}

.menu-toggle {
  font-size: var(--font-size-l);
  cursor: pointer;
  grid-area: menu-toggle;
}

.nav-list {
  list-style: none;
  margin-left: 0;
}
.nav-list li + li {
  margin-top: var(--gutter);
}

.nav-list > .has-children:first-child:hover > a {
  padding-left: 0;
  background: none !important;
  color: var(--header-link-color, #000);
}
.nav-list > .has-children:first-child:hover > a:link {
  color: var(--header-link-color, #000);
}
.nav-list > .has-children:first-child:hover > a:visited {
  color: var(--header-link-visited-color, #000);
}
.nav-list > .has-children:first-child:hover > a:hover {
  color: var(--header-link-hover-color, #555);
}
.nav-list > .has-children:first-child:hover > a:active {
  color: var(--header-link-active-color, #000);
}

.has-children:hover > a {
  color: var(--header-link-color, #000);
  background: var(--color-light-grey, #ddd) !important;
}
.has-children:hover > a:link {
  color: var(--header-link-color, #000);
}
.has-children:hover > a:visited {
  color: var(--header-link-visited-color, #000);
}
.has-children:hover > a:hover {
  color: var(--header-link-hover-color, #555);
}
.has-children:hover > a:active {
  color: var(--header-link-active-color, #000);
}
.has-children:hover > ul {
  display: block;
}
.has-children * {
  border-collapse: collapse;
}
.has-children ul {
  width: 100%;
  display: none;
  margin: 0;
  border: 1px solid var(--divider-color);
  background: rgba(150, 150, 150, 0.2);
  padding-top: 0.5em;
}
.has-children ul a:hover {
  background: var(--color-light-grey, #ddd) !important;
}
.has-children a {
  width: 100%;
  display: block;
  padding: 0 0.5em;
}
.has-children > a {
  position: relative;
}
.has-children > a::after {
  content: "\f078";
  font-family: "FontAwesome", system-ui;
  margin-left: 0.25em;
}
.has-children li {
  width: 100%;
  display: block;
}
.footer-wrapper {
  display: inline-block;
  width: 100%;
  position: relative;
  z-index: 0;
  height: auto;
  padding-top: var(--gutter);
  padding-bottom: var(--gutter);
  margin-top: var(--gutter);
  background: var(--footer-background-color, white);
  border-top: var(--footer-border, none);
}

footer.footer--site {
  display: grid;
  grid-template: var(--footer-grid-template, auto/1fr);
  grid-template-areas: var(--footer-grid-template-areas, "logo" "sm-links" "cc" "nav" "content" "copyright" "legal");
  grid-gap: var(--gutter);
  justify-items: center;
  align-items: start;
  width: 100%;
  color: var(--footer-text-color);
}
footer.footer--site a {
  color: var(--footer-link-color);
}
footer.footer--site a:link {
  color: var(--footer-link-color);
}
footer.footer--site a:visited {
  color: var(--footer-link-visited-color);
}
footer.footer--site a:hover {
  color: var(--footer-link-hover-color);
}
footer.footer--site a:active {
  color: var(--footer-link-active-color);
}
footer.footer--site .logo-space {
  grid-area: logo;
  display: grid;
  justify-items: center;
  align-items: center;
}
footer.footer--site .logo-space img {
  display: block;
  max-width: 200px;
  max-height: 100px;
  object-fit: contain;
}
footer.footer--site .logo-space a {
  display: inline-block;
}
footer.footer--site .sm-links {
  grid-area: sm-links;
}
footer.footer--site .footer__content {
  grid-area: content;
}
footer.footer--site .footer-nav {
  grid-area: nav;
  margin: 0;
}
footer.footer--site .footer-nav .nav-list {
  text-align: center;
  display: inline-block;
  width: 100%;
}
footer.footer--site .cc-list {
  grid-area: cc;
  margin: 0;
  list-style: none;
  display: flex;
  width: auto;
  justify-content: space-around;
}
footer.footer--site .cc-list li:not(:last-child) {
  margin-right: var(--gutter);
}
footer.footer--site .cc-list img {
  max-width: 32px;
  display: block;
}
footer.footer--site .copyright {
  grid-area: copyright;
}
footer.footer--site .legal {
  grid-area: legal;
}
footer.footer--site .copyright, footer.footer--site .legal {
  margin: 0;
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: var(--font-size-s);
}

body {
  min-height: 100vh;
  display: grid;
  grid-template: auto auto 1fr auto/1fr;
  position: relative;
  align-items: start;
}

a.skip-link {
  transition: all 300ms ease;
  position: absolute;
  top: var(--gutter);
  left: -100%;
  border: 2px solid black;
  background: white;
  padding: 0.5em 1em;
  box-shadow: 0 2px 5px var(--color-grey);
  font-size: var(--font-size-xxl);
}
a.skip-link:focus {
  left: 50%;
  transform: translatex(-50%);
  outline: none;
  text-decoration: none;
}

.container {
  padding: var(--container-padding-mobile, 0);
  display: grid;
  align-items: start;
  grid-gap: var(--gutter);
  margin: 0 auto;
  width: 100%;
}
.container#bodyContainer {
  background: var(--body-container-background-color, white);
}

.grid-2-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-2-col + * {
  margin-top: var(--gutter);
}

.grid-3-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-3-col + * {
  margin-top: var(--gutter);
}

.grid-4-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-4-col + * {
  margin-top: var(--gutter);
}

.grid-5-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-5-col + * {
  margin-top: var(--gutter);
}

.grid-6-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-6-col + * {
  margin-top: var(--gutter);
}

.grid-7-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-7-col + * {
  margin-top: var(--gutter);
}

.grid-8-col {
  display: grid;
  grid-template: auto/1fr !important;
  grid-gap: var(--gutter);
  align-items: start;
}
.grid-8-col + * {
  margin-top: var(--gutter);
}

.address-management .addresses__billing, .address-management .addresses__shipping {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.address-management .address {
  border: 1px solid var(--divider-color);
  padding: var(--gutter);
}
.address-management .address__controls {
  display: inline-block;
  width: 100%;
  margin: var(--half-gutter) 0 var(--quarter-gutter) 0;
}
.address-management .address__status {
  padding-bottom: var(--half-gutter);
  margin-bottom: var(--half-gutter);
  border-bottom: 1px solid var(--divider-color);
}
.address-management .address-tag {
  display: inline-block;
}
.address-management .badge {
  border-radius: 8px;
  padding: var(--quarter-gutter) var(--half-gutter);
  border: 1px solid var(--divider-color);
  font-size: var(--font-size-s);
}
.address-management .badge.default {
  background: var(--mix-color);
  color: white;
}
.address-management address {
  display: grid;
  grid-template: auto/1fr;
  padding-bottom: var(--gutter);
}
.address-management address .phone {
  margin-top: var(--half-gutter);
}
.address-management address .attention {
  margin: var(--half-gutter) 0;
}
.address-management .title {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
  align-items: center;
}
.address-management .title .filters {
  display: grid;
  grid-gap: var(--gutter);
  grid-template: auto/repeat(3, auto);
  align-items: center;
  justify-items: end;
}

.makeDefaultContainer {
  padding: var(--gutter) 0;
  display: grid;
  grid-template: auto/auto 1fr !important;
  align-items: center;
  grid-gap: var(--gutter) !important;
}

.customer-reports {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-gap: var(--gutter);
}
.customer-reports .reports {
  border: 1px solid var(--divider-color);
}
.customer-reports .report__category.active .reports {
  display: inline-block;
}
.customer-reports .report__category.active .show-active {
  display: inline-block;
}
.customer-reports .report__category.active .hide-active {
  display: none;
}
.customer-reports .report__category .show-when-active {
  display: none;
}
.customer-reports .report__category .hide-when-active {
  display: inline-block;
}
.customer-reports .report__category .reports {
  display: none;
  width: 100%;
}
.customer-reports .report-header {
  display: flex;
  flex-direction: row;
  flex-wrap: no-wrap;
  justify-content: flex-start;
  align-items: center;
  background: var(--table-header-background-color);
  color: var(--table-header-text-color);
  cursor: pointer;
  padding: var(--half-gutter) 0;
}
.customer-reports .report-header .icon {
  flex: 0 0 40px;
  text-align: center;
}
.customer-reports .report-header .name {
  flex: 1 0 100px;
}
.customer-reports .report-header .control {
  flex: 0 0 40px;
  text-align: center;
}
.customer-reports .report {
  width: 100%;
  position: relative;
}
.customer-reports .report.active .report-label {
  border: none !important;
  background: var(--color-x-light-grey);
}
.customer-reports .report.active .report-fields {
  display: inline-block;
}
.customer-reports .report.active .show-when-active {
  display: inline;
}
.customer-reports .report.active:not(:last-child) .report-label {
  border-bottom: 1px solid var(--color-black);
}
.customer-reports .report .show-when-active {
  display: none;
}
.customer-reports .report-label {
  line-height: 1.4;
  padding: var(--quarter-gutter) var(--half-gutter);
  cursor: pointer;
}
.customer-reports .report-fields {
  width: 100%;
  padding: var(--half-gutter);
  display: none;
  background: var(--color-x-light-grey);
  border: 1px solid var(--divider-color);
}
.customer-reports .controls {
  display: inline-block;
  width: 100%;
  padding: var(--half-gutter) 0;
  text-align: right;
}
.customer-reports .field-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  grid-gap: var(--half-gutter);
}
.customer-reports .field-set + * {
  margin-top: var(--half-gutter);
}
.customer-reports .field-set .field + * {
  margin-top: 0;
}
.customer-reports .field {
  width: 100%;
}
.customer-reports .field label {
  font-size: var(--font-size-s);
  line-height: 1.4;
  width: 100%;
  display: inline-block;
  padding-bottom: var(--quarter-gutter);
}
.customer-reports .field + * {
  margin-top: var(--half-gutter);
}
.customer-reports .field.currency {
  position: relative;
}
.customer-reports .field.currency::before {
  content: attr(data-currency-symbol);
  position: absolute;
  left: 0.25em;
  top: calc(100% - 1.45rem);
}
.customer-reports .field.currency input {
  padding-left: 0.75em;
}
.customer-reports .field input,
.customer-reports .field select {
  width: 100%;
}

select#reportSelector {
  max-width: 300px;
}

.oh-search {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.oh-search__fields {
  padding: var(--half-gutter);
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--quarter-gutter);
}
.oh-search__order-details tr td {
  display: block;
}
.oh-search__order-details tr td br {
  display: block;
}
.oh-search__cart .item__text {
  padding: 0 !important;
  margin: 0 !important;
}
.oh-search .cart__item {
  padding: var(--gutter);
}
.oh-search .cart__item br {
  display: block;
}

.oh-search a:link {
  color: var(--order-history-search-link-color);
}
.oh-search a:visited {
  color: var(--order-history-search-link-color);
}
.oh-search a:hover {
  color: var(--order-history-search-link-color-dark);
}
.oh-search a:active {
  color: var(--order-history-search-link-color);
}
.oh-search__fields {
  font-size: var(--font-size-s);
}
.oh-search__order-details {
  border: 1px solid var(--color-light-grey);
  --table-header-background-color: var(--color-light-grey);
  --table-stripe-color: var(--color-x-light-grey);
  --table-row-hover-background-color: var(--color-x-light-grey);
  line-height: 1.4;
  text-align: center;
}
.oh-search__cart .item__controls {
  margin-top: var(--gutter);
}
.oh-search__cart .item__info {
  padding: var(--gutter);
}
.oh-search__cart .name h2 {
  font-size: var(--font-size-l);
}
.order-history br {
  display: none;
}
.order-history .form {
  display: grid;
  grid-template: repeat(2, auto)/repeat(2, 1fr);
  grid-template-areas: "label label" "input input" "cta viewall";
  grid-row-gap: var(--half-gutter);
  justify-items: start;
  max-width: 300px;
}
.order-history .form label {
  grid-area: label;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.order-history .form input {
  grid-area: input;
  margin: 0 !important;
}
.order-history .form .button {
  grid-area: cta;
  margin: 0 !important;
}
.order-history .form a {
  grid-area: viewall;
  margin: 0;
  justify-self: end;
}
.order-history .oh-search__result {
  padding-top: var(--gutter);
}

.profile-content .title {
  border-bottom: 1px solid var(--divider-color);
  margin-bottom: var(--gutter);
  width: 100%;
}
.profile-content .title h1, .profile-content .title h2, .profile-content .title h3, .profile-content .title h4, .profile-content .title h5, .profile-content .title h6 {
  font-size: var(--h4-font-size, 1.44rem);
}
.profile-content .control {
  display: grid;
  justify-items: end;
  margin-top: var(--gutter);
}

.loader-small {
  height: 16px !important;
  width: 16px !important;
  display: block;
  margin: 0 auto;
}

.cart {
  display: grid;
  grid-gap: var(--gutter);
}
.cart .page__title {
  margin: 0;
}

.cart__contents {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.cart__contents a:not(.button) {
  color: var(--cart-link-text-color, var(--link-text-color));
}
.cart__contents a:not(.button):link {
  color: var(--cart-link-text-color, var(--link-text-color));
}
.cart__contents a:not(.button):visited {
  color: var(--cart-link-text-color, var(--link-text-color));
}
.cart__contents a:not(.button):hover {
  color: var(--cart-link-text-color, var(--link-text-color));
}
.cart__contents a:not(.button):active {
  color: var(--cart-link-text-color, var(--link-text-color));
}

.cart__item {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
  align-items: start;
}
.cart__item .item__preview img {
  display: block;
  box-shadow: var(--shadow-standard);
}
.cart__item .item__details {
  display: grid;
  grid-template: auto/1fr;
  grid-template-areas: "text" "pricing" "controls";
  font-size: var(--font-size-s);
  grid-gap: var(--gutter);
  border-radius: 3px;
}
.cart__item .item__details h2 {
  font-size: var(--font-size-normal);
}
.cart__item .item__details .item__text {
  background: var(--color-x-light-grey);
  border-radius: 3px;
  padding: var(--half-gutter);
  box-shadow: var(--shadow-standard);
  grid-area: text;
}
.cart__item .item__details .item__text .item__info {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--half-gutter);
}
.cart__item .item__details .item__text .item__info a {
  justify-self: start;
  border: 1px solid var(--button-primary-border-color);
  padding: 0.25em 0.5em;
  background: var(--button-primary-background-color);
  border-radius: 3px;
  font-size: var(--font-size-s);
}
.cart__item .item__details .item__controls {
  grid-area: controls;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.cart__item .item__details .item__controls .button {
  padding: 0.25em 0.75em;
  font-size: var(--font-size-s);
}
.cart__item .item__details .item__controls .button:not(:last-child) {
  margin-right: var(--gutter);
}
.cart__item .item__details .item__pricing {
  grid-area: pricing;
  display: grid;
  justify-self: end;
  grid-template: auto/300px;
  justify-items: end;
  grid-gap: var(--gutter);
}
.cart__item .item__details .item__pricing .quantity {
  width: 100%;
  display: flex;
}
.cart__item .item__details .item__pricing .quantity label {
  font-weight: bolder;
}
.cart__item .item__details .item__pricing .quantity input {
  text-align: right;
}
.cart__item .item__details .item__pricing .quantity .datum {
  display: grid;
  grid-template: auto/1fr 1fr;
  grid-gap: var(--gutter);
  align-items: center;
}
.cart__item .item__details .item__pricing dl {
  display: grid;
  grid-template: auto/1fr;
  justify-items: end;
  line-height: 1.2;
  grid-gap: var(--quarter-gutter);
  width: 100%;
}
.cart__item .item__details .item__pricing dl div {
  display: grid;
  grid-template: auto/150px 150px;
}
.cart__item .item__details .item__pricing dl dd {
  text-align: right;
}

.cart__item.bundle {
  grid-template: auto/1fr;
  grid-template-areas: "preview" "details" "pricing" "controls";
}
.cart__item.bundle .item__controls,
.cart__item.bundle .item__details,
.cart__item.bundle .item__info,
.cart__item.bundle .item__preview,
.cart__item.bundle .item__pricing,
.cart__item.bundle .item__text {
  display: inline-block;
  grid-area: unset;
}
.cart__item.bundle .item__text {
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
}
.cart__item.bundle .item__preview {
  grid-area: preview;
  display: grid;
  justify-items: center;
}
.cart__item.bundle .item__preview img {
  max-width: 50vw;
}
.cart__item.bundle .item__details {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
  grid-area: details;
  padding: 0;
  background: none;
}
.cart__item.bundle .item__pricing {
  display: grid;
  grid-template: auto/300px;
  grid-gap: var(--gutter);
  grid-area: pricing;
  justify-items: end;
}
.cart__item.bundle .item__pricing .quantity {
  width: 100%;
  display: flex;
}
.cart__item.bundle .item__pricing .quantity label {
  font-weight: bolder;
}
.cart__item.bundle .item__pricing .quantity input {
  text-align: right;
}
.cart__item.bundle .item__pricing .quantity select {
  justify-self: flex-end;
}
.cart__item.bundle .item__pricing .quantity .datum {
  display: grid;
  grid-template: auto/repeat(2, 1fr);
  grid-gap: var(--gutter);
  align-items: center;
}
.cart__item.bundle .item__pricing dl {
  display: grid;
  grid-template: auto/1fr;
  justify-items: end;
  width: 100%;
}
.cart__item.bundle .item__pricing dl div {
  display: grid;
  grid-template: auto/150px 150px;
}
.cart__item.bundle .item__pricing dl div dd {
  text-align: right;
}
.cart__item.bundle .item__controls {
  grid-area: unset;
  justify-self: end;
}
.cart__item.bundle .item__controls .button {
  padding: 0.25em 0.75em;
  font-size: var(--font-size-s);
}
.cart__item.bundle .item__controls .button:not(:last-child) {
  margin-right: var(--gutter);
}
.cart__item.bundle .bundle-wrap {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--half-gutter);
}
.cart__item.bundle .bundle__items {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.cart__item.bundle .bundle__item {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
  background: var(--color-x-light-grey);
  border-radius: 3px;
  box-shadow: var(--shadow-standard);
  padding: var(--half-gutter);
  align-items: start;
}
.cart__item.bundle .bundle__item__name {
  font-weight: bolder;
}
.cart__item.bundle .bundle__info {
  display: grid;
  grid-template: auto/1fr 5fr;
  grid-gap: var(--gutter);
}
.cart__item.bundle .bundle__cta {
  justify-self: start;
}

.cart__footer__info {
  display: grid;
  grid-template: auto/auto;
  grid-template-areas: "messaging" "pricing" "controls";
  grid-gap: var(--gutter);
  align-items: start;
  padding-top: var(--gutter);
  border-top: 1px solid var(--divider-color);
}
.cart__footer__info .cart__pricing {
  grid-area: pricing;
}
.cart__footer__info .flash {
  grid-area: messaging;
  margin: 0;
}
.cart__footer__info .cart__controls {
  grid-area: controls;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
}
.cart__footer__info .cart__controls .button {
  flex: 0 0 100%;
  margin-bottom: var(--gutter);
  margin-right: 0;
  text-align: center;
}
.cart__footer__info dl {
  display: grid;
  grid-template: auto/2fr 175px;
  grid-gap: var(--half-gutter);
}
.cart__footer__info dt {
  font-weight: bolder;
  text-align: right;
}
.cart__footer__info dt label {
  font-weight: bolder;
}
.cart__footer__info dt label::before {
  vertical-align: baseline;
  margin-left: 0.25em;
}
.cart__footer__info dd {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.cart__footer__info dd span {
  width: 100%;
}
.saved-carts table .button {
  padding: var(--quarter-gutter) var(--half-gutter);
}
.saved-cart .cart__item .item__pricing {
  grid-template: auto/1fr;
  width: 100%;
  align-items: start;
}
.saved-cart .cart__item .item__pricing dl {
  display: grid;
  grid-template: auto/auto auto;
  width: 100%;
}

.ogrid {
  position: relative;
}
.ogrid__products {
  display: grid;
  grid-template: auto/1fr;
  grid-row-gap: calc(1.5 * var(--gutter));
  width: 100%;
}
.ogrid .product {
  display: grid;
  grid-gap: var(--gutter);
  grid-template: auto/1fr;
}
.ogrid .product .info {
  display: grid;
  grid-template: auto/1fr 3fr;
  grid-gap: var(--gutter);
}
.ogrid .product .info .text .title {
  font-weight: bolder;
  display: block;
}
.ogrid .product .info .text .description {
  font-size: var(--font-size-s);
}
.ogrid__toolbar {
  display: flex;
  justify-content: flex-end;
  margin: var(--gutter) 0;
  background: rgba(255, 255, 255, 0.8);
}
.ogrid__toolbar--top {
  margin-top: 0;
  position: sticky;
  top: var(--gutter);
}
.ogrid__toolbar--bottom {
  margin-bottom: 0;
}

table.table--ogrid tr, table.table--ogrid td {
  border: none;
}
table.table--ogrid thead tr {
  background: none;
}
table.table--ogrid thead tr th {
  border: none;
  background: none;
  color: var(--text-copy-color, black);
  padding-top: 0;
  font-weight: bolder;
  border-bottom: 1px solid var(--divider-color, #ddd);
}
table.table--ogrid tbody {
  font-size: var(--font-size-s);
}
table.table--ogrid tbody tr td {
  border: none;
}
table.table--ogrid tbody tr:nth-child(even) td {
  background: none;
}

th.input--ogrid,
td.input--ogrid {
  text-align: right;
  width: 80px;
}
th.price--ogrid,
td.price--ogrid {
  width: 90px;
  text-align: right;
}

input[type=number].input--ogrid,
input[type=text].input--ogrid {
  width: 80px;
  font-size: var(--font-size-s);
  text-align: right;
}

select.select--ogrid {
  width: 80px;
  font-size: var(--font-size-s);
  text-align: left;
  border-color: #CCCCCC;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  padding-right: 1em;
}

.input--ogrid + .hint,
.select--ogrid + .hint {
  font-size: var(--font-size-s);
  color: #999;
}

.toggleWidget {
  display: inline-block;
  margin-bottom: var(--gutter);
}
.toggleWidget input[type=checkbox] {
  display: none;
}
.toggleWidget input[type=checkbox]:not(:checked) ~ label .ball {
  transform: translate(2px, -50%);
  background: #B5B6B9;
}
.toggleWidget input[type=checkbox]:checked ~ label .toggle .track .ball {
  transform: translate(8px, -50%);
  background: #71CB54;
}
.toggleWidget input[type=checkbox]:checked ~ label .track {
  border-color: #71cb54;
}
.toggleWidget label {
  display: inline-block;
  position: relative;
  padding: 0 0 0 42px;
  cursor: pointer;
  font-weight: bolder;
}
.toggleWidget .text {
  font-size: var(--font-size-s);
}
.toggleWidget .toggle {
  display: block;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}
.toggleWidget .track {
  border: 2px solid var(--divider-color);
  background-color: #fff;
  height: 16px;
  width: 24px;
  border-top-left-radius: 80px;
  border-bottom-left-radius: 80px;
  border-top-right-radius: 80px;
  border-bottom-right-radius: 80px;
}
.toggleWidget .ball {
  display: block;
  position: absolute;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  top: 50%;
  transition: all 150ms ease;
}

.products {
  display: inline-block;
  width: 100%;
}

.products.products--grid {
  width: 100%;
  display: grid;
  grid-template: auto/repeat(var(--category-products-per-row-mobile, 1), 1fr);
  padding: 0 var(--gutter);
  grid-gap: var(--gutter);
}
.products.products--grid .product {
  --default-category-product-grid-template: auto 1fr / 1fr;
  display: grid;
  grid-template: var(--category-product-grid-template-mobile, var(--default-category-product-grid-template));
  grid-template-areas: "image" "info";
  grid-gap: var(--gutter);
  font-size: var(--font-size-s);
}
.products.products--grid .product__image .img-wrap img {
  width: 100%;
}
.products.products--grid .product__image a {
  width: 100%;
  display: block;
}
.products.products--grid .product__image img {
  width: auto;
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.products.products--grid .product__info {
  display: grid;
  grid-template: auto 1fr auto/1fr;
}
.products.products--grid .product__info * {
  font-weight: lighter;
}
.products.products--grid .product__cta {
  display: var(--product-cta-display, grid);
  text-align: right;
  width: 100%;
  border-top: 1px solid #999;
  padding-top: var(--half-gutter);
  margin-bottom: calc(2 * var(--gutter));
  align-items: center;
  justify-items: var(--category-product-cta-alignment, end);
}
.products.products--grid .product__cta .button {
  display: inline-block;
  margin: 0;
  width: auto;
  text-align: center;
}
.products.products--grid .product__copy {
  padding: var(--half-gutter) 0;
}
.products.products--grid .product__copy p {
  font-size: var(--font-size-s);
  overflow: hidden;
}
.products.products--grid .product__title {
  font-size: var(--category-product-name-font-size, 1.2em);
  text-align: var(--category-product-name-text-alignment, left);
}
.products.products--grid .product__title h3 {
  font-size: inherit;
}

.products.products--list {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.products.products--list h3 {
  font-size: var(--font-size-normal);
}
.products.products--list .product {
  display: grid;
  grid-template: auto/1fr 4fr;
  grid-gap: var(--gutter);
  padding: var(--half-gutter);
  border: 1px dashed var(--color-x-light-grey);
}
.products.products--list .product__copy {
  font-size: var(--font-size-s);
}
.products.products--list .product .button {
  font-size: var(--font-size-s);
  padding: var(--quarter-gutter) var(--half-gutter);
}
.products.products--list .product .img-wrap {
  display: grid;
  align-items: center;
  justify-items: center;
}
.products.products--list .product .img-wrap img {
  max-height: 100px;
  object-fit: contain;
}

.page__text + .categories {
  border-top: 1px solid var(--divider-color, #ddd);
  padding-top: var(--gutter);
}

.categories {
  display: grid;
  grid-template: auto/repeat(var(--categories-per-row-small, 1), 1fr);
  grid-gap: var(--gutter);
}
.categories + .categories.subcategories {
  display: inline-block;
  width: 100%;
}
* + .categories, .categories + * {
  margin-top: var(--gutter);
}
.categories + .products {
  margin-top: var(--gutter);
  padding-top: var(--gutter) !important;
}

.category {
  display: grid;
  grid-template: auto auto 1fr/1fr;
  grid-template-areas: var(--categories-subcategory-layout, "title" "image" "info");
  grid-gap: var(--gutter);
}
.category .category__title {
  grid-area: title;
  text-align: var(--category-title-text-alignment, left);
  font-size: var(--category-title-font-size, 1.2rem);
  color: var(--category-title-text-color, black);
}
.category .category__title h3 {
  font-size: inherit;
  color: var(--category-title-text-color, black);
}
.category .category__title a:link, .category .category__title a:visited, .category .category__title a:hover, .category .category__title a:active {
  color: var(--category-title-text-color, black);
}
.category__image {
  grid-area: image;
}
.category__image a {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.category__image img {
  max-width: 100%;
  height: auto;
  width: auto;
  margin: 0 auto;
  display: block;
}
.category__info {
  grid-area: info;
  display: grid;
  grid-template: 1fr auto/1fr;
  grid-gap: var(--gutter);
}
.category__cta {
  display: var(--category-cta-display, grid);
  align-items: center;
  justify-items: var(--category-cta-horizontal-aligment, center);
}
.category__copy {
  font-size: var(--font-size-s);
}
.category a {
  color: var(--color-dark-grey);
}
.category a:link {
  color: var(--color-dark-grey);
}
.category a:visited {
  color: var(--color-dark-grey);
}
.category a:hover {
  color: var(--color-grey);
}
.category a:active {
  color: var(--color-dark-grey);
}

.checkout {
  display: grid;
  grid-template: auto auto/1fr;
  gap: calc(2 * var(--gutter));
}
.checkout__content {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--gutter);
  align-items: start;
}
.checkout fieldset {
  padding: 0;
}
.checkout .checkout-panes {
  flex: 0 0 100%;
}
.checkout .order-overview {
  background: HSL(var(--theme-h) calc(0.5 * var(--theme-s)) calc(1.25 * var(--theme-l))/5%);
  border: 1px solid var(--color-light-grey);
  border-radius: 3px;
  padding: var(--half-gutter);
}
.checkout .order-overview .oo-values {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--half-gutter);
}
.checkout .order-overview .oo-values.paymentSummary {
  grid-template: auto/auto 1fr;
  gap: var(--half-gutter) var(--gutter);
  font-size: var(--font-size-s);
}
.checkout .order-overview .oo-values.paymentSummary dt {
  text-align: left;
}
.checkout .order-overview .oo-values.paymentSummary dd {
  text-align: right;
}
.checkout .order-overview .oo-title {
  padding-bottom: var(--quarter-gutter);
  border-bottom: 2px solid var(--color-x-light-grey);
  margin-bottom: var(--half-gutter);
}
.checkout .order-overview .oo-title h3 {
  color: var(--mix-color);
  font-size: var(--font-size-l);
  text-align: center;
}
.checkout .order-overview .oo-tuple__label {
  font-weight: normal !important;
  color: var(--mix-color);
}
.checkout .order-overview .oo-element {
  display: grid;
  grid-template: auto/auto 1fr;
  gap: var(--gutter);
  width: 100%;
  justify-items: end;
  padding-left: var(--half-gutter);
  padding-right: var(--half-gutter);
  font-size: var(--font-size-s);
}
.checkout .order-overview .oo-element + #orderTotal {
  border-top: 2px solid var(--color-x-light-grey);
  padding-top: var(--half-gutter);
  font-weight: bolder;
}
.checkout .order-overview .oo-element + #orderTotal .oo-tuple__label {
  font-weight: bolder;
}
.checkout .continue-cta {
  display: grid;
  justify-items: center;
  margin-top: var(--gutter);
  padding-bottom: var(--quarter-gutter);
}
.checkout .continue-cta .button {
  text-align: center;
  font-size: var(--font-size-s);
  line-height: 1;
}
.checkout h3 {
  font-size: var(--font-size-l);
}
.checkout .grid-2-col .datum {
  margin: 0;
}
.checkout #budgetFormContainer {
  align-items: end;
}
.checkout .cart + .row {
  border-top: 1px solid var(--color-x-light-grey);
  padding-top: var(--gutter);
  margin-top: var(--gutter);
}
.checkout .cart__item .item__pricing {
  grid-template: auto/1fr;
  width: 100%;
  align-items: start;
}
.checkout .cart__item .item__pricing dl {
  display: grid;
  grid-template: auto/auto auto;
  width: 100%;
}
.checkout h2 + *, .checkout h3 + *, .checkout h4 + * {
  margin-top: var(--half-gutter);
}

.split-ship__group {
  display: inline-block;
}
.split-ship__group + * {
  margin-top: var(--gutter);
}
.split-ship__item {
  display: grid;
  grid-template: 1fr 1fr/1fr;
}
.split-ship__item + .split-ship__item {
  margin-top: var(--gutter);
}
.split-ship .group__items {
  background: var(--split-ship-background-color, #eee);
  border: 1px solid var(--divider-color);
  margin-top: var(--gutter);
  padding: 1em;
  border-radius: 3px;
}
.split-ship .flyout, .table--item-scheduling .flyout {
  cursor: help;
}
.split-ship .flyout__wrapper, .table--item-scheduling .flyout__wrapper {
  position: relative;
  visibility: hidden;
  margin: -1px;
  height: 1px;
}
.split-ship .item__details {
  display: grid;
  grid-template: 1fr 1fr/1fr;
}
.split-ship .item__flyout, .table--item-scheduling .item__flyout {
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.5em;
  background: white;
  border: 1px solid var(--divider-color, #ddd);
  box-shadow: 2px 2px 3px #666;
  border-radius: 3px;
}
.split-ship .item__quantity {
  margin-top: calc(-2 * var(--gutter));
}
.split-ship .item__actions {
  margin-top: var(--gutter);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.split-ship .item__actions * {
  flex: 1 1 auto;
}
.split-ship .item__actions * + * {
  margin-left: var(--gutter);
}
.split-ship .item__actions input {
  flex: 1 2 auto;
  background: white;
}
.split-ship .item__actions button.button {
  margin-left: var(--gutter) !important;
  line-height: 1.4;
}
.split-ship .shipGroupAddressSelects {
  display: flex;
}
.split-ship .shipGroupAddressSelects select {
  flex: 1 1 auto;
  margin-right: var(--gutter);
}
.split-ship .shipGroupAddressSelects button {
  flex: 0 1 auto;
}

.shipgroup--method {
  padding-bottom: var(--gutter);
  margin-bottom: var(--gutter);
}
.shipgroup--method table {
  border-top: 1px dashed var(--divider-color);
  border-bottom: 1px dashed var(--divider-color);
}
.shipgroup--method button + table {
  margin-top: var(--gutter);
  border-top: 1px dashed var(--divider-color);
}

.shipgroup--address h4 + address {
  margin-top: var(--gutter);
}

table.shipping-options caption {
  font-weight: bolder;
  text-align: left;
  padding-bottom: 0.5em;
}
table.shipping-options tbody tr td {
  width: auto;
  border: none !important;
  padding-top: 0;
}

.shipping-details p {
  margin-top: var(--gutter);
}

h3.removeforsingle + h4 {
  display: inline-block;
  width: 100%;
  margin-top: var(--half-gutter);
}

#copyShippingCTA {
  padding: var(--gutter) 0;
  display: grid;
  grid-template: auto/auto 1fr !important;
  align-items: center;
  gap: var(--gutter) !important;
}

.multi-item-directive {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--gutter);
}
.multi-item-directive h1 {
  font-size: var(--font-size-xl);
}
.multi-item-directive .progress-bar {
  margin-top: 0;
}

.configuration-wrapper {
  --form-label-font-weight: var(--customization-label-font-weight);
  display: grid;
  grid-template: auto/1fr;
  grid-template-areas: "title" "budget" "config" "configfinish" "preview";
  gap: var(--gutter);
  margin-top: var(--gutter);
}
.configuration-wrapper h1 {
  font-size: var(--font-size-xl);
}
.configuration-wrapper .configuration__title {
  grid-area: title;
}
.configuration-wrapper #customizationBudgetDisplay {
  grid-area: budget;
}
.configuration-wrapper #configureDiv {
  grid-area: config;
}
.configuration-wrapper .configure__finish {
  grid-area: configfinish;
  display: grid;
  grid-template: auto/1fr;
  gap: var(--gutter);
  padding-top: var(--gutter);
  border-top: 1px solid var(--divider-color);
}
.configuration-wrapper .configure__finish h2 {
  font-size: var(--font-size-l);
  padding: 0 !important;
  margin: 0 !important;
}
.configuration-wrapper .configure__finish .radio-set .data,
.configuration-wrapper .configure__finish .check-set .data {
  background: var(--color-x-light-grey);
  padding: var(--half-gutter);
  border-radius: 3px;
}
.configuration-wrapper .configure__finish .radio-set .datum,
.configuration-wrapper .configure__finish .check-set .datum {
  grid-template: auto/auto 1fr;
  gap: calc(0.75 * var(--gutter));
}
.configuration-wrapper .config__preview {
  grid-area: preview;
  z-index: 0;
}
.configuration-wrapper .config__preview iframe {
  position: relative !important;
  top: unset !important;
  left: unset !important;
  right: unset !important;
  bottom: unset !important;
  border: 1px solid var(--divider-color);
}
.configuration-wrapper .config__preview #followme {
  position: sticky;
  top: var(--gutter);
  width: 100%;
  display: grid;
  align-items: start;
  justify-items: center;
  z-index: 9999;
  height: auto !important;
  margin-top: 0 !important;
}
.configuration-wrapper .config__preview #followme #pfActions {
  display: grid;
  align-items: start;
  justify-items: center;
}
.configuration-wrapper .config__preview #followme #pfPreviews {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--gutter);
}
.configuration-wrapper .config__preview #followme #pfPreviews a {
  padding: var(--gutter) 0;
  background: var(--customization-preview-background);
}
.configuration-wrapper .config__preview #followme #pfPreviews a .pfPreview {
  display: block;
  width: 100%;
  max-height: var(--customization-preview-max-height, 60vh);
  object-fit: contain;
  border: var(--customization-preview-border) !important;
}
.configuration-wrapper .datum {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--quarter-gutter);
}

.fieldCaption {
  font-weight: var(--customization-label-font-weight);
}

.checkboxListCaption {
  font-weight: var(--customization-label-font-weight);
}
.checkboxListCaption + .fieldContainer {
  background: var(--color-x-light-grey);
  padding: var(--half-gutter) var(--gutter);
  border-radius: 3px;
}

#colorholder,
#pantoholder {
  display: grid;
  grid-template: auto/repeat(2, 1fr);
  gap: var(--gutter);
  align-items: start;
  padding-top: var(--quarter-gutter);
}
#colorholder br,
#pantoholder br {
  display: none;
}
#colorholder .colorPick,
#colorholder .pantoPick,
#pantoholder .colorPick,
#pantoholder .pantoPick {
  display: grid;
  grid-template: auto auto/1fr;
  gap: var(--gutter);
  align-items: start;
  justify-items: center;
  font-size: var(--font-size-s);
  padding: var(--half-gutter);
}
#colorholder .colorPick:hover,
#colorholder .pantoPick:hover,
#pantoholder .colorPick:hover,
#pantoholder .pantoPick:hover {
  background: var(--color-x-light-grey);
  border: 1px dotted var(--color-light-grey);
  cursor: pointer;
}
#colorholder .colorPick.itemSelected,
#colorholder .pantoPick.itemSelected,
#pantoholder .colorPick.itemSelected,
#pantoholder .pantoPick.itemSelected {
  background: var(--color-x-light-grey);
  box-shadow: var(--shadow-standard);
  border: 1px solid var(--color-light-grey);
  border-radius: 5px;
}
#colorholder .colorItem,
#colorholder .pantoItem,
#pantoholder .colorItem,
#pantoholder .pantoItem {
  display: inline-block;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
}

.dataOptions__rowPreview {
  display: inline-block !important;
}
.dataOptions__rowPreview .button {
  width: 120px !important;
  padding: 0.25em 0.5em;
  font-size: var(--font-size-s);
}
.dataOptions .dataOptions__controls {
  width: 100% !important;
  display: grid !important;
  grid-template: auto/1fr;
  gap: var(--gutter);
  border: none !important;
  padding: 0 !important;
}
.dataOptions .dataOptions__controls button {
  float: left !important;
  clear: none;
  display: inline-block;
}
.dataOptions .dataOptions__controls button:not(:first-of-type) {
  margin-left: var(--gutter);
}
.dataOptions .dataOptions__controls .row {
  margin: 0 !important;
}
.dataOptions .dataTable {
  margin-top: var(--gutter) !important;
}
.dataOptions .previewContainer {
  margin: 0 var(--gutter);
  padding: var(--gutter);
  background: var(--color-x-light-grey);
}

.fontholder {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--half-gutter);
}

#bankRef {
  display: grid;
  grid-template: auto/auto 1fr;
  gap: var(--half-gutter) var(--gutter);
  align-items: center;
  background: var(--color-x-light-grey);
  padding: var(--half-gutter);
  border-radius: 3px;
  box-shadow: var(--shadow-standard);
}
* + #bankRef {
  margin-top: var(--gutter);
}
#bankRef img {
  width: 60px;
}
#bankRef br {
  display: none;
}
#bankRef .datum {
  grid-column: 1/3;
}

.pfSelect ~ p {
  font-size: var(--font-size-s) !important;
  padding: 0 !important;
  margin-top: var(--gutter);
}

.pfStatic {
  font-style: italic;
  padding: var(--half-gutter);
  font-size: var(--font-size-s);
  background: var(--color-x-light-grey);
  border-radius: 3px;
}

.pf-style {
  display: flex;
}
.pf-style label {
  flex: 0 1 auto;
  justify-items: flex-start;
  align-items: center;
}
.pf-style label:not(:last-child) {
  margin-right: var(--gutter);
}
.pf-style label .fa {
  margin-left: var(--quarter-gutter);
}
.pf-style label .fa::before {
  vertical-align: middle;
}

.pfText ~ span:not(.hint) {
  font-size: var(--font-size-s);
  display: inline-block;
  padding: var(--quarter-gutter) var(--half-gutter);
  background: var(--color-info);
  border-radius: 3px;
  margin-top: var(--quarter-gutter);
  margin-left: var(--half-gutter);
}
.pfText ~ span .charCounter {
  font-weight: bolder;
}

.logoOptions .launch-cropper {
  margin-left: calc(0.75 * var(--gutter));
}
.logoOptions .previewContainer {
  margin-top: var(--gutter);
  padding: var(--gutter);
  background: var(--color-x-light-grey);
  border-radius: 3px;
  display: grid;
  grid-template: auto/1fr;
  grid-template-areas: "logo" "name" "caption" "controls";
  justify-items: center;
  grid-row-gap: var(--gutter);
  align-items: center;
}
.logoOptions br {
  display: none;
}
.logoOptions .logopreview {
  grid-area: logo;
  display: grid;
  justify-items: start;
  align-items: start;
}
.logoOptions .logopreview img {
  width: 100px;
}
.logoOptions .previewCaption {
  grid-area: caption;
  margin: 0 !important;
  font-size: var(--font-size-s) !important;
  display: flex;
  align-items: center;
}
.logoOptions .previewCaption img {
  margin: 0 var(--gutter) 0 0 !important;
  float: unset !important;
}
.logoOptions .logoNameContainer {
  grid-area: name;
  margin: 0 !important;
  font-size: var(--font-size-s) !important;
}
.logoOptions button {
  grid-area: controls;
}

.cmyk-wrapper .datum {
  border: none !important;
  padding-bottom: 0 !important;
}

.pfTable {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--gutter) !important;
  background: var(--color-x-light-grey);
  padding: var(--half-gutter);
  box-shadow: var(--shadow-standard);
}
.pfTable .fields {
  display: grid;
  grid-template: auto/1fr;
  gap: var(--gutter);
}
.pfTable .fields .field .hint {
  font-size: var(--font-size-s);
  display: inline-block;
  padding: var(--quarter-gutter) var(--half-gutter);
  background: var(--color-info);
  border-radius: 3px;
  margin-top: var(--quarter-gutter);
}
.pfTable table {
  border: 1px solid var(--table-border-color);
}

#savedConfigNameContainer,
#savedConfigExistingConfigsContainer {
  padding: 0 !important;
}

.multipage-preview {
  display: grid;
  grid-template: auto/repeat(3, 1fr);
  gap: var(--gutter);
  max-height: clamp(200px, 25vh, 300px);
  overflow-y: auto;
  align-items: start;
  justify-items: start;
  border: 1px dotted var(--color-x-light-grey);
  overscroll-behavior: contain;
  margin: 0;
  padding: var(--quarter-gutter);
}
.multipage-preview li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.multipage-preview:empty {
  display: none;
}

#configLoading {
  display: inline-block;
}

.contact {
  margin-top: var(--gutter);
}
.contact__title h1 {
  font-size: var(--font-size-xl);
}
.contact .wrap {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.contact iframe {
  border: none;
  padding: 0;
  background: none;
}
.contact .map iframe {
  box-shadow: var(--shadow-standard);
  border: none;
  outline: none;
  background: var(--color-x-light-grey);
  padding: var(--gutter);
  border-radius: 3px;
}
.contact #contactRecaptchaLabel {
  display: none;
}

.dam {
  position: relative;
}
.dam__header {
  display: grid;
  width: 100%;
  grid-template: 1fr/1fr auto;
  padding-top: var(--gutter);
  border-bottom: 1px solid var(--color-light-grey);
  align-items: start;
  margin-bottom: var(--gutter);
}
.dam__header h1 {
  line-height: 1;
}
.dam__search {
  text-align: right;
  display: grid;
  grid-template: auto/auto auto;
  grid-gap: var(--gutter, 1em);
  justify-items: center;
}
.dam__search label {
  font-weight: bolder;
}
.dam__search input[type=text] {
  text-align: left;
  margin: 0;
}
.dam__search .button {
  margin: 0;
}
.dam__search #btnClearSearch {
  margin-bottom: var(--gutter);
}
.dam__category-selector {
  margin-bottom: var(--gutter);
}
.dam__category-selector label {
  font-weight: bolder;
}
.dam__category-selector select {
  width: auto;
}
.dam__selections {
  background: var(--color-x-light-grey);
  box-shadow: var(--shadow-standard);
  text-align: center;
  position: sticky;
  top: var(--gutter);
  margin-bottom: var(--gutter);
  padding: var(--gutter);
  z-index: 999;
  display: grid;
  grid-template: auto/1fr auto;
  grid-gap: var(--gutter);
  align-items: center;
}
.dam__selections .text {
  display: grid;
  align-items: center;
  justify-items: center;
  font-size: var(--font-size-l);
}
.dam__selections .buttons {
  display: grid;
  grid-gap: var(--gutter);
  grid-template: auto/repeat(2, auto);
  font-size: var(--font-size-normal);
}
.dam .img-wrap {
  display: grid;
  align-items: center;
  justify-items: center;
  background: repeating-conic-gradient(#ddd 0% 25%, #fff 0% 50%) 50%/20px 20px;
  border: 1px solid var(--color-light-grey);
  padding: 1em;
}
.dam__download-controls {
  margin-top: var(--gutter);
}
.dam__download-controls ul {
  list-style: none;
  margin: var(--gutter) 0;
  display: grid;
  grid-template: auto/repeat(3, 1fr);
  align-items: center;
  justify-items: center;
  grid-gap: var(--gutter);
}
.dam__download-controls .select-all-container {
  display: grid;
  align-items: center;
  justify-items: center;
}
.dam__assets {
  display: grid;
  grid-template: auto/repeat(3, 1fr);
  grid-gap: calc(2 * var(--gutter));
}
.dam__asset {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
  border: 1px solid var(--color-light-grey, #ddd);
  padding: var(--gutter);
}
.dam__asset-label {
  border-bottom: 1px solid var(--color-light-grey);
  padding-bottom: var(--gutter, 16px);
  text-align: center;
  font-weight: bolder;
  font-style: italic;
}
.dam__asset-tags {
  padding: 0.5em;
  padding-bottom: 0;
  border-top: 1px solid var(--color-light-grey);
  padding-top: var(--gutter, 1rem);
  margin-top: var(--gutter, 1rem);
  text-align: center;
}
.dam__asset .asset-tag {
  display: inline-block;
  font-size: var(--font-size-s);
  padding: 0.25em 0.5em;
  border-radius: 8px;
  border: 1px solid #555;
  background: #eee;
  margin-bottom: var(--half-gutter, 1rem);
}
.dam__asset__file-info-seletor {
  display: grid;
  grid-template: auto/repeat(2, 1fr);
  align-items: center;
  justify-items: space-between;
  margin-bottom: var(--gutter);
}
.dam__asset__file-info-seletor label {
  font-weight: bolder;
}
.dam__asset__file-info {
  display: grid;
}
.dam__asset__file-info div {
  display: grid;
  grid-template: 1fr/repeat(2, 1fr);
}
.dam__asset__file-info div:not(:first-of-type) dt, .dam__asset__file-info div:not(:first-of-type) dd {
  border-top: none;
}
.dam__asset__file-info dt, .dam__asset__file-info dd {
  font-size: var(--font-size-s);
  padding: 0.5em;
  border: 1px solid var(--color-light-grey);
}
.dam__asset__file-info dt {
  background: var(--color-x-light-grey);
  font-weight: bolder;
}
.dam__asset__file-info dd {
  border-left: none;
}
.dam__asset__download-format {
  text-align: center;
}

.container--homepage {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.container--homepage h1, .container--homepage h2, .container--homepage h3, .container--homepage h4, .container--homepage h5, .container--homepage h6 {
  color: var(--homepage-section-title-color, var(--text-copy-color));
}

.homepage__callouts h2 {
  margin-bottom: var(--gutter);
  text-align: var(--homepage-callout-title-text-alignment, center);
  font-size: var(--homepage-section-title-font-size, 1.4rem);
}
.homepage__callouts .callouts {
  display: grid;
  grid-template: auto/repeat(var(--homepage-callout-col-count-mobile, 1), 1fr);
  grid-gap: var(--gutter);
}
.homepage__callouts .callout {
  margin: 0;
  position: relative;
  display: block;
  box-shadow: var(--homepage-callout-shadow, none);
}
.homepage__callouts .callout .img-wrap {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
}
.homepage__callouts .callout .img-wrap img {
  display: block;
  object-fit: contain;
  width: 100%;
}
.homepage__callouts .callout a.img-wrap:hover + figcaption .cta {
  background: var(--homepage-callout-cta-hover-background-color, var(--mix-color));
}
.homepage__callouts .callout figcaption {
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  align-items: var(--homepage-callout-title-vertical-alignment, start);
  justify-items: var(--homepage-callout-title-horizontal-alignment, start);
  pointer-events: none;
}
.homepage__callouts .callout figcaption .cta {
  visibility: var(--homepage-callout-title-visibility, hidden);
  padding: var(--half-gutter) var(--gutter);
  background: var(--homepage-callout-title-background-color, var(--mix-color));
  border-radius: var(--homepage-callout-title-border-radius, 5px);
  transition: all 150ms ease;
  color: var(--homepage-callout-link-color, white);
  font-size: var(--homepage-callout-title-font-size, 1rem);
}
.homepage__callouts .callout figcaption .cta:link {
  color: var(--homepage-callout-link-color, white);
}
.homepage__callouts .callout figcaption .cta:visited {
  color: var(--homepage-callout-link-color, white);
}
.homepage__callouts .callout figcaption .cta:hover {
  color: var(--homepage-callout-link-color, white);
}
.homepage__callouts .callout figcaption .cta:active {
  color: var(--homepage-callout-link-color, white);
}

.homepage__secondary-callouts h2 {
  margin-bottom: var(--gutter);
  text-align: var(--homepage-callout-title-text-alignment, center);
  font-size: var(--homepage-section-title-font-size, 1.4rem);
  color: var(--homepage-section-title-color, var(--text-copy-color));
}
.homepage__secondary-callouts .callouts {
  display: grid;
  grid-template: auto/repeat(var(--homepage-secondary-callout-col-count-mobile, 1), 1fr);
  grid-gap: var(--gutter);
}
.homepage__secondary-callouts .callout {
  position: relative;
}
.homepage__secondary-callouts .callout__image {
  box-shadow: var(--homepage-secondary-callout-shadow, none);
}
.homepage__secondary-callouts .callout__image img {
  display: block;
  width: 100%;
}
.homepage__secondary-callouts .callout__title {
  text-align: var(--homepage-secondary-callout-title-text-alignment, center);
  margin-top: var(--gutter);
  font-size: var(--homepage-secondary-callout-title-font-size, 1em);
}
.homepage__secondary-callouts .callout__subtitle {
  position: absolute;
  top: var(--homepage-secondary-callout-subtitle-top, none);
  right: var(--homepage-secondary-callout-subtitle-right, none);
  bottom: var(--homepage-secondary-callout-subtitle-bottom, none);
  left: var(--homepage-secondary-callout-subtitle-left, none);
  padding: var(--quarter-gutter) var(--gutter);
  background: var(--homepage-secondary-callout-subtitle-background-color, var(--mix-color));
  color: var(--homepage-secondary-callout-subtitle-text-color, white);
  font-size: var(--homepage-secondary-callout-subtitle-font-size, 0.8em);
  pointer-events: none;
  border-bottom-left-radius: var(--homepage-secondary-callout-subtitle-border-radius, 0);
}
.homepage__secondary-callouts .callout a:link {
  color: var(--homepage-secondary-callout-title-link-color, var(--color-text-copy));
}
.homepage__secondary-callouts .callout a:visited {
  color: var(--homepage-secondary-callout-title-link-color, var(--color-text-copy));
}
.homepage__secondary-callouts .callout a:hover {
  color: var(--homepage-secondary-callout-title-link-hover-color, var(--color-text-copy));
}
.homepage__secondary-callouts .callout a:active {
  color: var(--homepage-secondary-callout-title-link-color, var(--color-text-copy));
}

.order-view {
  padding: 0 calc(1.5 * var(--gutter));
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.order-view .order-summary,
.order-view .shipments {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--gutter);
}
.order-view .order-details,
.order-view .billing-details,
.order-view .additional-info,
.order-view .shipping-details,
.order-view .shipment-details {
  display: grid;
  grid-template: auto 1fr/1fr;
  grid-gap: var(--gutter);
  align-items: start;
}
.order-view .order-details .title,
.order-view .order-details h2,
.order-view .billing-details .title,
.order-view .billing-details h2,
.order-view .additional-info .title,
.order-view .additional-info h2,
.order-view .shipping-details .title,
.order-view .shipping-details h2,
.order-view .shipment-details .title,
.order-view .shipment-details h2 {
  font-size: var(--font-size-l);
  width: 100%;
  text-align: left;
}
.order-view .order-details address,
.order-view .billing-details address,
.order-view .additional-info address,
.order-view .shipping-details address,
.order-view .shipment-details address {
  display: grid;
  grid-template: auto/1fr;
  grid-gap: var(--half-gutter);
  background: var(--color-x-light-grey);
  padding: var(--half-gutter);
  padding-left: var(--gutter);
  line-height: 1;
  border-radius: 3px;
  box-shadow: var(--shadow-standard);
}
.order-view .order-details address span:empty,
.order-view .billing-details address span:empty,
.order-view .additional-info address span:empty,
.order-view .shipping-details address span:empty,
.order-view .shipment-details address span:empty {
  display: none;
}
.order-view .order-details dl,
.order-view .billing-details dl,
.order-view .additional-info dl,
.order-view .shipping-details dl,
.order-view .shipment-details dl {
  margin: 0;
  width: 100%;
  box-shadow: var(--shadow-standard);
}
.order-view .shipment {
  display: grid;
  grid-template: auto/1fr;
  align-items: start;
  grid-gap: var(--half-gutter);
}
.order-view .shipment .title, .order-view .shipment h3 {
  font-size: var(--font-size-normal);
}
.order-view .shipment dl {
  font-size: var(--font-size-s);
}
.order-view .shipment table {
  margin: 0;
  font-size: var(--font-size-s);
}
.order-view .shipment table tr th, .order-view .shipment table tr td {
  padding: var(--quarter-gutter) var(--half-gutter);
}
.order-view .cart__item .item__pricing {
  grid-template: auto/1fr;
  width: 100%;
  align-items: start;
}
.order-view .cart__item .item__pricing dl {
  display: grid;
  grid-template: auto/auto auto;
  width: 100%;
}

.product-landing {
  --product-grid-template: var(--product-grid-template-mobile, auto / 1fr);
  display: grid;
  grid-template: var(--product-grid-template);
  grid-template-areas: "pricing" "images" "info";
  grid-gap: var(--gutter);
  align-items: start;
}
.product-landing .product__images {
  display: grid;
  grid-template: auto auto 1fr/1fr;
  grid-gap: var(--gutter);
  grid-area: images;
}
.product-landing .product__images .img-wrap {
  position: relative;
}
.product-landing .product__images .img-wrap a {
  position: relative;
  max-width: 100%;
}
.product-landing .product__images ul {
  display: grid;
  grid-template: auto/repeat(3, 1fr);
  grid-gap: var(--gutter);
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-landing .product__images img {
  display: block;
  width: 100%;
  max-width: 100%;
}
.product-landing .product__images .hoverZoomContainer img {
  max-width: none;
}
.product-landing .product__info {
  display: flex;
  flex-direction: column;
  grid-area: info;
}
.product-landing .product__info > * {
  margin-bottom: var(--gutter);
  width: 100%;
}
.product-landing .product__description {
  font-style: var(--product-description-font-style, italic);
  font-weight: var(--product-description-font-weight, 300);
  font-size: var(--product-description-font-size, 1.4em);
  line-height: var(--product-description-line-height, 1.2);
  padding-bottom: var(--half-gutter);
  border-bottom: var(--product-description-border);
  margin-bottom: var(--half-gutter);
}
.product-landing .product__options select + input {
  margin-top: var(--gutter);
}
.product-landing .product__ordering *:not(.button) + .button {
  margin-top: var(--gutter);
}
.product-landing .product__specs h3 {
  font-size: var(--font-size-l);
  margin-bottom: 0;
}
.product-landing .product__specs h3 + * {
  margin-top: var(--half-gutter);
}
.product-landing .estimated-cost {
  display: inline-block;
  width: 100%;
}
.product-landing .estimated-cost-label {
  display: inline-block;
  float: left;
  padding-right: var(--gutter);
}
.product-landing .estimated-cost .cost {
  display: inline-block;
  float: left;
}

.bundle-figure {
  display: grid;
  grid-template: auto/1fr 2fr;
  grid-gap: var(--gutter);
  font-size: var(--font-size-s);
}
.bundle-figure__name {
  font-weight: bolder;
}
.bundle-figure-content {
  min-height: 350px;
}
.bundle-figure-body {
  min-height: 350px !important;
}
.bundle-figure-footer .button {
  padding: 0.5em !important;
  font-size: var(--font-size-s);
}

hr {
  display: inline-block;
  width: 100%;
}

a:focus {
  text-decoration: underline;
  outline: 2px solid var(--mix-color, var(--accent-color, blue));
  outline-offset: 2px;
}

a.button:focus {
  text-decoration: none;
}

.button:focus {
  outline: 3px solid #999;
  outline-offset: 3px;
}

.productZoom:focus {
  outline: 2px solid #999;
  outline-offset: 3px;
  display: inline-block;
  transition: none;
}

@media (max-width: 460px){
  .lum-lightbox-image-wrapper {
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .lum-lightbox-caption {
    width: 100%;
    position: absolute;
    bottom: 0;
  }

  .lum-lightbox-inner img {
    max-width: none;
    max-height: none;
    display: block;
  }
}

@media screen and (max-width: 568px){
  .alertify .ajs-dialog {
    min-width: 150px;
  }

  .alertify:not(.ajs-maximized) .ajs-modal {
    padding: 0 5%;
  }

  .alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog {
    min-width: initial;
    min-width: auto;
  }
}

@media screen and (min-width: 1440px){
  .banner {
    width: var(--container-max-width);
    max-width: 100%;
  }
  .container {
    width: var(--container-max-width);
    padding: var(--container-padding);
    max-width: 100%;
  }
  .container.container--header {
    width: var(--header-container-max-width, var(--container-max-width, clamp(1000px, 70vw, 1300px)));
  }
  .container.container--footer {
    width: var(--footer-container-max-width, var(--container-max-width, clamp(1000px, 70vw, 1300px)));
  }
  .products.products--grid {
    grid-template: auto/repeat(var(--category-products-per-row-xlarge, 4), 1fr);
  }
  .categories {
    grid-template: auto/repeat(var(--categories-per-row-xlarge, 4), 1fr);
  }
  .order-view .order-summary,
.order-view .shipments {
    grid-template: auto/repeat(3, 1fr);
  }
}

@media screen and (min-width: 425px){
  .alert *,
.flash * {
    font-size: var(--font-size-normal);
  }
  .alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6,
.flash h1,
.flash h2,
.flash h3,
.flash h4,
.flash h5,
.flash h6 {
    font-size: var(--flash-heading-font-size, 1.5rem);
  }
  .slide.style-a {
    grid-template-rows: 1fr;
    grid-template-columns: var(--slide-style-a-column-widths-tablet, 3fr 2fr);
  }
  header.header--site .nav--site .nav-list {
    display: block;
    text-align: left;
  }
  header.header--site .nav--site .nav-list li {
    display: inline-block;
    margin-top: 0;
    margin-bottom: var(--half-gutter);
  }
  header.header--site .nav--site .nav-list li:not(:last-child) {
    margin-right: var(--gutter);
  }
  header.header--site .nav--user .nav-list {
    flex: 0 0 auto;
    text-align: left;
  }
  header.header--site .nav--user .nav-list li + li {
    border-left: 1px solid #555;
  }
  header.header--site .nav--user .nav-list.horizontal {
    gap: 0;
  }
  header.header--site .nav--user .nav-list.horizontal li:not(:first-of-type) {
    margin-right: 0;
    margin-left: var(--gutter);
  }
  header.header--site .nav--user .nav-list.horizontal li + li {
    border-left: 1px solid #555;
    padding-left: var(--gutter);
  }
  .menu-toggle {
    display: none;
  }
  .nav-list > .has-children:first-child > a {
    padding-left: 0;
  }
  .has-children {
    overflow: visible;
    position: relative;
    z-index: 9999;
  }
  .has-children ul {
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    background: var(--body-background-color, white);
    padding: 0;
  }
  .has-children ul ul {
    left: 100%;
    top: 0;
  }
  .has-children ul a {
    padding: 0.25em;
  }
  .has-children .has-children > a::after {
    content: "\f0da";
    right: 0.5em;
  }
  .has-children > a {
    margin: 0;
    padding-right: 1.25em;
  }
  .has-children > a::after {
    content: "\f107";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0;
    right: 0.25em;
  }
  .has-children li {
    margin: 0 !important;
  }
  .grid-2-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-3-col {
    grid-template: auto/repeat(3, 1fr) !important;
  }
  .grid-4-col {
    grid-template: auto/repeat(4, 1fr) !important;
  }
  .grid-5-col {
    grid-template: auto/repeat(5, 1fr) !important;
  }
  .grid-6-col {
    grid-template: auto/repeat(6, 1fr) !important;
  }
  .grid-7-col {
    grid-template: auto/repeat(7, 1fr) !important;
  }
  .grid-8-col {
    grid-template: auto/repeat(8, 1fr) !important;
  }
  .address-management .addresses__billing, .address-management .addresses__shipping {
    grid-template: auto/repeat(2, 1fr);
  }
  .customer-reports {
    grid-template-columns: 1fr 1fr;
  }
  .customer-reports .report__category.active .reports {
    display: flex;
    flex-wrap: wrap;
  }
  .customer-reports .report {
    flex: 0 0 50%;
  }
  .customer-reports .report-fields {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
  }
  .oh-search__order-details tr td {
    width: auto;
    display: table-cell;
  }
  .products.products--grid {
    padding: 0;
    grid-template: auto/repeat(var(--category-products-per-row-medium, 2), 1fr);
  }
  .products.products--grid .product {
    grid-template: var(--category-product-grid-template, var(--default-category-product-grid-template));
  }
  .products.products--grid .product {
    font-size: var(--font-size-normal);
  }
  .bundle-figure-footer .button {
    font-size: var(--font-size-normal);
  }
}

@media screen and (min-width: 1024px){
  .image-picker-wrapper {
    padding: calc(2 * var(--gutter)) 15%;
  }
  .progress-bar {
    display: flex;
    flex-flow: row no-wrap;
    justify-content: stretch;
    align-items: center;
    list-style: none;
    padding: 0;
    margin-left: 0;
  }
  .progress-bar li {
    flex: 1 1 auto;
    text-align: center;
    position: relative;
    border-top: 4px solid #bbb;
    padding: var(--half-gutter) 0 0 0;
  }
  .progress-bar li::after {
    content: "";
    display: block;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #bbb;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translatex(-50%);
  }
  .progress-bar li.complete {
    opacity: 1;
    border-top: 4px solid var(--progress-bar-complete-color, var(--color-success, #999));
  }
  .progress-bar li.complete::after {
    border-top-color: var(--progress-bar-complete-color, var(--color-success, #999));
  }
  .progress-bar li.active {
    font-weight: normal;
    border-top: 4px solid var(--progress-bar-active-color, var(--mix-color, var(--accent-color, black)));
  }
  .progress-bar li.active::after {
    border-top-color: var(--progress-bar-active-color, var(--mix-color, var(--accent-color, black)));
  }
  .slide.style-a {
    grid-template-rows: 1fr;
    grid-template-columns: var(--slide-style-a-column-widths-large, 3fr 2fr);
  }
  header.header--site .nav--site {
    flex: 1 1 60%;
  }
  header.header--site .nav--user .nav-list {
    padding: var(--half-gutter);
    flex: 1 1 50%;
    justify-content: flex-end;
  }
  .address-management .addresses__billing, .address-management .addresses__shipping {
    grid-template: auto/repeat(3, 1fr);
  }
  .ogrid .product {
    grid-template: auto/2fr 3fr;
  }
  .products.products--grid {
    grid-template: auto/repeat(var(--category-products-per-row-large, 3), 1fr);
  }
  .categories {
    grid-template: auto/repeat(var(--categories-per-row-large, 3), 1fr);
  }
  .checkout__content {
    grid-template: auto/3fr auto;
    gap: var(--gutter) calc(4 * var(--gutter));
  }
  .checkout .checkout-panes {
    flex: 0 0 70%;
  }
  .split-ship .item__actions {
    flex-wrap: nowrap;
  }
  .product-landing {
    --product-grid-template: var(--product-grid-template-large, auto / 1fr 1fr);
  }
}

@media screen and (min-width: 768px){
  .slide.style-b {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(12, auto);
  }
  .slide.style-b .slide__image {
    grid-row: 1/13;
    grid-column: 1/13;
  }
  .slide.style-b .slide__contents {
    grid-row: 2/12;
    grid-column: 8/12;
  }
  header.header--site {
    --header-grid: auto / auto 1fr 1fr;
    justify-items: var(--header-justify-items, start);
    grid-template: var(--header-grid-template, var(--header-grid));
    grid-template-areas: var(--header-grid-template-areas, "logo user-nav user-nav" "nav nav search" "content content content");
  }
  header.header--site .logo-space {
    justify-content: start;
  }
  header.header--site .search-box {
    justify-content: flex-end;
  }
  header.header--site .nav--site .nav-list {
    display: block !important;
  }
  .nav-list.horizontal {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  .nav-list.horizontal li {
    flex: 1 1 auto;
    margin: 0;
    text-align: center;
    justify-content: space-around;
    border: none !important;
    margin-bottom: var(--half-gutter);
  }
  .nav-list.horizontal {
    display: block;
  }
  .nav-list.horizontal li {
    display: inline-block;
    text-align: left;
  }
  .nav-list.horizontal li + li {
    margin-top: 0;
    margin-left: var(--quarter-gutter);
    padding-left: var(--half-gutter);
  }
  .mobile-only {
    display: none;
  }
  .grid-2-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-3-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-4-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-5-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-6-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-7-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .grid-8-col {
    grid-template: auto/repeat(2, 1fr) !important;
  }
  .address-management .title {
    grid-template: auto/1fr auto;
  }
  .cart__item {
    grid-template: auto/200px 1fr;
  }
  .cart__item .item__details {
    font-size: var(--font-size-normal);
    grid-template: auto auto/1fr auto;
    grid-template-areas: "text pricing" "text controls";
  }
  .cart__item .item__details h2 {
    font-size: var(--font-size-large);
  }
  .cart__item.bundle {
    grid-template: auto/200px 2fr 300px;
    grid-template-areas: "preview details pricing" "preview details controls" "preview details .";
  }
  .cart__item.bundle .item__preview img {
    max-width: 100%;
  }
  .cart__footer__info {
    grid-template: 1fr auto/2fr 3fr;
    grid-template-areas: "messaging pricing" "messaging controls";
  }
  .cart__footer__info .cart__controls {
    flex-wrap: nowrap;
  }
  .cart__footer__info .cart__controls .button {
    margin-bottom: 0;
    flex: 1 1 auto;
  }
  .cart__footer__info .cart__controls .button:not(:last-child) {
    margin-right: var(--gutter);
  }
  .saved-cart .cart__item {
    grid-template: auto/100px 1fr;
  }
  .saved-cart .cart__item .item__details {
    grid-template: auto/1fr 180px;
    grid-template-areas: "text pricing";
  }
  .saved-cart .cart__item.bundle {
    grid-template: auto/100px 1fr 180px;
    grid-template-areas: "preview details pricing" "preview details ." "preview details .";
  }
  .saved-cart .cart__item.bundle .item__details {
    grid-template: auto/1fr;
  }
  .products.products--list {
    grid-template: auto/repeat(2, 1fr);
  }
  .categories {
    grid-template: auto/repeat(var(--categories-per-row-medium, 2), 1fr);
  }
  .checkout .order-overview {
    position: sticky;
    top: var(--gutter);
    box-shadow: 0 2px 8px -2px var(--color-light-grey);
  }
  .checkout .cart__item {
    grid-template: auto/100px 1fr;
  }
  .checkout .cart__item .item__details {
    grid-template: auto/1fr 220px;
    grid-template-areas: "text pricing";
  }
  .checkout .cart__item.bundle {
    grid-template: auto/100px 1fr 220px;
    grid-template-areas: "preview details pricing" "preview details ." "preview details .";
  }
  .checkout .cart__item.bundle .item__details {
    grid-template: auto/1fr;
  }
  .configuration-wrapper {
    grid-template: auto auto auto/var(--customization-column-widths, 3fr 2fr);
    grid-template-areas: "title title" "budget budget" "config preview" "configfinish preview";
    gap: var(--gutter) calc(3 * var(--gutter));
  }
  #colorholder,
#pantoholder {
    grid-template: auto/repeat(4, 1fr);
  }
  .logoOptions .previewContainer {
    grid-template: auto/auto 1fr auto;
    grid-template-areas: "logo name controls" "logo caption caption";
    grid-column-gap: var(--gutter);
    justify-items: start;
  }
  .logoOptions button {
    justify-self: end;
  }
  .contact .wrap {
    grid-template: auto/1fr 1fr;
    grid-gap: calc(2 * var(--gutter));
  }
  .container--homepage {
    grid-template: var(--homepage-grid-template, auto/1fr);
    grid-template-areas: var(--homepage-grid-template-areas, "slider" "callouts" "secondary-callouts" "content");
  }
  .container--homepage .slider {
    grid-area: slider;
  }
  .container--homepage .homepage__callouts {
    grid-area: callouts;
  }
  .container--homepage .hompage__secondary-callouts {
    grid-area: secondary-callouts;
  }
  .container--homepage .homepage__content {
    grid-area: content;
  }
  .homepage__callouts .callouts {
    grid-template: auto/repeat(var(--homepage-callout-col-count, 2), 1fr);
  }
  .homepage__secondary-callouts .callouts {
    grid-template: auto/repeat(var(--homepage-secondary-callout-col-count, 2), 1fr);
  }
  .order-view .order-summary,
.order-view .shipments {
    grid-template: auto/repeat(2, 1fr);
  }
  .order-view .cart__item {
    grid-template: auto/100px 1fr;
  }
  .order-view .cart__item .item__details {
    grid-template: auto/1fr 180px;
    grid-template-areas: "text pricing";
  }
  .order-view .cart__item.bundle {
    grid-template: auto/100px 1fr 180px;
    grid-template-areas: "preview details pricing" "preview details ." "preview details .";
  }
  .order-view .cart__item.bundle .item__details {
    grid-template: auto/1fr;
  }
  .product-landing {
    --product-grid-template: var(--product-grid-template-medium, auto / 1fr 2fr);
    grid-template-areas: "images info" "images pricing";
  }
  .product-landing .product__pricing {
    grid-area: pricing;
  }
}

@media screen and (max-width: 768px){
  .nav-list.shown {
    display: inline-block !important;
    margin-top: var(--gutter);
    background: var(--color-x-light-grey);
    border-radius: 3px;
    padding: 0.25em 0.5em;
    font-size: var(--font-size-s);
    columns: 2;
  }
  .nav-list.shown li {
    text-align: left;
    margin-bottom: var(--gutter);
  }
  .configuration-wrapper table {
    display: block;
  }
  .configuration-wrapper table thead,
.configuration-wrapper table tfoot {
    display: none;
  }
  .configuration-wrapper table caption {
    display: inline-block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid var(--table-border-color);
    padding-bottom: 0.5em;
  }
  .configuration-wrapper table tbody {
    display: grid;
    width: 100%;
    grid-template: auto/1fr;
    grid-gap: var(--gutter);
  }
  .configuration-wrapper table tbody tr {
    display: block;
  }
  .configuration-wrapper table tbody tr td {
    border: none;
    display: block;
    width: 100%;
    height: auto;
    padding: var(--half-gutter);
  }
  .configuration-wrapper table tbody tr td .button {
    width: 100%;
    padding: 0.5em 0.25em;
  }
  .configuration-wrapper table tbody tr td .button:not(:first-child) {
    margin-top: var(--half-gutter);
  }
}

@media screen and (max-width: 425px){
  .saved-carts table {
    display: block;
  }
  .saved-carts table thead,
.saved-carts table tfoot {
    display: none;
  }
  .saved-carts table caption {
    display: inline-block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid var(--table-border-color);
    padding-bottom: 0.5em;
  }
  .saved-carts table tbody {
    display: grid;
    width: 100%;
    grid-template: auto/1fr;
    grid-gap: var(--gutter);
  }
  .saved-carts table tbody tr {
    display: block;
  }
  .saved-carts table tbody tr td {
    border: none;
    display: block;
    width: 100%;
    height: auto;
    padding: var(--half-gutter);
  }
  .saved-carts table tbody tr td .button {
    width: 100%;
    padding: 0.5em 0.25em;
  }
  .saved-carts table tbody tr td .button:not(:first-child) {
    margin-top: var(--half-gutter);
  }
}