@charset "UTF-8";
/*

 */
@media (hover: hover) {
  a:hover {
    color: #34aeff;
    border-color: #34aeff; }
    a:hover span {
      border-color: #34aeff; } }

.turbo-progress-bar {
  background-color: #34aeff;
  height: 0.25rem; }

body.collection_index main {
  margin-top: 1rem; }

html {
  font-size: 0.7vw;
  font-family: 'Produkt Typewriter', serif; }

body {
  margin: 0;
  line-height: 1.4;
  background: #eee; }

main {
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }

a {
  text-decoration: none;
  color: #000; }

#main_nav a, footer a {
  text-decoration: none; }

h1,
h2,
h3 {
  position: relative;
  margin: 0;
  font-weight: 400;
  font-size: 1rem; }

h2 {
  display: inline-block;
  box-sizing: border-box; }

@media (max-width: 1600px) {
  html {
    font-size: 0.95vw; } }

@media (max-width: 1000px) {
  html {
    font-size: 1.5vw; } }

@media (max-width: 767px) {
  html {
    font-size: 16px; }
  body.collection_index main {
    margin-top: 3rem; }
  main {
    margin-top: 3rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem; }
  h1,
  h2,
  h3 {
    font-size: 0.75rem; } }

body.account main {
  align-items: flex-start;
  min-height: calc(100vh - 5.7rem - 7rem); }

body.account footer {
  position: relative; }

.account_section_wrapper {
  margin: 0 1rem 2rem 1rem; }
  .account_section_wrapper h1,
  .account_section_wrapper h3 {
    margin-bottom: 1rem; }
  .account_section_wrapper h2 {
    margin-bottom: 2rem; }

body.forgot_password #login_form {
  display: none; }

body.forgot_password #forgot_password_form {
  display: flex; }

#forgot_password_form {
  display: none; }
  #forgot_password_form .form_field_wrapper {
    margin-bottom: 0; }

#request_password_reset {
  align-self: flex-end; }

.show_info_form #vault_user_info_form {
  display: flex; }

.show_info_form #vault_edit_info, .show_info_form #vault_logout, .show_info_form #account_info_summary {
  display: none; }

#account_info .account_section button#vault_save_info,
#account_info .account_section button#vault_cancel_info {
  margin-top: 0;
  margin-right: 0; }

#vault_user_info_form {
  display: none; }

#account_info_button_wrapper {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap; }
  #account_info_button_wrapper button {
    margin-right: 1rem;
    margin-top: 0;
    margin-bottom: 0; }

#account_info {
  top: 5.7rem;
  width: calc(25% - 2rem); }
  #account_info .account_section {
    align-items: flex-start;
    flex-direction: column; }

.vault_order_downloads {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1rem; }

.licenses_heading_wrapper {
  position: relative; }

.downloads_heading {
  position: absolute;
  right: 0;
  top: 0; }

.order_download_button {
  white-space: nowrap;
  margin-top: 1rem;
  margin-bottom: 1rem; }

.vault_download_notice {
  margin-bottom: 1rem; }

.past_order .vault_order_downloads {
  flex-direction: row;
  flex-wrap: wrap; }
  .past_order .vault_order_downloads h2 {
    width: 100%;
    margin-bottom: 0; }
  .past_order .vault_order_downloads .vault_button {
    margin-right: 1rem; }
  .past_order .vault_order_downloads .vault_download_notice {
    margin: 1rem 1rem 0 0; }

.vault_order_upgrade {
  white-space: nowrap; }

#account_info .vault_order_downloads {
  align-items: flex-end;
  margin-bottom: 0; }

#account_info .order_download_button {
  margin-left: 1rem; }

.account_section {
  margin-bottom: 2rem; }

#vault_display_email {
  margin-bottom: 1rem; }

#account_errors {
  color: #ff403d; }
  #account_errors.shown {
    width: 100%;
    margin: 0 0 1rem 0; }

.license_group_section {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.15rem;
  padding: 1rem;
  box-sizing: border-box;
  background: #fff; }
  .license_group_section .order_download_button {
    margin-top: 0; }
    .license_group_section .order_download_button:last-child {
      margin-bottom: 0; }

.account_quick_link {
  border: none;
  display: inline;
  width: 75%; }
  .account_quick_link span {
    border-bottom: 0.15rem dotted #999; }

#past_orders {
  width: calc(50% - 2rem); }

.order_identifier {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 2rem; }
  .order_identifier h2 {
    margin-bottom: 1rem; }

button.vault_button.order_download_button {
  margin-bottom: 2rem;
  height: 100%; }

.account_section {
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
  padding: 1rem;
  box-sizing: border-box;
  width: 100%; }

.formatted_info {
  white-space: pre-line; }

.licensee_info,
.billing_info,
.totals {
  width: 50%; }

.totals_line_wrapper {
  display: flex; }

.totals_heading,
.totals_value {
  width: 50%;
  white-space: nowrap; }

.totals_value {
  text-align: right; }

.total_charged {
  margin-top: 2rem; }
  .total_charged:first-child {
    margin-top: 0; }

.order_items {
  width: 100%;
  margin-top: 2rem; }

.item_row_headings {
  padding-bottom: 0.25rem;
  border-bottom: 0.15rem solid #eee; }

.item_row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem; }
  .item_row span {
    width: 25%; }
  .item_row span.price {
    text-align: right; }

.totals {
  margin-top: 1rem;
  margin-left: 50%; }

@media (max-width: 1600px) {
  #account_info {
    width: calc(33.33% - 2rem); }
  #past_orders {
    width: calc(66.66% - 2rem); } }

@media (max-width: 767px) {
  body.account main {
    min-height: none; }
  #request_password_reset {
    margin-top: 1rem; }
  .account_section_wrapper {
    margin: 0 0.5rem 1rem 0.5rem; }
  .account_section {
    padding: 0.5rem;
    margin-bottom: 0.5rem; }
    .account_section.past_order {
      margin-bottom: 1rem; }
  .licensee_info, .billing_info, .totals {
    width: 100%; }
  .licensee_info {
    margin-bottom: 1rem; }
  .totals {
    margin-left: 0;
    font-size: 0.75rem; }
  .item_row {
    flex-direction: column; }
    .item_row.item_row_headings span {
      display: none;
      font-size: 0.75rem; }
      .item_row.item_row_headings span:first-of-type {
        display: block;
        font-size: 0.75rem; }
    .item_row span {
      width: 100%;
      padding-left: 1rem;
      font-size: 0.75rem;
      box-sizing: border-box; }
      .item_row span:first-of-type {
        font-size: 1rem;
        padding-left: 0; }
  .totals_line_wrapper {
    align-items: flex-end;
    margin-bottom: 0.5rem; }
  .totals_heading {
    width: 60%;
    white-space: pre-line; }
  .totals_value {
    width: 40%; }
  #account_info {
    position: static;
    width: 100%; }
  #past_orders {
    width: calc(100% - 1rem); }
  .account_quick_links,
  .licenses_heading_wrapper {
    display: none; } }

