/* Mobile Specific Sharpness Overrides */
@media (max-width: 768px) {
  #block-ps-page-title h1 span {
    /* 1. Boost the font size on mobile so thin strokes occupy full pixels */
    font-size: 1.4rem;

    /* 2. Text-shadow hack: Adds a microscopic, crisp border to simulate a 350 font-weight */
    text-shadow: 0 0 0.5px currentColor;

    /* 3. Letter spacing helps readability when thin fonts are capitalized */
    letter-spacing: 0.05em;
  }
}

@media (max-width: 768px) {
  #block-ps-fg-2 {
  position: absolute;
  margin-left: 19vw;
  margin-top: 14vw;
  margin-right: 19vw;
  max-width: 500px;
  }
}

@media (min-width: 769px) {
  .lead { font-size: 1.5em;
  }
  #block-ps-fg-2 {
  position: absolute;
  margin-left: 29vw;
  margin-top: 9vw;
  margin-right: 29vw;
  max-width: 500px;
  }
}

@media (min-width: 769px) {
  .row .row {
    margin-right: -15px;
    margin-left: -15px;
  }
  .container {
    max-width: 94%;
  }

  /* --- Global Grid Base --- */
  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    position: relative;
    min-height: 0;
    padding: 0;
  }

  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }

  /* Base Columns */
  .col-1  { width: 8.3333%; }
  .col-2  { width: 16.6667%; }
  .col-3  { width: 25%; }
  .col-4  { width: 33.3333%; }
  .col-5  { width: 41.6667%; }
  .col-6  { width: 50%; }
  .col-7  { width: 58.3333%; }
  .col-8  { width: 66.6667%; }
  .col-9  { width: 75%; }
  .col-10 { width: 83.3333%; }
  .col-11 { width: 91.6667%; }
  .col-12 { width: 100%; }

  /* Tablet Columns (sm) */
  .col-sm-1  { width: 8.3333%; }
  .col-sm-2  { width: 16.6667%; }
  .col-sm-3  { width: 25%; }
  .col-sm-4  { width: 33.3333%; }
  .col-sm-5  { width: 41.6667%; }
  .col-sm-6  { width: 47%; margin-right: 3%; }
  .col-sm-7  { width: 58.3333%; }
  .col-sm-8  { width: 66.6667%; }
  .col-sm-9  { width: 75%; }
  .col-sm-10 { width: 83.3333%; }
  .col-sm-11 { width: 91.6667%; }
  .col-sm-12 { width: 100%; }

  /* Push & Pull Modifiers */
  .col-push-1  { left: 8.3333%; }
  .col-push-2  { left: 16.6667%; }
  .col-push-3  { left: 25%; }
  .col-push-4  { left: 33.3333%; }
  .col-push-5  { left: 41.6667%; }
  .col-push-6  { left: 50%; }
  .col-push-7  { left: 58.3333%; }
  .col-push-8  { left: 66.6667%; }
  .col-push-9  { left: 75%; }
  .col-push-10 { left: 83.3333%; }
  .col-push-11 { left: 91.6667%; }

  .col-pull-1  { right: 8.3333%; }
  .col-pull-2  { right: 16.6667%; }
  .col-pull-3  { right: 25%; }
  .col-pull-4  { right: 33.3333%; }
  .col-pull-5  { right: 41.6667%; }
  .col-pull-6  { right: 50%; }
  .col-pull-7  { right: 58.3333%; }
  .col-pull-8  { right: 66.6667%; }
  .col-pull-9  { right: 75%; }
  .col-pull-10 { right: 83.3333%; }
  .col-pull-11 { right: 91.6667%; }
}

@media (min-width: 992px) {
  .container {
    max-width: 94%;
  }

  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }

  .col-lg-1  { width: 8.3333%; }
  .col-lg-2  { width: 16.6667%; }
  .col-lg-3  { width: 25%; }
  .col-lg-4  { width: 33.3333%; }
  .col-lg-5  { width: 41.6667%; }
  .col-lg-6  { width: 50%; }
  .col-lg-7  { width: 58.3333%; }
  .col-lg-8  { width: 66.6667%; }
  .col-lg-9  { width: 75%; }
  .col-lg-10 { width: 83.3333%; }
  .col-lg-11 { width: 91.6667%; }
  .col-lg-12 { width: 100%; }

  .col-offset-1  { margin-left: 8.3333%; }
  .col-offset-2  { margin-left: 16.6667%; }
  .col-offset-3  { margin-left: 25%; }
  .col-offset-4  { margin-left: 33.3333%; }
  .col-offset-5  { margin-left: 41.6667%; }
  .col-offset-6  { margin-left: 50%; }
  .col-offset-7  { margin-left: 58.3333%; }
  .col-offset-8  { margin-left: 66.6667%; }
  .col-offset-9  { margin-left: 75%; }
  .col-offset-10 { margin-left: 83.3333%; }
  .col-offset-11 { margin-left: 91.6667%; }
}

