/* GLOBAL - weight is 400, avail: 500 700 */

body {
  font-family: 'Museo Sans W01', -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #000;
}

.c-blue-dark {
  color: #09558c;
}
.c-blue {
  color: #00a3e0;
}
.c-blue-light {
  color: #b9daeb;
}
.c-green-dark {
  color: #5cb8b2;
}
.c-green {
  color: #9cdbd9;
}
.c-yellow {
  color: #cedc00;
}
.c-gray-dark {
  color: #58595b;
}
.c-gray {
  color: #939597;
}
.c-gray-light {
  color: #c6c8ca;
}
.c-gray-lighter {
  color: #e6e8ea;
}
.c-gray-lightest {
  color: #f1f3f5;
}

@keyframes fly {
  0% { transform: scale(1) rotate(0); }
  10% { transform: scale(1.125) rotate(-2deg) translateY(-1px); }
  15% { transform: scale(1.2) rotate(-5deg) translateY(-4px); }
  30% { transform: scale(1.25) rotate(-4.5deg) translateY(-5px); }
  45% { transform: scale(1.25) rotate(-4deg) translateY(-4px); }
  60% { transform: scale(1.20) rotate(-2deg) translateY(-2px); }
  70% { transform: scale(1) rotate(2deg) translateY(0); }
  80% { transform: scale(0.875) rotate(5deg) translateY(2px); }
  100% { transform: scale(1) rotate(0) translateY(0); }
}

@keyframes pop-in {
  0% { transform: scale(1) rotate(0); }
  10% { transform: scale(1.5) rotate(15deg); }
  60% { transform: scale(0.8); }
  100% { transform: scale(1) rotate(0); }
}

a {
  color: #09558c;
}

a:active,
a:focus,
a:hover {
  color: #00a3e0;
  text-decoration: none;
}

.text a {
  text-decoration: underline;
}

.text a:active,
.text a:focus,
.text a:hover {
  text-decoration: none;
}