#order_form:not(.selected), #order_eula:not(.selected) {
  display: none; }

body.billing #order_form {
  height: calc(100% - 1rem);
  overflow: auto; }

body.billing #checkout_button_container {
  display: flex; }

body.billing .remove_license,
body.billing .add_to_cart,
body.billing .license_descriptor_category:after {
  display: none !important; }

body.billing .license_type.open .license_name {
  padding-left: 0; }

body.billing .license_descriptor_category select {
  border-color: transparent; }

body.billing .inner_form_wrapper {
  padding: 1rem;
  box-sizing: border-box;
  width: 50%; }

body.billing .add_licenses,
body.billing #accept_eula {
  display: none; }

#cart_steps_outer_container {
  width: calc(50% - 2rem);
  height: calc(100vh - 9.7rem);
  padding-bottom: 4rem;
  margin-bottom: 2rem;
  position: relative;
  box-sizing: border-box; }

#licensee_section, #billing_section {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between; }

#billing_section h2 {
  margin-bottom: 2.5rem; }

.checkbox_container {
  display: flex;
  align-items: baseline;
  margin-bottom: 1.44rem; }
  .checkbox_container input[type="checkbox"] {
    position: relative;
    top: 0.1rem; }

#order_form {
  width: 100%;
  height: 100%;
  padding-bottom: 1rem; }

#cart_steps_container {
  width: calc(100% - 2rem);
  height: 100%;
  padding-bottom: 1.5rem; }
  #cart_steps_container.empty {
    padding: 1rem; }
  #cart_steps_container .vault_nav {
    width: 100%; }
  #cart_steps_container .container {
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: 1rem;
    padding-bottom: 0;
    width: 100%;
    height: 100%; }
  #cart_steps_container #login {
    display: flex; }

.state_wrapper input:disabled, .state_wrapper select:disabled {
  display: none; }

.scrollable {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #777 transparent;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.scrollable::-webkit-scrollbar-track {
  background-color: transparent;
  width: 0.5rem; }

.scrollable::-webkit-scrollbar-thumb {
  background-color: #777;
  border: none;
  border-radius: 0; }

.scrollable::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem; }

.inner_form_wrapper h2 {
  width: 100%;
  margin-bottom: 1rem; }

.inner_form_wrapper.disabled {
  opacity: 0.5; }

.add_licenses {
  position: absolute;
  top: -0.25rem;
  right: 0;
  height: auto; }
  .add_licenses .close {
    display: none; }

.open_add_license_container .add_licenses .close {
  display: inline; }

.open_add_license_container .add_licenses .add {
  display: none; }

.license_text {
  width: calc(50% - 1rem); }

.paragraph_explanation {
  color: #999; }

.cc_form_wrapper {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 1rem;
  justify-content: space-between; }

#checkout_button_container {
  width: 100%;
  display: none; }

#edit_order {
  margin-right: 1rem; }

#accept_eula,
#checkout_button_container {
  position: absolute;
  bottom: 1rem;
  left: 1rem; }

#checkout_login_forms {
  width: 50%;
  min-width: 50%;
  box-sizing: border-box;
  padding-right: 1rem; }

#checkout_login_message {
  width: 50%;
  min-width: 50%;
  box-sizing: border-box;
  padding-left: 1rem; }

#card_element, .quote_card {
  min-width: 100%;
  display: flex;
  align-items: center; }
  #card_element .__PrivateStripeElement, .quote_card .__PrivateStripeElement {
    min-width: 100%; }

@media (max-width: 1000px) {
  .paragraph_explanation h2,
  .paragraph_explanation p {
    font-size: 0.75rem; }
  .license_text {
    width: 100%; }
  .paragraph_explanation {
    margin-bottom: 2rem; } }

@media (hover: hover) {
  .vault_button_wrapper button:not(.selected):hover {
    background-color: #34aeff;
    color: #fff;
    border-style: solid; }
  button.add_to_cart_button:hover {
    background-color: #0f0;
    border-color: #0f0; }
  .vault_button_wrapper button:disabled:hover {
    background-color: #ccc;
    color: inherit; } }

body.cart_open, body.tester_open {
  overflow: hidden; }
  body.cart_open .hide_with_modal, body.tester_open .hide_with_modal {
    opacity: 0;
    pointer-events: none;
    transition: opacity steps(3, start) 0.5s; }

body.cart_open #collection_cart_wrapper {
  display: block;
  opacity: 1;
  pointer-events: auto;
  z-index: 9;
  transition: opacity steps(3, start) 0.5s; }

body.tester_open #collection_tester_wrapper {
  z-index: 9;
  opacity: 1;
  pointer-events: auto;
  transition: opacity steps(3, start) 0.5s; }

body.checkout .hide_with_modal {
  opacity: 0;
  pointer-events: none;
  transition: opacity steps(3, start) 0.5s; }

body.with_link .collection_section {
  opacity: 0.3; }
  body.with_link .collection_section.linked {
    opacity: 1; }

.collection_section {
  transition: opacity 1.3s ease;
  margin: 0 1rem 2rem 1rem;
  padding-bottom: 2rem;
  box-sizing: border-box;
  width: calc(25% - 2rem);
  position: relative;
  border-color: transparent;
  z-index: 1;
  overflow: hidden;
  color: #000;
  background-color: #fff;
  min-height: 40rem; }
  .collection_section.login_collection_section {
    background-color: transparent; }

.share_container {
  position: absolute;
  top: 100;
  bottom: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0 1rem 0.5rem 0;
  text-align: right; }
  .share_container button {
    display: inline-block; }