@media (min-width: 992px) {
  .container {
    max-width: 94%;
  }

  /* --- Desktop Columns (lg) --- */
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }

  .col-lg-1  { width: 8.3333%; }
  .col-lg-2  { width: 16.6667%; }
  .col-lg-3  { width: 25%; }
  .col-lg-4  { width: 33.3333%; }
  .col-lg-5  { width: 41.6667%; }
  .col-lg-6  { width: 50%; }
  .col-lg-7  { width: 58.3333%; }
  .col-lg-8  { width: 66.6667%; }
  .col-lg-9  { width: 75%; }
  .col-lg-10 { width: 83.3333%; }
  .col-lg-11 { width: 91.6667%; }
  .col-lg-12 { width: 100%; }

  /* --- Offset Layout Modifiers --- */
  .col-offset-1  { margin-left: 8.3333%; }
  .col-offset-2  { margin-left: 16.6667%; }
  .col-offset-3  { margin-left: 25%; }
  .col-offset-4  { margin-left: 33.3333%; }
  .col-offset-5  { margin-left: 41.6667%; }
  .col-offset-6  { margin-left: 50%; }
  .col-offset-7  { margin-left: 58.3333%; }
  .col-offset-8  { margin-left: 66.6667%; }
  .col-offset-9  { margin-left: 75%; }
  .col-offset-10 { margin-left: 83.3333%; }
  .col-offset-11 { margin-left: 91.6667%; }
}

/* ==========================================================================
   Responsive Tablet Down Media Queries (Enclosed Balance State)
   ========================================================================== */

@media (min-width: 769px) {
  .form-horizontal .form-group {
    margin-right: -15px;
    margin-left: -15px;
  }

  .form-horizontal .control-label {
    text-align: right;
  }
}


/* --- Responsive Navbar (Mobile -> Desktop) --- */
@media screen and (min-width: 769px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-toggle {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .modal-dialog {
    right: auto;
    left: 50%;
    width: 600px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
}

/* --- Responsive Tablet & Large Display Captions --- */
@media screen and (min-width: 769px) {
  .carousel-control .glyphicon,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    font-size: 2.1429em;
  }

  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
  }

  .carousel-indicators {
    bottom: 20px;
  }
}

@media screen and (min-width: 769px) {
  .jumbotron {
    padding: 50px 60px;
    border-radius: 6px;
  }
  .jumbotron h1 {
    font-size: 4.5em;
  }
}

@media screen and (max-width: 400px) {
  @-ms-viewport {
    width: 320px;
  }
}

/* --- Mobile / Default Small Screens Range --- */
@media (max-width: 767px) {
  .visible-sm { display: block !important; }
  tr.visible-sm { display: table-row !important; }
  th.visible-sm, td.visible-sm { display: table-cell !important; }

  .hidden-sm { display: none !important; }
  tr.hidden-sm { display: none !important; }
  th.hidden-sm, td.hidden-sm { display: none !important; }
}

/* --- Mid-tier Screens Breakpoints (768px - 991px) --- */
@media (min-width: 769px) and (max-width: 991px) {
  .visible-md, .hidden-sm, .hidden-lg { display: block !important; }
  tr.visible-md, tr.hidden-sm, tr.hidden-lg { display: table-row !important; }
  th.visible-md, td.visible-md, th.hidden-sm, td.hidden-sm, th.hidden-lg, td.hidden-lg { display: table-cell !important; }

  .visible-sm, .visible-lg, .hidden-md { display: none !important; }
  tr.visible-sm, tr.visible-lg, tr.hidden-md { display: none !important; }
  th.visible-sm, td.visible-sm, th.visible-lg, td.visible-lg, th.hidden-md, td.hidden-md { display: none !important; }
}