a,
button,
.navbar .nav-item a:before {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
.navbar .nav-item,
.navbar .navbar-brand {
  font-family: 'Museo Slab W01';
  letter-spacing: 0.25px;
  font-weight: 700;
}

h1, .h1,
h2, .h2 {
  color: #09558c;
}

h3, .h3 {
  color: #5cb8b2;
}

header a {
  color: #000;
}

header .utilities a {
  color: #58595b;
  font-weight: 700;
}

header .utilities img.edit {
  margin-right: 2px;
  width: 20px;
  height: 18px;
}

header a:active,
header a:focus,
header a:hover {
  color: #00a3e0;
}

.navbar-brand {
  color: #58595b;
  font-size: 1.5rem;
  text-transform: uppercase;
}

.navbar-brand:active,
.navbar-brand:focus,
.navbar-brand:hover {
  filter: brightness(120%);
  color: #00a3e0;
}

.logotype {
  margin: 0 13px;
}

.navbar-brand img {
  width: 80px;
  height: 80px;
}

.navbar-toggler:active,
.navbar-toggler:focus,
.navbar-toggler:hover,
.navbar-toggler {
  border-color: #cedc00;
  background-color: #cedc00;
}

.navbar-toggler.collapsed {
  border-color: #fff;
  background-color: #fff;
}

.navbar-toggler:focus {
  outline: 0;
}

.navbar-toggler-icon {
  background: url('/assets/images/bars.svg') center center no-repeat;
  background-size: contain;
}

.navbar .nav-item {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.5px;
}

.navbar .nav-item a.dashboard:active,
.navbar .nav-item a.dashboard:focus,
.navbar .nav-item a.dashboard:hover {
  color: #00a3e0;
}

.navbar .nav-item a.jobs:active,
.navbar .nav-item a.jobs:focus,
.navbar .nav-item a.jobs:hover {
  color: #09558c;
}

.navbar .nav-item a.orders:active,
.navbar .nav-item a.orders:focus,
.navbar .nav-item a.orders:hover,
.navbar .nav-item a.cart:active,
.navbar .nav-item a.cart:focus,
.navbar .nav-item a.cart:hover {
  color: #5cb8b2;
}

.navbar .nav-item a.cart span,
.card .job .image span {
  min-width: 30px;
  height: 30px;
  padding: 0 10px;
  vertical-align: middle;
  border: 1px solid #fff;
  border-radius: 15px;
  font-family: 'Museo Sans W01';
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  background-color: #cedc00;
}

.navbar .nav-item a.cart span.empty {
  background-color: #c6c8ca;
}

.cart-count.updated {
  animation: pop-in 1s ease;
}


.navbar .nav-item a:before {
  display: inline-block;
  content: '';
  margin: 0 10px 4px;
  width: 25px;
  height: 24px;
  background: url('/assets/images/paper-plane-blue.svg') center center no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.navbar .nav-item a.dashboard:before {
  background-image: url('/assets/images/search.svg');
}

.navbar .nav-item a.jobs:before {
  background-image: url('/assets/images/list.svg');
}

.navbar .nav-item a.orders:before {
  background-image: url('/assets/images/envelopes-bulk.svg');
}

.navbar .nav-item a.cart:before {
  background-image: url('/assets/images/shopping-cart.svg');
}

.navbar .nav-item a:active:before,
.navbar .nav-item a:focus:before,
.navbar .nav-item a:hover:before {
  filter: brightness(120%);
}

.page-header {
  padding-top: 30px;
  background: url('/assets/images/dashed-line.svg') left top repeat-x;
  background-size: 160px 2px;
}

.page-header h1 {
  color: #000;
  text-transform: uppercase;
}

footer {
  line-height: 2;
  color: #e6e8ea;
  background: #58595b;
}

footer .links {
  white-space: nowrap;
}

footer a {
  color: #fff;
  font-weight: 700;
}

footer a:active,
footer a:focus,
footer a:hover {
  color: #00a3e0;
}

footer .copyright p:before {
  display: inline-block;
  content: '';
  margin-right: 5px;
  width: 30px;
  height: 20px;
  background: url('/assets/images/paper-plane.svg') center center no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* FORMS */

.login,
.tracking {
  max-width: 350px;
}

.file-upload-container {
  width: 100%;
  overflow-x: scroll;
}

.job-form .mechanisms input[type=checkbox] {
  top: 5px;
}

/* COMPONENTS */

.alert-primary {
  color: #000;
  background-color: #cef1ff;
  border-color: #c3e5f6;
}

button,
.btn,
.button,
input[type=button],
input[type=submit] {
  font-family: 'Museo Slab W01';
  letter-spacing: 0.25px;
  font-weight: 700;
  text-transform: uppercase;
  border-color: #00a3e0;
  background-color: #00a3e0;
  color: #fff;
}

button:active,
button:focus,
button:hover,
.btn:active,
.btn:focus,
.btn:hover,
.button:active,
.button:focus,
.button:hover,
input[type=button]:active,
input[type=button]:focus,
input[type=button]:hover,
input[type=submit]:active,
input[type=submit]:focus,
input[type=submit]:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active {
  border-color: #09558c;
  background-color: #09558c;
  color: #fff;
}

.btn-danger {
  border-color: #dc3545;
  background-color: #dc3545;
}

.btn-danger:active,
.btn-danger:focus,
.btn-danger:hover {
  border-color: #af3342;
  background-color: #af3342;
}

.btn-secondary {
  border-color: #939597;
  background-color: #939597;
}

.btn-secondary:active,
.btn-secondary:focus,
.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active {
  border-color: #58595b;
  background-color: #58595b;
}

.btn-success {
  border-color: #5cb8b2;
  background-color: #5cb8b2;
}

.btn-success:active,
.btn-success:focus,
.btn-success:hover,
.btn-success:not(:disabled):not(.disabled):active {
  border-color: #3a9a95;
  background-color: #3a9a95;
}

.btn.sort.disabled {
  opacity: 0;
}

a[class*=btn-outline],
button[class*=btn-outline] {
  background: transparent;
}

.btn-outline-primary {
  color: #00a3e0;
}

form.add-to-cart.processing:after,
form.add-to-cart.success:after {
  display: inline-block;
  content: '';
  margin: 0 5px;
  width: 20px;
  vertical-align: text-top;
}

.job-detail form.add-to-cart.processing:after,
.job-detail form.add-to-cart.success:after {
  margin: 5px 0 0 10px;
  width: 25px;
}

form.add-to-cart.processing:after {
  content: url(/assets/images/paper-plane-blue.svg);
  animation: fly 5s linear infinite;
}

form.add-to-cart.success:after {
  content: url(/assets/images/check-circle.svg);
  animation: pop-in 1s ease;
}

.dashboard > div {
  margin-top: 15px;
  margin-bottom: 15px;
}

.card {
  background: #f1f3f5;
}

.card.cart,
.card.whats-new,
.card.checkout,
.manage-jobs .card {
  height: 100%;
}

.card img {
  transition: all 0.2s ease;
}

.card a:active img,
.card a:focus img,
.card a:hover img {
  filter: brightness(110%);
}

.card .job small {
  font-weight: 700;
}

.card .job .image {
  position: relative;
  margin: 5px 10px 1rem 0;
  min-width: 100px;
  text-align: right;
}

.card .job img {
  max-width: 100px;
  max-height: 100px;
}

.card .job img.default {
  padding: 0 15px;
}

.card .job .image span {
  position: absolute;
  z-index: 10;
  top: -5px;
  right: -5px;
  text-align: center;
}

.card .job.cart .image {
  text-align: left;
}

.card .job.cart .image span {
  display: none;
}

.card.cart input[type=number] {
  width: 75px;
}

.card .restricted {
  padding: 2px 5px 0;
  border-radius: 4px;
  border: 1px solid #dc3545;
  color: #dc3545;
  font-weight: bold;
  text-transform: uppercase;
}

.card a.job:active .restricted,
.card a.job:focus .restricted,
.card a.job:hover .restricted {
  border: 1px solid #F04959;
  color: #F04959;
}

.card.files p {
  border-top: 1px dashed #c6c8ca;
}

.eyebrow {
  margin-bottom: 0.25rem;
  color: #939597;
  font-size: 75%;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.page-link {
  color: #5cb8b2;
  font-weight: 700;
}

.page-item.active .page-link {
  border-color: #5cb8b2;
  background-color: #5cb8b2;
}

table.results td {
  vertical-align: middle;
}

table.results td .icon.file-count {
  display: inline-block;
  vertical-align: text-top;
  height: 20px;
  min-width: 20px;
  border-radius: 10px;
  background: #939597;
  color: #fff;
  text-align: center;
  line-height: 2.125;
  font-size: 75%;
}

table.results img {
  max-width: 100px;
  max-height: 100px;
}

table.results img.default {
  max-width: 60px;
}

table.results th .buttons {
  white-space: nowrap;
}

table.results td .buttons {
  margin-top: 5px;
}

table.results .btn-sm {
  margin: 2px 0;
}

table.results .buttons form {
  display: inline-block;
}

table.results .restricted {
  background-color: rgba(206, 220, 0, 0.5);
}

table.results .zero {
  color: #dc3545;
}

table.results .sort {
  width: 20px;
  height: 20px;
  opacity: 0.33333;
}

table.results .sort.current {
  opacity: 1;
}

table.results a:active .sort,
table.results a:focus .sort,
table.results a:hover .sort {
  opacity: 0.66667;
}

table.results.orders .job {
  position: relative;
}
table.results.orders .job .qty {
  position: absolute;
  top: -0.25rem;
  left: -0.25rem;
  border-radius: 999px;
  padding: 0.125rem 0.75rem;
  background-color: #cedc00;
  font-weight: bold;
}

form#search .years input {
  width: 80px;
}

.job-detail .card {
  margin-top: 30px;
}

.job-detail .image img,
.job-detail .image video,
.job-detail .flickity-viewport {
  border-radius: 4px;
}

.job-detail .image.landscape,
.job-detail .image.landscape img{
  max-height: 800px;
}

.job-detail .image.portrait,
.job-detail .image.portrait img {
  max-width: 800px;
}

.job-detail .card.data .row {
  margin-top: 20px;
  margin-bottom: 20px;
}

.job-detail .card.data .row:last-child {
  margin-bottom: 0;
}

.job-detail .card.data .row > div:first-child {
  color: #939597;
}

.job-detail .card.order #intQty {
  width: 75px;
}

.job-detail .card.files p:last-child {
  margin-bottom: 0;
}

.job-detail .card.manage .btn {
  width: 100%;
}

.scroll-wrap {
  position: relative;
}

.scroll-wrap .gradient {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 5rem;
  background-image: linear-gradient(to bottom, transparent, #f1f3f5 );
}

.scroll-box {
  position: relative;
  max-height: 600px;
  overflow-y: auto;
  padding: 0 1.5rem 5rem 0;
}

#image-preview {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1000;
  padding: 1rem;
  background: rgba(9, 85, 140, 0.85);
}

#image-preview .image {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* FLICKITY */

.flickity-viewport {
  margin-bottom: 4rem;
  transition: height 0.2s;
}

.flickity-viewport .slide {
  width: 100%;
  text-align: center;
}

.flickity-viewport .slide img,
.flickity-viewport .slide video {
  height: 18rem;
  object-fit: contain;
}

.flickity-viewport .slide video {
  display: block;
  width: 100%;
  background-color: #58595b;
}

.flickity-viewport .slide .caption {
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
}

.flickity-viewport .slide .caption a svg {
  display: inline-block;
  margin-left: 0.25rem;
  width: auto;
  height: 0.875rem;
  vertical-align: text-top;
}

button.flickity-button {
  color: #09558c;
}

button.flickity-button:active,
button.flickity-button:focus,
button.flickity-button:hover {
  border-color: #09558c;
  background-color: #09558c;
  color: #fff;
}

button.flickity-prev-next-button {
  border-radius: 4px;
}

.flickity-page-dots {
  top: calc(100% + 1rem);
  bottom: auto;
}

.flickity-page-dots .dot {
  width: 0.875rem;
  height: 0.875rem;
  margin: 0 0.375rem;
  background-color: #09558c;
  transition: all 200ms ease-out;
}

.flickity-page-dots .dot:hover {
  background-color: #00a3e0;
  opacity: 1;
}

/* BREAKPOINT STYLES */

@media only screen and (max-width:575px) {
  h1,
  .h1 {
    font-size: 2rem;
  }

  .job-form .image img {
    max-width: 100%;
    height: auto;
  }

  input[type=file] {
    max-width: 245px;
  }
}

@media only screen and (max-width:767px) {
  table.results {
    font-size: 80%;
  }

  .job-detail .card.data .row > div:first-child {
    font-size: 80%;
  }
}

@media only screen and (min-width:768px) {
  .job-detail .card.data .row {
    margin-bottom: 10px;
  }

  .job-detail .card.data .row > div:first-child {
    text-align: right;
  }

  table.results td .icon.file-count {
    line-height: 1.7;
  }

  .flickity-viewport .slide img,
  .flickity-viewport .slide video {
    height: 22rem;
  }
}

@media only screen and (min-width:992px) {
  .navbar-brand {
    font-size: 1.625rem;
  }

  .navbar-brand img {
    width: 100px;
    height: 100px;
  }

  .navbar .nav-item {
    font-size: 1.5rem;
  }

  table.results:not(.orders) img {
    max-width: 150px;
    max-height: 150px;
  }

  .manage-records .max-width {
    max-width: 490px;
  }

  .flickity-viewport .slide img,
  .flickity-viewport .slide video {
    height: 24rem;
  }
}

@media only screen and (min-width:1200px) {
  .navbar-brand {
    font-size: 1.75rem;
  }

  .navbar-brand img {
    width: 120px;
    height: 120px;
  }

  .navbar .nav-item {
    font-size: 2rem;
  }

  .flickity-viewport .slide img,
  .flickity-viewport .slide video {
    height: 36rem;
  }
}