.vault_link_notification {
  position: absolute;
  bottom: 0.7rem;
  visibility: hidden;
  left: 1rem;
  opacity: 1; }
  .vault_link_notification.shown {
    visibility: visible;
    opacity: 0;
    transition: opacity 0.5s 5s ease; }

.collection_section_wrapper {
  height: 100%;
  box-sizing: border-box;
  position: relative;
  padding-bottom: 1.5rem; }

.login_collection_section .container {
  min-height: auto; }

.container {
  box-sizing: border-box;
  min-height: 22rem;
  min-width: 100%;
  height: 100%;
  max-width: 100%;
  padding: 1rem;
  white-space: initial;
  display: none; }
  .container.form_wrapper {
    display: none;
    background-color: #fff; }
  .container.selected, .container.selected.form_wrapper {
    display: block; }
  .container .placeholder {
    display: block;
    object-fit: contain;
    object-position: top center;
    margin-top: 2.5rem;
    width: 100%;
    height: 100%; }

.caption_wrapper p {
  margin: 0; }

.collection_info {
  align-items: flex-start;
  height: auto;
  padding-bottom: 1.5rem; }

.vault_nav {
  top: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 100;
  background-color: #eee; }

.vault_button_wrapper {
  display: flex;
  top: 0;
  left: 0;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  bottom: 0;
  left: 0;
  z-index: 10; }

.tabs_wrapper {
  display: flex;
  align-items: flex-start; }

.collection_image {
  width: 100%;
  height: 15rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  box-sizing: border-box; }

.collection_overview_text {
  width: 100%;
  box-sizing: border-box; }

.collection_overview_row {
  display: flex;
  margin-bottom: 0.5rem; }
  .collection_overview_row:last-of-type {
    margin-bottom: 0; }

.description_tab h2 {
  margin-bottom: 1.5rem; }

.info_label {
  width: 40%;
  padding-right: 2rem; }

.info_content {
  width: 60%;
  padding-right: 4rem; }

.info_content p {
  margin-top: 0;
  margin-bottom: 0; }

.hide_with_modal {
  opacity: 1;
  pointer-events: auto;
  transition: opacity linear 0s; }

#collection_cart_close {
  padding-left: 1rem;
  position: fixed;
  z-index: 102;
  top: 6.5rem;
  color: #ff403d;
  transition: top linear 0s 0.33s;
  right: calc((100% - 2rem) * 0.2 + 2rem); }
  #collection_cart_close:before {
    position: absolute;
    content: '×';
    left: 0.25rem; }

#tester_cart_open,
#collection_tester_close {
  position: fixed;
  z-index: 102;
  top: 6.5rem; }

#tester_cart_open {
  right: calc(25% + 7rem); }

#collection_tester_close {
  right: calc(25% + 1.5rem);
  color: #ff403d;
  padding-left: 1rem; }
  #collection_tester_close:before {
    position: absolute;
    content: '×';
    left: 0.25rem; }

.vault_external_collection_link,
.collection_cart_toggle,
.collection_tester_toggle {
  position: absolute;
  top: 2.525rem;
  height: auto;
  padding: 0.125rem;
  z-index: 10; }

.vault_external_collection_link {
  right: 1rem;
  text-decoration: none; }

#tester_cart_open {
  padding-left: 1rem; }
  #tester_cart_open:before {
    position: absolute;
    left: 0.25rem;
    content: '+'; }

.collection_cart_toggle {
  right: 1rem;
  padding-left: 1rem; }
  .collection_cart_toggle:before {
    position: absolute;
    left: 0.25rem;
    content: '+'; }

.collection_tester_toggle {
  right: 5.5rem; }
  .collection_tester_toggle:before {
    position: absolute;
    left: 0.25rem;
    content: ''; }

.cart_collection_name {
  position: absolute;
  top: 6.75rem;
  left: 2rem; }

.slideshow_tab {
  position: relative; }

#collection_cart_wrapper,
#collection_tester_wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-color: #eee;
  opacity: 0;
  pointer-events: none;
  transition: opacity steps(3, start) 0.5s;
  z-index: 100; }

#collection_cart,
#collection_tester {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%; }

#collection_cart_wrapper {
  padding: 5.7rem 1rem 1rem 1rem;
  overflow: auto;
  overflow: overlay;
  -webkit-overflow-scrolling: touch; }

#collection_tester {
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  padding: 6.5rem calc(25% + 1.5rem) 1rem 2rem; }

.cart_modal_section {
  width: calc(25% - 1rem * 2);
  margin: 1rem;
  margin-top: 6.5rem;
  padding: 1rem;
  box-sizing: border-box;
  background-color: #fff; }
  .cart_modal_section.cart_license_selection {
    width: calc(30% - 2rem); }
  .cart_modal_section h2 {
    margin-bottom: 1rem; }

.cart_modal_section.cart_image {
  padding: 0;
  background-color: transparent; }
  .cart_modal_section.cart_image img {
    width: 100%; }

@media (max-width: 1600px) {
  .collection_section,
  .cart_modal_section {
    width: calc(33.33% - 2rem); }
    .collection_section.cart_license_selection,
    .cart_modal_section.cart_license_selection {
      width: calc(40% - 2rem); }
    .collection_section.cart_image,
    .cart_modal_section.cart_image {
      width: calc(26.66% - 2rem); }
  #collection_cart_close,
  #collection_tester_close {
    right: 2rem; }
  #tester_cart_open {
    right: 7rem; }
  #collection_tester {
    padding-right: 2rem; } }

@media (max-width: 1000px) {
  .collection_section,
  .cart_modal_section,
  .collection_section.cart_license_selection,
  .cart_modal_section.cart_license_selection,
  .cart_modal_section.cart_image {
    width: calc(50% - 2rem); } }