/* --- Desktop Screens Breakpoints (992px Up) --- */
@media (min-width: 992px) {
  .visible-lg, .hidden-sm, .hidden-md { display: block !important; }
  tr.visible-lg, tr.hidden-sm, tr.hidden-md { display: table-row !important; }
  th.visible-lg, td.visible-lg, th.hidden-sm, td.hidden-sm, th.hidden-md, td.hidden-md { display: table-cell !important; }

  .visible-sm, .visible-md, .hidden-lg { display: none !important; }
  tr.visible-sm, tr.visible-md, tr.hidden-lg { display: none !important; }
  th.visible-sm, td.visible-sm, th.visible-md, td.visible-md, th.hidden-lg, td.hidden-lg { display: none !important; }
}

/* --- Output Print Range Boundaries --- */
@media print {
  .visible-print { display: block !important; }
  tr.visible-print { display: table-row !important; }
  th.visible-print, td.visible-print { display: table-cell !important; }

  .hidden-print { display: none !important; }
  tr.hidden-print { display: none !important; }
  th.hidden-print, td.hidden-print { display: none !important; }

  .navbar {
    display: none;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}

@media (min-width: 769px) {
  .lead {
    font-size: 1.5em;
  }
}

/* ==========================================================================
   Responsive Grid Engine & Grid Column Declarations
   ========================================================================== */

@media (min-width: 769px) {
  .row .row {
    margin-right: -15px;
    margin-left: -15px;
  }

  .container {
    max-width: 94%;
  }

  /* --- Global Grid Base --- */
  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    position: relative;
    min-height: 0;
    padding: 0;
  }

  /* --- Multi-device Column Floats --- */
  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }

  /* --- Base Columns --- */
  .col-1  { width: 8.3333%; }
  .col-2  { width: 16.6667%; }
  .col-3  { width: 25%; }
  .col-4  { width: 33.3333%; }
  .col-5  { width: 41.6667%; }
  .col-6  { width: 50%; }
  .col-7  { width: 58.3333%; }
  .col-8  { width: 66.6667%; }
  .col-9  { width: 75%; }
  .col-10 { width: 83.3333%; }
  .col-11 { width: 91.6667%; }
  .col-12 { width: 100%; }

  /* --- Tablet Columns (sm) --- */
  .col-sm-1  { width: 8.3333%; }
  .col-sm-2  { width: 16.6667%; }
  .col-sm-3  { width: 25%; }
  .col-sm-4  { width: 33.3333%; }
  .col-sm-5  { width: 41.6667%; }
  .col-sm-6  { width: 47%; margin-right: 3%; }
  .col-sm-7  { width: 58.3333%; }
  .col-sm-8  { width: 66.6667%; }
  .col-sm-9  { width: 75%; }
  .col-sm-10 { width: 83.3333%; }
  .col-sm-11 { width: 91.6667%; }
  .col-sm-12 { width: 100%; }

  /* --- Push Layout Modifiers --- */
  .col-push-1  { left: 8.3333%; }
  .col-push-2  { left: 16.6667%; }
  .col-push-3  { left: 25%; }
  .col-push-4  { left: 33.3333%; }
  .col-push-5  { left: 41.6667%; }
  .col-push-6  { left: 50%; }
  .col-push-7  { left: 58.3333%; }
  .col-push-8  { left: 66.6667%; }
  .col-push-9  { left: 75%; }
  .col-push-10 { left: 83.3333%; }
  .col-push-11 { left: 91.6667%; }

  /* --- Pull Layout Modifiers --- */
  .col-pull-1  { right: 8.3333%; }
  .col-pull-2  { right: 16.6667%; }
  .col-pull-3  { right: 25%; }
  .col-pull-4  { right: 33.3333%; }
  .col-pull-5  { right: 41.6667%; }
  .col-pull-6  { right: 50%; }
  .col-pull-7  { right: 58.3333%; }
  .col-pull-8  { right: 66.6667%; }
  .col-pull-9  { right: 75%; }
  .col-pull-10 { right: 83.3333%; }
  .col-pull-11 { right: 91.6667%; }
}


@media (min-width: 992px) {
  .container {
    max-width: 94%;
  }

  #masthead-holder .container,
  #masthead-holder-front .container {
    padding: 0;
    max-width: 100%;
  }

  /* --- Desktop Columns (lg) --- */
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }

  .col-lg-1  { width: 8.3333%; }
  .col-lg-2  { width: 16.6667%; }
  .col-lg-3  { width: 25%; }
  .col-lg-4  { width: 33.3333%; }
  .col-lg-5  { width: 41.6667%; }
  .col-lg-6  { width: 50%; }
  .col-lg-7  { width: 58.3333%; }
  .col-lg-8  { width: 66.6667%; }
  .col-lg-9  { width: 75%; }
  .col-lg-10 { width: 83.3333%; }
  .col-lg-11 { width: 91.6667%; }
  .col-lg-12 { width: 100%; }

  /* --- Offset Layout Modifiers --- */
  .col-offset-1  { margin-left: 8.3333%; }
  .col-offset-2  { margin-left: 16.6667%; }
  .col-offset-3  { margin-left: 25%; }
  .col-offset-4  { margin-left: 33.3333%; }
  .col-offset-5  { margin-left: 41.6667%; }
  .col-offset-6  { margin-left: 50%; }
  .col-offset-7  { margin-left: 58.3333%; }
  .col-offset-8  { margin-left: 66.6667%; }
  .col-offset-9  { margin-left: 75%; }
  .col-offset-10 { margin-left: 83.3333%; }
  .col-offset-11 { margin-left: 91.6667%; }
}

@media (min-width: 769px) {
  .form-horizontal .form-group {
    margin-right: -15px;
    margin-left: -15px;
  }

  .form-horizontal .control-label {
    text-align: right;
  }
}