@media (max-width: 767px) {
  .collection_section,
  .cart_modal_section {
    width: calc(100% - 1rem);
    margin: 0 0.5rem 1rem 0.5rem; }
  .collection_section_wrapper {
    padding-bottom: 2.5rem; }
  .container {
    padding: 0.5rem; }
    .container .placeholder {
      margin-top: 1rem; }
  .description_tab {
    max-height: 25rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.75rem; }
    .description_tab h2 {
      margin-top: 0.28rem; }
  .collection_image {
    margin-top: 1rem;
    margin-bottom: 1rem;
    height: auto; }
  .collection_overview_row {
    flex-direction: column;
    margin-bottom: 1rem; }
  .last_updated,
  .price {
    display: none; }
  .info_label {
    font-size: 0.75rem; }
  .info_label,
  .info_content {
    width: 100%;
    padding: 0; }
  .collection_cart_toggle {
    display: none; }
  .collection_tester_toggle {
    display: none; }
  body.cart_open,
  body.tester_open {
    overflow: initial; }
    body.cart_open .hide_with_modal,
    body.tester_open .hide_with_modal {
      opacity: 1; }
    body.cart_open #collection_tester_wrapper, body.cart_open #collection_cart_wrapper,
    body.tester_open #collection_tester_wrapper,
    body.tester_open #collection_cart_wrapper {
      display: none; } }

@font-face {
  font-family: 'Produkt Typewriter';
  font-weight: 400;
  font-style: normal;
  src: url(/assets/ProduktVault-Regular-Web-81da26915cea82f766e193aff67bb850cbe11573dd6dc76a2bfabc43e3a5e03d.woff) format("woff"), url(/assets/ProduktVault-Regular-Web-6d767690f549bf628dfdc5e2ca7f52c745eb31f12bc8fca19367f0bc3f898df4.woff2) format("woff2"); }

@font-face {
  font-family: 'Produkt Typewriter';
  font-weight: 400;
  font-style: italic;
  src: url(/assets/ProduktVault-RegularItalic-Web-d4650dfb5ea1dfd88e624f41ec2ca233c32b65d410ebaebbceabd54ae170b2a9.woff) format("woff"), url(/assets/ProduktVault-RegularItalic-Web-279b28efc6269bfc50b9ad3c657d503ae40c0d4dfc7db8637ab8d0ed115d7ba3.woff2) format("woff2"); }

@font-face {
  font-family: 'CommercialMicro';
  font-weight: 400;
  font-style: normal;
  src: url(/assets/CommercialMicro-Regular-Web-33d3e0357b3611c32367849735463b8524da96f7492be4120506fbdb6245ffcf.woff) format("woff"), url(/assets/CommercialMicro-Regular-Web-3031381955002e99f3c9a69618899fc8111df9f4a80ffda59d52a465974bca1c.woff2) format("woff2"); }

@font-face {
  font-family: 'CommercialFallback';
  font-weight: 400;
  font-style: normal;
  src: url(/assets/CommercialFallback-Regular-Web-d103ecb311151d99f7f2e17374aa7a0647e66cc66d93e59215c3658f9cf834fd.woff) format("woff"), url(/assets/CommercialFallback-Regular-Web-6736e3d29ad5eb000f0ce8ce149dafcd0d72689a05ee26856b039f5869eec958.woff2) format("woff2"); }

@media (hover: hover) {
  .global_tabs button:hover {
    background-color: #34aeff;
    color: #fff; } }

#mobile_hamburger,
#vault_about_link,
.mobile_notification {
  display: none; }

body.login .global_tabs,
body.login #main_nav .sort_content,
body.account .global_tabs,
body.account #main_nav .sort_content,
body.about .global_tabs,
body.about #main_nav .sort_content {
  display: none; }

body.about footer {
  position: relative; }

body.login header #main_nav {
  background-color: transparent; }

body.login .hide_on_login {
  display: none; }

body.show_dropdown #main_nav .sort_dropdown {
  border-bottom: 0;
  padding-left: 1rem;
  margin-left: 0; }
  body.show_dropdown #main_nav .sort_dropdown:after {
    right: 0.3rem;
    transform: rotate(180deg); }
  body.show_dropdown #main_nav .sort_dropdown a, body.show_dropdown #main_nav .sort_dropdown h3 {
    display: inline-block; }

header {
  z-index: 100;
  box-sizing: border-box;
  width: 100%;
  position: sticky;
  top: 0; }

#mobile_nav_toggle {
  display: none; }

#logo {
  display: flex;
  align-items: baseline;
  position: relative;
  text-align: left;
  color: #34aeff; }

#logo_commercial_text {
  font-family: 'CommercialMicro';
  text-transform: none;
  font-size: 1.8rem; }

#logo_vault_text {
  margin-left: 0.6666666667rem;
  margin-bottom: 0rem; }

.header_section {
  width: calc(25% - 2rem);
  margin: 0 1rem; }

#main_nav .sort_content {
  position: relative;
  display: flex;
  align-items: baseline;
  height: 1rem; }
  #main_nav .sort_content .sort_dropdown a {
    margin-left: 0;
    text-transform: none; }

.sort_dropdown {
  margin-left: 1rem;
  background: #eee;
  padding-bottom: 0.5rem;
  box-sizing: border-box;
  border-color: transparent;
  padding-right: 1.8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  border-bottom: 0.15rem solid #999; }
  .sort_dropdown:after {
    content: '';
    position: absolute;
    right: 0;
    width: 1rem;
    height: 1rem;
    top: 0.25rem;
    background: url(/assets/vault/dropdown-3c0a3ae137b3025a9fd8d4cc4ed0b37d0bc3a03d330dffad67af087942c36775.svg);
    background-repeat: no-repeat;
    background-position: center; }
  .sort_dropdown h3 {
    margin: 1em 0; }

#main_nav .sort_dropdown a {
  display: none; }
  #main_nav .sort_dropdown a.selected {
    display: block;
    pointer-events: none;
    color: #000;
    top: -0.1rem; }

#main_nav .sort_dropdown h3 {
  display: none; }

.nav_link_wrapper {
  display: flex;
  justify-content: space-between; }

#tab_label {
  margin-right: 0.5rem;
  color: #34aeff; }

.global_tabs {
  display: flex;
  align-items: baseline; }
  .global_tabs button {
    color: #000;
    background: #ccc; }
    .global_tabs button.selected {
      background: #fff;
      color: #000; }

#cart {
  display: none; }

#main_nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
  background: #eee;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 2.25rem;
  box-sizing: border-box;
  height: 5.7rem; }

#main_nav h1 {
  box-sizing: border-box;
  text-transform: lowercase;
  padding: 0; }

#main_nav a {
  box-sizing: border-box;
  text-transform: lowercase;
  text-align: center;
  margin-left: 1rem; }

a#commercial_link {
  align-self: flex-start;
  white-space: nowrap;
  margin-left: 0; }

#main_nav a.selected {
  color: #34aeff; }