@media screen and (min-width: 769px) {
  .modal-dialog {
    right: auto;
    left: 50%;
    width: 600px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
}

/* ==========================================================================
   Progress Bar Animation Keyframes
   ========================================================================== */

@-webkit-keyframes progress-bar-stripes {
  from { background-position: 40px 0; }
  to   { background-position: 0 0; }
}
@-moz-keyframes progress-bar-stripes {
  from { background-position: 40px 0; }
  to   { background-position: 0 0; }
}
@-ms-keyframes progress-bar-stripes {
  from { background-position: 40px 0; }
  to   { background-position: 0 0; }
}
@-o-keyframes progress-bar-stripes {
  from { background-position: 0 0; }
  to   { background-position: 40px 0; }
}
@keyframes progress-bar-stripes {
  from { background-position: 40px 0; }
  to   { background-position: 0 0; }
}

/* ==========================================================================
   Progress Containers & Striped Themes
   ========================================================================== */

.progress {
  height: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.progress-bar {
  float: left;
  width: 0;
  height: 100%;
  font-size: 0.8571em;
  color: #fff;
  text-align: center;
  background-color: #428bca;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.progress-striped .progress-bar {
  background-color: #428bca;
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}

.progress.active .progress-bar {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -moz-animation: progress-bar-stripes 2s linear infinite;
  -ms-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}

.progress-bar-danger { background-color: #d9534f; }
.progress-striped .progress-bar-danger {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-success { background-color: #5cb85c; }
.progress-striped .progress-bar-success {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-warning { background-color: #f0ad4e; }
.progress-striped .progress-bar-warning {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-info { background-color: #5bc0de; }
.progress-striped .progress-bar-info {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
/* ==========================================================================
   Accordion & Interactive Carousel Components Framework
   ========================================================================== */

.accordion {
  margin-bottom: 20px;
}

.accordion-group {
  margin-bottom: 2px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
}

.accordion-heading {
  border-bottom: 0;
}

.accordion-heading .accordion-toggle {
  display: block;
  padding: 8px 15px;
  cursor: pointer;
}

.accordion-inner {
  padding: 9px 15px;
  border-top: 1px solid #e5e5e5;
}

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner > .item {
  position: relative;
  display: none;
  -webkit-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: inline-block;
  height: auto;
  max-width: 100%;
  line-height: 1;
}

.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}

.carousel-inner > .active {
  left: 0;
}

.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}

.carousel-inner > .next { left: 100%; }
.carousel-inner > .prev { left: -100%; }

.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}

.carousel-inner > .active.left { left: -100%; }
.carousel-inner > .active.right { left: 100%; }

.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15%;
  font-size: 1.4286em;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.carousel-control.left {
  background-color: transparent;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
}

.carousel-control.right {
  right: 0;
  left: auto;
  background-color: transparent;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
}

.carousel-control:hover,
.carousel-control:focus {
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.carousel-control .glyphicon,
.carousel-control .icon-prev,
.carousel-control .icon-next {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  font-family: serif;
}

.carousel-control .icon-prev:before { content: '\2039'; }
.carousel-control .icon-next:before { content: '\203a'; }

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 120px;
  padding-left: 0;
  margin-left: -60px;
  text-align: center;
  list-style: none;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  cursor: pointer;
  border: 1px solid #fff;
  border-radius: 10px;
}

.carousel-indicators .active {
  width: 12px;
  height: 12px;
  margin: 0;
  background-color: #fff;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-caption .btn {
  text-shadow: none;
}

@media screen and (min-width: 769px) {
  .carousel-control .glyphicon,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    font-size: 2.1429em;
  }

  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
  }

  .carousel-indicators {
    bottom: 20px;
  }
}

/* ==========================================================================
   Hero Banners (Jumbotron) & Layout Help Elements
   ========================================================================== */

.jumbotron {
  padding: 30px;
  margin-bottom: 30px;
  font-size: 1.5em;
  font-weight: 200;
  line-height: 2.1429;
  color: inherit;
  background-color: #eee;
}

.jumbotron h1 {
  line-height: 1;
  color: inherit;
}

.jumbotron p {
  line-height: 1.4;
}

@media screen and (min-width: 769px) {
  .jumbotron {
    padding: 50px 60px;
    border-radius: 6px;
  }
  .jumbotron h1 {
    font-size: 4.5em;
  }
}

.clearfix:before,
.clearfix:after {
  display: table;
  content: " ";
}

.clearfix:after {
  clear: both;
}

.pull-right { float: right; }
.pull-left  { float: left; }

.hide      { display: none !important; }
.show      { display: block !important; }
.invisible { visibility: hidden; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.affix {
  position: fixed;
}

/* ==========================================================================
   Viewport Boundaries & Responsive Visibility Engine
   ========================================================================== */

@-ms-viewport {
  width: device-width;
}

@media screen and (max-width: 400px) {
  @-ms-viewport {
    width: 320px;
  }
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.visible-sm, .visible-md, .visible-lg, .visible-print { display: none !important; }
tr.visible-sm, tr.visible-md, tr.visible-lg, tr.visible-print { display: none !important; }
th.visible-sm, th.visible-md, th.visible-lg, th.visible-print,
td.visible-sm, td.visible-md, td.visible-lg, td.visible-print { display: none !important; }

@media (max-width: 767px) {
  .visible-sm { display: block !important; }
  tr.visible-sm { display: table-row !important; }
  th.visible-sm, td.visible-sm { display: table-cell !important; }

  .hidden-sm { display: none !important; }
  tr.hidden-sm { display: none !important; }
  th.hidden-sm, td.hidden-sm { display: none !important; }
}

@media (min-width: 769px) and (max-width: 991px) {
  .visible-md, .hidden-sm, .hidden-lg { display: block !important; }
  tr.visible-md, tr.hidden-sm, tr.hidden-lg { display: table-row !important; }
  th.visible-md, td.visible-md, th.hidden-sm, td.hidden-sm, th.hidden-lg, td.hidden-lg { display: table-cell !important; }

  .visible-sm, .visible-lg, .hidden-md { display: none !important; }
  tr.visible-sm, tr.visible-lg, tr.hidden-md { display: none !important; }
  th.visible-sm, td.visible-sm, th.visible-lg, td.visible-lg, th.hidden-md, td.hidden-md { display: none !important; }
}

@media (min-width: 992px) {
  .visible-lg, .hidden-sm, .hidden-md { display: block !important; }
  tr.visible-lg, tr.hidden-sm, tr.hidden-md { display: table-row !important; }
  th.visible-lg, td.visible-lg, th.hidden-sm, td.hidden-sm, th.hidden-md, td.hidden-md { display: table-cell !important; }

  .visible-sm, .visible-md, .hidden-lg { display: none !important; }
  tr.visible-sm, tr.visible-md, tr.hidden-lg { display: none !important; }
  th.visible-sm, td.visible-sm, th.visible-md, td.visible-md, th.hidden-lg, td.hidden-lg { display: none !important; }
}

/* -----------styles css ----------- */
/* Media Queries
================================================== */
@media (min-width: 769px) {
  #main-front-margin {
    max-width: 1900px;
    margin-top: 139px;
  }

  #main-page-margin {
    margin-top: 120px;
  }

  #block-tools {
    width: 94%;
    margin: auto;
    height: 35px;
    background: linear-gradient(90deg, transparent, #0c3b57, #0c3b57, #0c3b57, transparent);
  }
  #block-ps-tools {
  display:none;
  }
  #sidebar {
    column-count: 1;
  }
}

/* --- Small Desktop / Mid-Range Viewports (960px Down) --- */
@media (max-width: 768px) {
  .flex-caption {
    bottom: 20px;
  }
  .flex-direction-nav .flex-prev,
  .flex-direction-nav .flex-next {
    z-index: 1000;
  }
  .flex-direction-nav .flex-prev:hover,
  .flex-direction-nav .flex-next:hover {
    z-index: 1012;
  }
  #banner {
    box-shadow: 0 4px 20px -10px;
    display: inline-block;
    height: 77px;
    width: 100%;
  }
  #main-front-margin {
    margin-top: 80px;
  }
  #main-page-margin {
    margin: 100px;
  }
  #block-tools {
  display:none;
  }
  #block-ps-tools {
  display:block;
  }
  #block-cart-2 {
  display:none;
  }
  div.sf-accordion-toggle.sf-style-default a {
  background: #648195;
  color: white;
  display: inline-block;
  font-weight: bold;
  padding: 1em 3em 1em 1em;
  position: relative;
  width: 100%;
  }
  div.sf-accordion-toggle.sf-style-default a.sf-expanded, ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded > a, ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded > span.nolink {
  font-weight: bold;
  padding-left: 70px;
  }
  ul.sf-menu .sf-sub-indicator {
  right: 5em;
  }
  ul.sf-menu.sf-accordion, ul.sf-menu.sf-accordion ul, ul.sf-menu.sf-accordion li {
  float: none;
  text-align: left;
  width: 100% !important;
  box-sizing: border-box;
  padding-left: 26px;
  }
  ul.sf-menu.sf-style-default li:hover, ul.sf-menu.sf-style-default li.sfHover, ul.sf-menu.sf-style-default a.is-active, ul.sf-menu.sf-style-default a:focus, ul.sf-menu.sf-style-default a:hover, ul.sf-menu.sf-style-default span.nolink:hover {
  background: #105875;
  outline: 0;
  }
  div.sf-accordion-toggle.sf-style-default a.sf-expanded, ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded {
  background: #648195;
  }
  ul.sf-menu.sf-accordion.sf-expanded, ul.sf-menu.sf-accordion li.sf-expanded > ul {
  z-index: 0;
  }
  ul.sf-menu.sf-accordion, ul.sf-menu.sf-accordion ul, ul.sf-menu.sf-accordion li {
  float: none;
  text-align: left;
  width: 100% !important;
  box-sizing: border-box;
  background: #648195;
  }
  ul.sf-menu.sf-style-default a, ul.sf-menu.sf-style-default a:visited, ul.sf-menu.sf-style-default span.nolink {
  border: 0 none;
  color: white;
  padding: 0.75em 1em;
  }
  ul.sf-menu.sf-style-default li li, ul.sf-menu.sf-style-default.sf-navbar > li > ul {
  background: #648195;
  }
  ul.sf-menu.sf-style-default.sf-accordion li li a, ul.sf-menu.sf-style-default.sf-accordion li li span.nolink {
  padding-left: 2em;
  border-bottom: 1px solid white;
  }
  ul.sf-menu.sf-style-default li li li {
  background: #005b9e;
  }

  #block-ps-basket thead{
  background:black;
  color:white;
  }

  #block-ps-basket .cart-block--contents {
  display: none;
  }

  #masthead-front #block-headerblock,
  #masthead-sub #block-headerblock {
    width: 230px;
    height: 33px;
    margin: 0 auto 10px auto;
  }
  #sidebar {
    text-align: justify;
    padding: 0 20px;
    max-width: 100%;
  }
  #main-content {
    margin: -5px 0 0 0;
  }
  select.mnav {
    width: 100%;
    margin-bottom: 10px;
  }
  .front-shop-banner-large {
    font-size: 4vw;
  }
  #block-ps-page-title {
    margin: 0 auto;
    color: slategrey;
    text-align: center;
    font-family: 'Poiret One', sans-serif;
    font-weight: 700;
  }
  .icon-reward-star {
    width: 300px;
  }
  .icon-reward-star:after {
    font-size: 3.57em;
  }
  .icon-reward-star-text {
    font-size: 1.43em;
    margin: 24px 0 0 20px;
  }
  .menu-buy-basket:after {
    font-size: 9vw;
  }
  .squareuplogo img {
    padding: 0;
    float: none;
    width: auto;
  }
}

/* --- Strict Smart Mobile Viewports (550px Down) --- */
@media (max-width: 550px) {
  .flex-direction-nav a {
    width: 40px;
    height: 50px;
    display: block;
    background-image: url("../images/bg_direction_nav.png");
    position: absolute;
    top: 50%;
    z-index: 110;
    cursor: pointer;
    text-indent: -9999px;
    background-repeat: no-repeat;
    background-position: top -24px left -6px;
    margin-top: -30px;
  }

  .flex-direction-nav .flex-next {
    background-position: top -24px left -53px;
  }

  .flexslider:hover .flex-next:hover,
  .flexslider:hover .flex-prev:hover {
    background-position-y: -124px;
  }

  .flex-caption {
    margin-top: -66px;
    line-height: normal;
  }

  .flex-caption h2 {
    font-size: 1.86em;
  }

  .ornamenttext {
    padding: 10px 0;
    font-size: 1.43em;
  }
}

/* --- Custom Display Targets (510px Down) --- */
@media (max-width: 510px) {
  #slidebox {
    display: none;
  }

  .article-column {
    column-count: 1;
  }
}

/* --- Tight Layout Mobile Scaling (480px Down) --- */
@media (max-width: 480px) {
  .flex-direction-nav a {
    background-size: 70px;
    background-position: top -10px left -4px;
  }

  .flex-direction-nav .flex-next {
    background-position: top -10px left -38px;
  }

  .flexslider:hover .flex-next:hover,
  .flexslider:hover .flex-prev:hover {
    background-position-y: -80px;
  }

  .flex-caption {
    padding: 0 242px;
    font-size: 0.93em;
  }

  .flex-caption h2 {
    font-size: 1.35em;
  }

  .flex-caption a.frmore {
    margin-top: 5px;
  }

  #sidebar {
    height: auto;
    column-count: 1;
  }

  #block-ps-content .view-front-pages .views-row {
    column-count: 1;
    margin: 0 -15px;
  }
}