footer {
  position: sticky;
  bottom: 0;
  padding: 2rem;
  padding-top: 1rem;
  z-index: 2;
  background-color: #eee;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between; }

footer a {
  color: #000; }

#social_links {
  width: 25%;
  padding-left: 1rem;
  box-sizing: border-box;
  text-align: center; }
  #social_links a {
    margin-right: 0.5rem; }

#copyright {
  width: 50%;
  padding-right: 1rem;
  font-size: 0.75rem;
  box-sizing: border-box; }

#vault_credit {
  width: 25%;
  white-space: nowrap;
  padding-left: 1.5rem;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between; }
  #vault_credit.selected {
    color: #34aeff; }

#faq_credit_link {
  margin-top: 3rem; }

@media (max-width: 1600px) {
  .global_tabs {
    width: 32%;
    margin: 0 1rem; }
  #logo {
    width: 17%; }
  .sort_content {
    width: 20%; }
  .nav_link_wrapper {
    width: 31%; }
  #social_links {
    width: 35%; }
  #vault_credit {
    width: 20%;
    text-align: right; } }

@media (max-width: 1000px) {
  #main_nav {
    justify-content: space-between; }
  body.login header #main_nav {
    background-color: #eee; }
  .global_tabs,
  #main_nav .sort_content {
    display: none; }
  .nav_link_wrapper {
    width: calc(50% - 2rem); }
  #social_links {
    width: 30%;
    text-align: left; } }

@media (max-width: 767px) {
  header {
    background-color: #eee;
    position: fixed; }
  body.show_mobile_nav #mobile_nav_toggle .close {
    display: block; }
  body.show_mobile_nav #mobile_nav_toggle .open {
    display: none; }
  body.show_mobile_nav .nav_link_wrapper {
    display: block; }
  .mobile_notification {
    display: block;
    margin-top: 1rem;
    font-size: 0.75rem; }
  #copyright {
    margin-bottom: 1rem; }
  .nav_link_wrapper {
    position: fixed;
    top: 2.5rem;
    left: 0;
    padding-top: 1rem;
    width: calc(100% - 1rem);
    padding-bottom: 1rem;
    background-color: #eee; }
    .nav_link_wrapper:after {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background-color: #eee;
      opacity: 0.8;
      z-index: -1; }
  a#commercial_link {
    margin-bottom: 1rem; }
  #main_nav a {
    margin-right: 1.5rem;
    display: inline-block;
    text-align: left; }
    #main_nav a#vault_about_link {
      display: inline-block; }
    #main_nav a#vault_cart_link {
      display: none; }
  .main_nav_links_wapper {
    display: flex;
    width: 100%; }
  #mobile_nav_toggle {
    position: fixed;
    display: block;
    top: 0.375rem;
    right: 0.5rem;
    background-color: transparent;
    height: auto;
    z-index: 2; }
    #mobile_nav_toggle img {
      height: 1.75rem;
      padding: 0.25rem;
      box-sizing: border-box; }
    #mobile_nav_toggle .close {
      display: none;
      padding: 0.375rem; }
    #mobile_nav_toggle .open {
      display: block; }
  #main_nav #logo {
    z-index: 2;
    width: 80%;
    margin-left: 0.5rem; }
  .nav_link_wrapper {
    display: none; }
  #logo_commercial_text {
    font-size: 1.5rem; }
  #logo_vault_text {
    margin-left: 0.25rem; }
  #main_nav {
    padding: 0.5rem;
    height: 3rem; }
    #main_nav a {
      margin-left: 0; }
  footer {
    position: relative;
    flex-direction: column;
    padding: 0.5rem;
    padding-bottom: 3rem; }
  #social_links {
    font-size: 0.75rem; }
    #social_links a {
      margin-right: 1.5rem; }
  #copyright,
  #social_links,
  #vault_credit {
    width: 100%;
    padding: 0 0.5rem;
    text-align: left; }
  #vault_credit {
    font-size: 0.75rem;
    margin-top: 1rem; } }

body.checkout main {
  align-items: flex-start; }

body.checkout footer {
  position: relative; }

.vault_remove_license_container {
  position: absolute;
  top: -0.45rem;
  left: 0;
  width: 1.75rem;
  text-align: right; }
  .vault_remove_license_container button.vault_button {
    width: 100%;
    color: #ff403d; }

.cart_collection_container {
  position: relative; }
  .cart_collection_container:after {
    content: ' ';
    position: absolute;
    top: 2rem;
    left: 0.6rem;
    bottom: 0;
    width: 0;
    border-left: 0.15rem dotted #999; }
  .cart_collection_container > .cart_collection_container {
    margin-left: 2rem;
    margin-bottom: 2rem; }
  .cart_collection_container > .cart_collection_container > .cart_collection_container {
    margin-left: 3rem;
    margin-bottom: 3rem; }
  .cart_collection_container:last-child {
    margin-bottom: 0; }
  .cart_collection_container .style_select {
    margin-left: 2rem; }

.sub_selection {
  padding-left: 2rem; }

.style_select,
.collection_select {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  position: relative; }

.style_select {
  user-select: none; }
  .style_select.single {
    margin: 0; }

body.billing #checkout_cart select:disabled {
  color: #000;
  opacity: 1; }

#checkout_cart {
  width: calc(50% - 2rem);
  box-sizing: border-box;
  padding-right: 20%;
  margin-bottom: 2rem; }
  #checkout_cart .cart_modal_section {
    width: 100%;
    margin-top: 1rem; }

.additional_licenses {
  display: none; }

.open_add_license_container .additional_licenses {
  display: block; }

.license_section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.inner_form_wrapper {
  width: calc(50% - 1rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .inner_form_wrapper.full_width {
    width: 100%; }

#cart_totals {
  margin: 0 1rem;
  position: sticky;
  top: 7.35rem;
  padding: 1rem;
  background-color: #fff;
  z-index: 10; }
  #cart_totals .cart_total_row:first-child {
    margin-top: 0; }
  #cart_totals:after, #cart_totals:before {
    content: ' ';
    position: absolute;
    left: -0.2rem;
    right: -0.2rem;
    background: #eee; }
  #cart_totals:after {
    height: 1.75rem;
    top: 100%; }
  #cart_totals:before {
    height: 1rem;
    bottom: 100%; }

#cart_items {
  margin: 3.8rem 2rem 1rem 0;
  box-sizing: border-box; }