/* --- Legacy Micro Screen Constraints (380px Down) --- */
@media (max-width: 380px) {
  .flex-caption {
    padding: 0 272px;
  }

  #block-l {
    margin: 0;
    width: auto;
    display: inline-block;
  }

  #block-m {
    margin: auto;
    width: 140px;
    z-index: 10;
  }

  #block-r {
    padding: 5px;
    margin: auto;
    z-index: 20;
  }

  .bottom-site-title-address {
    font-size: 1.1em;
    float: left;
  }

  #masthead .site-title-address p {
    margin: 0;
    font-size: 0.71em;
    display: inherit;
  }

  .mobilenavi {
    float: right;
    width: 100%;
  }

  select.mnav {
    width: 100%;
    margin-bottom: 0;
  }

  .front-center-text-top-advert {
    font-size: 1.71em;
  }
}

/* --- Minimum Mobile Device Baselines (320px Down) --- */
@media (max-width: 320px) {
  .flex-caption {
    padding: 0 272px;
  }
}

/* ==========================================================================
   BLOCKS - Media Queries (Desktop Down Breakpoint Architecture)
   ========================================================================== */

/* --- Tablets & Mid-Sized Layouts --- */
@media(min-width: 769px) and (max-width: 1300px) {
  #block-cart { display: none; }
  #sidebar h1 { font-size: 1.4em; }
  #sidebar h2 { font-size: 1.3em; }
  #sidebar h3 { font-size: 1.2em; }
  #sidebar h4 { font-size: 1.1em; }
}

/* --- Desktop / Large Displays --- */
@media (min-width: 1300px) {
  #block-cart { display: none; }
  #sidebar h1 { font-size: 1.8em; }
  #sidebar h2 { font-size: 1.7em; }
  #sidebar h3 { font-size: 1.6em; }
  #sidebar h4 { font-size: 1.5em; }
}