.cart_license_selection {
  margin-bottom: 2rem; }

.checkout_cart_container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  margin-top: 1.75rem;
  margin-bottom: 1rem; }

.checkout_form_wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between; }

.license_type {
  display: flex;
  flex-wrap: wrap;
  align-items: top;
  position: relative;
  width: 100%;
  min-height: 2.25rem;
  margin-bottom: 1rem; }
  .license_type.open .license_name {
    padding-left: 2.5rem; }
  .license_type.open .license_name, .license_type.open .license_descriptor_category, .license_type.open .license_price {
    display: block; }
  .license_type.open .select_license {
    display: none; }
  .license_type.open .remove_license {
    display: inline-block; }

.remove_license {
  display: none; }

.vault_in_cart {
  margin-left: 1rem;
  position: relative;
  cursor: default; }
  .vault_in_cart:hover .vault_in_cart_tooltip {
    display: block; }

.vault_in_cart_tooltip {
  position: absolute;
  top: -1rem;
  left: calc(100% + 1rem);
  background: #eee;
  padding: 1rem;
  display: none; }

.license_price {
  text-align: right;
  width: 8%;
  display: none; }

#cart_items .license_amount_container, .with_licenses .license_amount_container {
  display: flex;
  margin-top: 2rem; }

.all_licenses .license_amount_container .add_licenses {
  display: none; }

.vault_license_selection:not(.with_licenses) .license_type:last-of-type {
  margin-bottom: 0; }

.license_amount_container {
  display: none;
  position: relative; }

#cart_totals_discounts .price, #cart_totals_rebate .price {
  color: #ff403d; }

.license_name {
  width: 25%;
  padding-left: 0;
  box-sizing: border-box;
  margin-bottom: 0.5rem; }

.license_descriptors_category_select {
  display: flex;
  flex-wrap: wrap;
  width: 75%;
  padding-left: 3rem;
  box-sizing: border-box;
  align-items: baseline;
  justify-content: flex-start; }

.cart_total_row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  width: 100%;
  position: relative;
  margin-bottom: 0.25rem; }
  .cart_total_row.hidden {
    display: none; }
  .cart_total_row span {
    width: 25%; }
    .cart_total_row span.price {
      margin-left: 3rem;
      width: calc(75% - 3rem);
      padding-right: calc(75% - 10.5rem);
      box-sizing: border-box;
      text-align: right; }

.add_to_cart {
  position: absolute;
  top: -0.25rem;
  right: 0;
  height: auto; }

.license_descriptor_category {
  margin-bottom: 1rem;
  position: relative;
  width: 100%;
  display: none; }
  .license_descriptor_category select {
    width: 100%;
    padding-right: 2rem;
    box-sizing: border-box; }
  .license_descriptor_category:last-of-type {
    margin-bottom: 0; }
  .license_descriptor_category:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0.5rem;
    background: url(/assets/vault/dropdown-3c0a3ae137b3025a9fd8d4cc4ed0b37d0bc3a03d330dffad67af087942c36775.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 1rem;
    height: 100%;
    pointer-events: none; }

.license_descriptor_category_name {
  width: 30%;
  margin-bottom: 0.5rem; }

@media (max-width: 1600px) {
  #cart_steps_outer_container {
    width: calc(66.66% - 2rem); }
  #cart_steps_container {
    width: 100%; }
  #cart_totals {
    margin-bottom: 3rem; }
  #checkout_cart {
    width: calc(33.33% + 1rem);
    padding-right: 0;
    margin-left: 1rem; }
    #checkout_cart .cart_modal_section {
      margin-top: 0;
      width: 100%; } }

@media (max-width: 1000px) {
  #cart_steps_outer_container {
    width: calc(50% - 2rem);
    margin-right: 1rem; }
  #checkout_cart {
    width: 50%; }
  .inner_form_wrapper {
    width: 100%;
    margin-bottom: 2rem; }
  #billing_form_wrapper h2 {
    margin-bottom: 1rem; }
  #additonal_info .form_field_wrapper {
    width: 100%; }
  .cc_form_wrapper .form_field_wrapper {
    width: 100%; }
    .cc_form_wrapper .form_field_wrapper.quarter {
      width: calc(40% - 1rem); }
    .cc_form_wrapper .form_field_wrapper.expiration {
      width: calc(60% - 1rem); } }

.font_loader {
  position: fixed;
  top: -50000px;
  left: -50000px;
  display: inline-block;
  font-size: 60px;
  line-height: 60px;
  visibility: hidden; }
  .font_loader.default {
    font-family: 'Comic Sans MS', Arial, Helvetica, sans-serif; }

#vault_user_info_form {
  width: 100%; }

.form_wrapper {
  display: block; }
  .form_wrapper h2 {
    width: 100%;
    margin-bottom: 1em; }

#new_vault_user .field_with_errors {
  width: 100%; }

#order_errors {
  color: #ff403d;
  padding-bottom: 1rem; }

#apply_rebates {
  margin-top: 1rem; }

.form_wrapper .field_with_errors, .form_field_wrapper.field_with_errors, .form_field_wrapper.missing {
  color: #ff403d; }
  .form_wrapper .field_with_errors input, .form_wrapper .field_with_errors select, .form_field_wrapper.field_with_errors input, .form_field_wrapper.field_with_errors select, .form_field_wrapper.missing input, .form_field_wrapper.missing select {
    border-color: #ff403d; }

.form_field_wrapper input[tabindex="-1"], .form_field_wrapper select[tabindex="-1"], .form_field_wrapper label {
  opacity: 0.6;
  pointer-events: none; }

.select_wrapper {
  display: flex;
  flex-direction: column;
  position: relative; }
  .select_wrapper:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0.5rem;
    width: 1rem;
    height: 1.75rem;
    background-image: url(/assets/vault/dropdown-3c0a3ae137b3025a9fd8d4cc4ed0b37d0bc3a03d330dffad67af087942c36775.svg);
    background-size: contain;
    background-position: center;
    pointer-events: none;
    background-repeat: no-repeat; }
  .select_wrapper select {
    padding-right: 2.5rem; }

.form_wrapper form {
  display: flex;
  justify-content: space-between; }

.form_field_wrapper {
  width: calc(50% - 0.5rem);
  display: flex;
  align-items: baseline;
  align-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 1rem; }
  .form_field_wrapper .deactivated {
    display: none; }
  .form_field_wrapper input, .form_field_wrapper select, .form_field_wrapper #card_element, .form_field_wrapper .quote_card {
    width: 100%;
    height: 1.95rem; }
  .form_field_wrapper.full_width {
    width: 100%; }
  .form_field_wrapper.quarter {
    width: calc(25% - 1rem); }
  .form_field_wrapper.expiration {
    display: flex;
    justify-content: space-between; }
    .form_field_wrapper.expiration .select_wrapper {
      width: calc(50% - 0.5rem); }

#forgot_password {
  align-self: baseline; }
  #forgot_password a {
    color: #000;
    text-decoration: underline; }

#login_button {
  align-self: baseline; }

.form_notifications {
  margin: 0 0 0.9rem 0;
  color: #ff403d;
  min-width: 100%; }
  .form_notifications:not(.shown) {
    display: none; }

#vault_new_account_wrapper {
  margin-top: 2rem; }

form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start; }

label {
  font-size: 1rem; }

input[type='checkbox'] {
  margin: 0 0.5rem 0 0;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  min-height: 1rem; }

input:checked {
  background-color: #999; }

textarea, select, input, #card_element, .quote_card {
  padding: 0.25rem;
  box-sizing: border-box;
  border: 0;
  outline: none;
  -webkit-appearance: none;
  border: 0.15rem solid #999;
  appearance: none;
  font-family: 'Produkt Typewriter', monospace;
  border-radius: 0;
  background-color: #fff;
  font-size: 1rem; }

#order_form textarea {
  width: 100%;
  resize: vertical; }

#reset_password_form .form_field_wrapper {
  margin-bottom: 0; }

#forgot_password_form .form_notifications, #reset_password_form .form_notifications {
  margin-top: 0.9rem;
  margin-bottom: 0; }

select {
  border: none;
  background-color: transparent;
  border-bottom: 0.15rem solid #999; }

button, a.vault_button {
  font-family: 'Produkt Typewriter', monospace;
  padding: 0.25rem;
  border: 0;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
  background: #ccc;
  color: #000;
  font-size: 1rem;
  box-shadow: none;
  outline: 0;
  box-sizing: border-box;
  cursor: pointer;
  text-transform: lowercase;
  display: block;
  height: 100%;
  margin-left: 0; }
  button.selected, a.vault_button.selected {
    color: #000;
    border-color: transparent;
    background: #fff; }

button.nav_button {
  margin-right: 0.5rem; }

.mobile_button_image {
  display: none; }

button.add_to_cart_button {
  color: #000;
  background-color: #fff;
  border-top-right-radius: 0.75rem;
  border-top-left-radius: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-bottom: 0; }

a.vault_button, button.vault_button {
  border: 0.15rem solid #999;
  border-color: #ccc;
  background-color: #fff;
  box-shadow: 0.15rem 0.15rem 0 #ccc;
  color: #000;
  height: auto; }

button:active {
  background-color: #eee;
  box-shadow: inset 0.15rem 0.15rem 0 #ccc; }

button:disabled {
  opacity: 0.5; }

.desktop_label {
  pointer-events: none; }

@media (max-width: 767px) {
  .form_field_wrapper {
    width: 100%; }
  .desktop_label {
    display: none; }
  .mobile_button_image {
    width: 1.5rem;
    pointer-events: none;
    padding: 0.125rem;
    box-sizing: border-box;
    display: block; } }

body.login .collection_section {
  align-self: flex-start; }

#intro {
  width: 50%;
  padding: 1rem;
  margin-bottom: 2rem;
  box-sizing: border-box;
  align-self: flex-start; }

#intro,
body.login .collection_section {
  position: sticky;
  top: 5.7rem; }

#vault_news {
  width: 33.33%;
  padding: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem; }

.vault_news_heading {
  width: 100%;
  padding: 1rem;
  box-sizing: border-box; }

body.about .vault_announcement_section {
  margin-top: 0;
  padding-right: 1rem;
  box-sizing: border-box; }

.vault_announcement_section {
  margin-top: 2rem;
  margin-bottom: 2rem;
  width: calc(100%); }
  .vault_announcement_section p:first-of-type {
    margin-top: 0; }

.announcement_image {
  width: 100%; }

@media (max-width: 1600px) {
  #intro {
    width: 66.66%; } }

@media (max-width: 1000px) {
  #intro,
  body.login .collection_section {
    position: relative;
    top: auto; }
  #intro {
    width: 50%; } }

@media (max-width: 767px) {
  #intro {
    display: none; }
  .vault_announcement_section {
    margin-top: 1rem; }
  #intro,
  body.login .collection_section {
    position: relative;
    top: auto; } }

@media (hover: hover) {
  button.slide_button:hover img {
    filter: grayscale(0%) brightness(1); } }

body.slideshow_zoom .hide_with_modal {
  opacity: 0;
  pointer-events: none; }

body.slideshow_zoom .slideshow_actions {
  left: auto;
  right: 0.5rem;
  bottom: -0.5rem; }
  body.slideshow_zoom .slideshow_actions button.slideshow_zoom_toggle {
    position: fixed;
    bottom: auto;
    top: 4rem;
    right: 2rem;
    z-index: 200; }
  body.slideshow_zoom .slideshow_actions .slideshow_count_wrapper {
    position: relative;
    z-index: 100; }
  body.slideshow_zoom .slideshow_actions button.prev_slide {
    position: relative;
    z-index: 100; }
  body.slideshow_zoom .slideshow_actions button.next_slide {
    position: relative;
    z-index: 10; }
  body.slideshow_zoom .slideshow_actions button.prev_slide:after {
    content: '';
    position: fixed;
    top: 4rem;
    left: 2rem;
    width: 33%;
    height: 100%; }
  body.slideshow_zoom .slideshow_actions button.next_slide:after {
    content: '';
    position: fixed;
    top: 4rem;
    right: 2rem;
    width: 33%;
    height: 100%; }

body.slideshow_zoom .slideshow:not(.autoplaying_slideshow) .slide {
  cursor: crosshair; }
  body.slideshow_zoom .slideshow:not(.autoplaying_slideshow) .slide figcaption {
    z-index: 10; }

.prev_slide {
  cursor: w-resize; }

.next_slide {
  cursor: e-resize; }