/* --- Mobile Landscape Viewports --- */
@media (max-width: 768px) {
  #sidebar h1 { font-size: 1.0em; }
  #sidebar h2 { font-size: 0.9em; }
  #sidebar h3 { font-size: 0.8em; }
  #sidebar h4 { font-size: 0.7vw; }

  .PSLogo-Contact {
    width: 22vw;
    margin: 0 auto 15px auto;
    float: none;
  }

  .views-front-body {
    float: right;
    background: #8c49181f;
    transform: scale(0.7);
    margin: -30px -40px -20px 0;
    color: white;
    font-family: 'Poiret One';
    font-weight: 700;
    font-variant-caps: all-small-caps;
  }
}


/* --- Mobile Portrait Baselines --- */
@media (max-width: 500px) {
  #block-ps-page-title span {
    display: inline-block;
    font-size: 9vw;
    color: slategrey;
    font-family: 'Poiret One';
    font-weight: 700;
    text-transform: uppercase;
  }
  .background-advert img {
    display: none;
  }
  #block-ps-content h1 {
    font-size: 10vw;
  }
  #top-area #block-trading {
    display: none;
  }
  #sidebar {
    margin-bottom: 30px;
  }
  #sidebar #block-ink,
  #sidebar #block-squarepayments {
    max-width: 400px;
    float: none;
    padding: 10px;
  }
  #block-contact {
    margin: auto;
    color: white;
  }
  #field-top-group {
    min-height: 32px;
    font-size: 0.714em;
    padding: 20px 0 10px 0;
  }
}


@media (max-width: 320px) {
  #block-ps-content {
    margin-top: -25px;
  }
  .footer-block {
    width: 300px;
  }
}

/* ------- pages css ------- */


@media (max-width: 768px){
.gdpr-article{
margin: 0;
}
.anatomy-main {
display: block;
}
.rows-pen-anatomy .views-field.views-field-field-article-top-images-inline {
float: left;
width: 35%;
margin-right: 20px;
}
.rows-pen-anatomy .views-field-field-article-top-images-inline svg {
float: left;
clear: both;}
}

@media (max-width: 640px){
.groupcolumn{
width: 100%;
float: right;
padding: 0px;
}
.columntop{
display: inline-block;
margin-bottom: 20px;
}
.groupright{}
.groupleft{width:100%}

.art-img-group{
column-count: 2;
max-width: 100%;
}
.group-images-sc {
padding: 0 0 10px 0;
column-count: 2;
}
.group-images-dc{
padding: 0 0 10px 0;
column-count: 4;}
}

@media screen and (max-width: 768px) {
  ul.sf-menu.sf-accordion,
  ul.sf-menu.sf-accordion ul,
  ul.sf-menu.sf-accordion li {
    float: none;
    text-align: left;
    width: 100% !important; /* Force full width over layout breaking 70vw */
    box-sizing: border-box;
  }

  .sf-accordion-toggle.sf-style-white {
    background: #015c93 !important;
    width: 150px;
    margin: auto;
    display: block;
    height: 34px;
  }

  div.sf-accordion-toggle.sf-style-white a.sf-expanded,
  ul.sf-menu.sf-style-white.sf-accordion li.sf-expanded {
    background: #9d9443 !important;
    width: 100%;
  }

  ul.sf-menu.sf-accordion.sf-expanded,
  ul.sf-menu.sf-accordion li.sf-expanded > ul {
    top: auto !important;
    z-index: 10000;
    display: block !important;
  }

  /* Fixed base styles inside mobile breakpoint */
  ul.sf-menu.sf-style-white a,
  ul.sf-menu.sf-style-white a:visited,
  ul.sf-menu.sf-style-white span.nolink {
    color: white;
    background: #0c3b57;
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
}

@media (min-width: 769px){
.anatomy-main {
display: block;
}
.rows-pen-anatomy .views-field.views-field-field-article-top-images-inline {
margin-bottom: 20px;
width: 30%;
height:auto;}
}

@media (min-width: 640px){
.groupleft{
column-count:1;}
}
@media (max-width: 1024px) {
.tca{
column-count:1;}
}

@media print {
  .button.btn-primary {
    display: none !important;
  }
}