.autoplaying_slideshow {
  position: relative;
  height: 75vh; }
  .autoplaying_slideshow .slide {
    width: 100%;
    margin-top: 0;
    padding-top: 0.5rem; }

.slideshow_actions {
  position: absolute;
  bottom: -1.2rem;
  left: 0.5rem;
  display: flex;
  gap: 0 0.5rem;
  z-index: 10; }
  .slideshow_actions button.slideshow_zoom_toggle {
    position: static; }

.collection_section.zoom {
  position: fixed;
  left: 1rem;
  top: 4rem;
  display: flex;
  width: calc(100% - 4rem);
  height: calc(100% - 6rem);
  z-index: 10; }
  .collection_section.zoom .vault_nav,
  .collection_section.zoom .vault_button,
  .collection_section.zoom .slideshow h2 {
    display: none; }
  .collection_section.zoom .collection_section_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
  .collection_section.zoom .slideshow_zoom_toggle .zoom_image {
    display: none; }
  .collection_section.zoom .slideshow_zoom_toggle .close_image {
    display: block;
    position: absolute;
    top: 2.8rem;
    right: 1rem; }
  .collection_section.zoom .slide {
    cursor: zoom-out;
    height: calc(100% - 3rem); }
  .collection_section.zoom:after {
    content: '';
    position: fixed;
    bottom: 0;
    background-color: #eee;
    left: 0;
    width: 100%;
    height: 2rem; }

.slideshow {
  position: relative; }

.slideshow {
  position: relative; }

.slideshow:not(.autoplaying_slideshow) .slide {
  cursor: zoom-in; }

.description_tab p {
  margin: 0 0 1em 0; }
  .description_tab p:last-child {
    margin-bottom: 0; }

.slide {
  position: absolute;
  width: calc(100% - 2rem);
  height: calc(100% - 6.5rem);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: flex-start;
  margin: 0;
  margin-top: 2.5rem;
  opacity: 0;
  pointer-events: none; }
  .slide.current {
    opacity: 1;
    pointer-events: auto; }
  .slide.no_caption figure {
    margin-bottom: 3rem; }
  .slide figure {
    width: auto;
    height: 100%;
    overflow: hidden;
    margin: 0;
    position: relative;
    margin-bottom: 2rem; }
  .slide img,
  .slide video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0%;
    object-fit: contain;
    object-position: center; }
  .slide figcaption {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; }

button.slide_button:focus {
  box-shadow: none; }

button.slide_button {
  height: auto;
  padding: 0 0.5rem;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0;
  background-color: transparent;
  border: none; }
  button.slide_button img {
    display: block;
    width: 1.25rem;
    filter: grayscale(1) brightness(0); }

button.slideshow_zoom_toggle {
  bottom: -1.2rem;
  left: 0.5rem;
  z-index: 10;
  position: absolute; }
  button.slideshow_zoom_toggle img {
    display: block;
    width: 1.15rem;
    filter: grayscale(1) brightness(0); }
  button.slideshow_zoom_toggle .close_image {
    display: none; }

@media (max-width: 1000px) {
  .autoplaying_slideshow {
    height: 40rem; } }

@media (max-width: 767px) {
  .slideshow_actions {
    left: 0;
    bottom: -1.5rem; }
  .slide {
    width: calc(100% - 1rem);
    height: calc(100% - 5rem);
    margin-top: 2rem;
    margin-bottom: 1rem; }
    .slide figure {
      margin-bottom: 0.5rem; }
    .slide figcaption {
      font-size: 0.75rem;
      padding-right: 0; }
  button.slide_button {
    bottom: 0.625rem; }
    button.slide_button img {
      width: 0.85rem; }
  .next_slide {
    right: 0.5rem; }
  .prev_slide {
    right: 2rem; }
  .slideshow_count_wrapper {
    font-size: 0.75rem; }
  .slideshow_zoom_toggle {
    display: none; } }

.font_loader {
  position: fixed;
  top: -50000px;
  left: -50000px;
  display: inline-block;
  font-size: 60px;
  line-height: 60px;
  visibility: hidden; }
  .font_loader.default {
    font-family: 'Comic Sans MS', Arial, Helvetica, sans-serif; }

.slider_reset.vault_button {
  width: 3.5rem;
  height: 1.75rem;
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: center; }
  .slider_reset.vault_button img {
    display: inline;
    width: 1rem;
    height: 1rem; }

.slider_wrapper.variable_slider_wrapper {
  display: none; }
  .slider_wrapper.variable_slider_wrapper.show {
    display: flex; }

.slider_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  width: 18rem;
  margin-bottom: 1rem;
  margin-left: 2rem; }
  .slider_wrapper:after {
    content: '';
    position: absolute;
    width: calc(100% - 4rem);
    bottom: 0.65rem;
    border-top: 0.15rem solid #999;
    z-index: -1; }
  .slider_wrapper label {
    flex-grow: 1; }
  .slider_wrapper input {
    height: 1.5rem;
    color: #000; }
  .slider_wrapper input[type='range'] {
    background-color: transparent;
    border: none;
    position: relative; }
  .slider_wrapper input[type='range']::-webkit-slider-thumb {
    background-color: #34aeff; }

.tester_controls {
  display: flex;
  align-items: baseline;
  padding-right: 10rem;
  box-sizing: border-box;
  width: 100%; }
  .tester_controls h2 {
    padding-top: 0;
    width: calc(65% - 3rem);
    margin-right: 1rem; }
  .tester_controls .input {
    width: 3.5rem;
    text-align: right; }
  .tester_controls .slider,
  .tester_controls .variable_slider {
    width: calc(100% - 4rem);
    margin: 0.5rem 0 0 0;
    padding: 0; }

.tester_text, .tester_text_sizer {
  background: #fff;
  border: 1px solid #000;
  resize: none;
  line-height: 1.1;
  padding: 1rem;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.vault_tester_sizer {
  width: 100%;
  position: relative;
  flex-grow: 1; }

.tester_controls_wrapper {
  display: flex;
  flex-wrap: wrap; }

.tester_text {
  overflow: hidden; }
  .tester_text.uppercase {
    text-transform: uppercase; }

.tester_text_sizer {
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  width: 100%;
  height: auto;
  box-sizing: border-box;
  padding-bottom: 0.3em; }

@media (max-width: 1600px) {
  .tester_controls {
    width: calc(100% - 2rem); } }
