/* ------------------------------------------------------------------
   custom.css - St Johns Road Dental Practice

   Loaded AFTER assets/main.css. Do not reorder the two <link> tags.

   Part 1 below replaces inline style attributes. Every declaration is
   !important on purpose: an inline style outranks any selector, so a
   plain class would lose to existing two-class rules in main.css and
   change the page. Part 2 holds rules lifted from per-page <style>
   blocks; those keep normal weight because that is what they had.

   Image paths are relative to this file (assets/), not to the page.
   ------------------------------------------------------------------ */

/* --- Text alignment --- */
.text-black {
  color: #000000 !important;
}
.text-center {
  text-align: center !important;
}
.text-center-black {
  text-align: center !important;
  color: #000000 !important;
}
.text-center-indent {
  text-align: center !important;
  padding-left: 10px !important;
}
.text-dark {
  color: #363333 !important;
}
.text-green {
  color: #7cb73f !important;
}
.text-grey-dark {
  color: #3d3838 !important;
}
.text-instagram {
  color: #c13584 !important;
}
.text-left {
  text-align: left !important;
}
.text-left-gap {
  text-align: left !important;
  margin-bottom: 48px !important;
}
.text-right {
  text-align: right !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-white {
  color: #ffffff !important;
}

/* --- Colour --- */
.tint-blue {
  background-color: rgb(9, 125, 213) !important;
}
.tint-cyan {
  background-color: rgb(15, 223, 249) !important;
}
.tint-green {
  background-color: rgb(126, 196, 60) !important;
}
.tint-magenta {
  background-color: rgb(239, 56, 155) !important;
}
.tint-pink {
  background-color: rgb(213, 84, 156) !important;
}
.tint-purple {
  background-color: rgb(151, 53, 206) !important;
}
.title-blue {
  color: rgb(9, 125, 213) !important;
}
.title-cyan {
  color: rgb(15, 223, 249) !important;
}
.title-green {
  color: rgb(126, 196, 60) !important;
}
.title-magenta {
  color: rgb(239, 56, 155) !important;
}
.title-pink {
  color: rgb(213, 84, 156) !important;
}
.title-purple {
  color: rgb(151, 53, 206) !important;
}

/* --- Layout and sizing --- */
.band-pad {
  padding: 30px 0 30px 0 !important;
}
.band-pad-grey {
  background-color: #f1f1f1 !important;
  padding: 30px 0 30px 0 !important;
}
.border-0 {
  border: 0 !important;
}
.flex-centre {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.fs-12 {
  font-size: 1.2em !important;
}
.gtm-noscript {
  display: none !important;
  visibility: hidden !important;
}
.img-centered {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.img-full {
  width: 100% !important;
  display: block !important;
}
.instagram-link-wrapper {
  text-align: center !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.instagram-link-wrapper-dark {
  text-align: center !important;
  background: #433e3e !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.is-hidden {
  display: none !important;
}
.lh-15 {
  line-height: 1.5em !important;
}
.logo-img {
  width: 230px !important;
  height: 108px !important;
}
.map-iframe {
  border: 0 !important;
  width: 100% !important;
}
.max-h-165 {
  max-height: 165px !important;
}
.video-iframe {
  width: 400px !important;
  height: 233px !important;
}
.video-iframe-lg {
  width: 500px !important;
  height: 281px !important;
}

/* --- Section background images --- */
.panel-bg-couple-smiling-after-st {
  background-image: url("filesystem/invisal/couple-smiling-after-st") !important;
}
.slide-bg-bnr-01 {
  background-image: url("filesystem/bgs/bnr-01.jpg") !important;
}
.slide-bg-cfast-teeth-straighteni {
  background-image: url("filesystem/images//cfast-teeth-straighteni") !important;
}
.slide-bg-clear-cfast-aligners-in {
  background-image: url("filesystem/images//clear-cfast-aligners-in") !important;
}
.slide-bg-cosimg1 {
  background-image: url("filesystem/images/cosimg1.jpg") !important;
}
.slide-bg-dental-bridge-dentist-w {
  background-image: url("filesystem/images//dental-bridge-dentist-w") !important;
}
.slide-bg-dental-patient-reviews {
  background-image: url("filesystem/images//dental-patient-reviews-") !important;
}
.slide-bg-dentist-2img {
  background-image: url("filesystem/images/dentist-2img.jpg") !important;
}
.slide-bg-dentures-dentist-in-lei-2 {
  background-image: url("filesystem/images//dentures-dentist-in-lei-2") !important;
}
.slide-bg-family-dental-check-up {
  background-image: url("filesystem/images//family-dental-check-up-") !important;
}
.slide-bg-home-page-banner-4d-del {
  background-image: url("filesystem/images//Home-Page-Banner.4d.del") !important;
}
.slide-bg-home-page-banner-implan {
  background-image: url("filesystem/images//Home-Page-Banner-implan") !important;
}
.slide-bg-invisaign-dentist-leice {
  background-image: url("filesystem/invisal/Invisaign-Dentist-Leice") !important;
}
.slide-bg-invisalign-dentist-leic-2 {
  background-image: url("filesystem/invisal/invisalign-dentist-leic-2") !important;
}
.slide-bg-porcelain-veneers-in-le {
  background-image: url("filesystem/images//porcelain-veneers-in-le") !important;
}
.slide-bg-sjr-1 {
  background-image: url("homepage-sliders/SJR 1-1920.jpg") !important;
}
.slide-bg-sjr-2 {
  background-image: url("homepage-sliders/SJR 2-1920.jpg") !important;
  background-color: lightgray !important;
  background-size: cover !important;
  background-position: center !important;
  background-blend-mode: multiply !important;
  color: #fff !important;
}
.slide-bg-sjr-3 {
  background-image: url("homepage-sliders/SJR 3-1920.jpg") !important;
  background-color: lightgray !important;
  background-size: cover !important;
  background-position: center !important;
  background-blend-mode: multiply !important;
  color: #fff !important;
}
.slide-bg-sjr-4 {
  background-image: url("homepage-sliders/SJR 4-1920.jpg") !important;
  background-color: lightgray !important;
  background-size: cover !important;
  background-position: center !important;
  background-blend-mode: multiply !important;
  color: #fff !important;
}
.slide-bg-sjr-5 {
  background-image: url("homepage-sliders/SJR 5-1920.jpg") !important;
  background-color: lightgray !important;
  background-size: cover !important;
  background-position: center !important;
  background-blend-mode: multiply !important;
  color: #fff !important;
}
.slide-bg-smile-gallery-couple-sm {
  background-image: url("filesystem/images//smile-gallery-couple-sm") !important;
}
.slide-bg-smile-makeover-dentist {
  background-image: url("filesystem/images//smile-makeover-dentist-") !important;
}
.slide-bg-teeth-whitening-in-leic {
  background-image: url("filesystem/images//teeth-whitening-in-leic") !important;
}
.slide-bg-white-fillings-for-chip {
  background-image: url("filesystem/images//white-fillings-for-chip") !important;
}
.strapline-bg-green {
  background-image: url("filesystem/images/Green-Strip.jpg") !important;
}
.testimonial-bg-dental-patient-review-l {
  background-image: url("filesystem/testimo/dental-patient-review-l") !important;
}
.testimonial-bg-dental-patient-review-l-2 {
  background-image: url("filesystem/testimo/dental-patient-review-l-2") !important;
}
.testimonial-bg-dental-patient-reviews {
  background-image: url("filesystem/testimo/dental-patient-reviews-") !important;
}
.testimonial-bg-dental-patient-thank-yo {
  background-image: url("filesystem/testimo/dental-patient-thank-yo") !important;
}
.testimonial-bg-dental-patient-thank-yo-2 {
  background-image: url("filesystem/testimo/dental-patient-thank-yo-2") !important;
}
.testimonial-bg-dental-patient-thank-yo-3 {
  background-image: url("filesystem/testimo/dental-patient-thank-yo-3") !important;
}
.testimonial-bg-dental-patient-thank-yo-4 {
  background-image: url("filesystem/testimo/dental-patient-thank-yo-4") !important;
}
.testimonial-bg-invisalign-leicester-de {
  background-image: url("filesystem/testimo/invisalign-leicester-de") !important;
}

/* ==================================================================
   Rules lifted out of per-page <style> blocks

   Rules that belonged to a single page are prefixed with that page's
   sjr-* hook class, added to its <body>. Body classes could not be used:
   `page-crowns` is shared by three pages and 19 pages have none.
   ================================================================== */

/* --- Instagram feed grid --- */
/* used by: 52 pages */
#instafeed {
  max-width: 1080px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}
#instafeed a {
  display: flex;
  align-items: center;
  position: relative;
  width: 50%;
  padding: 20px;
}
@media only screen and (min-width: 1200px) {
  #instafeed a {
    width: 25%;
  }
}
#instafeed a img {
  display: block;
  width: 180px;
  max-width: 180px;
  height: 180px;
}

/* --- Form validation message --- */
/* used by: contact.html, dentist-referral.html */
.field-error {
  padding-top: 12px;
  color: #b30000;
}

/* --- Video lightbox --- */
/* used by: cosmetic-dentistry/invisalign-new.html, cosmetic-dentistry/invisalign.html */
a.button-play {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 96px;
  height: 96px;
  background-color: #69685f;
  cursor: pointer;
  -webkit-box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.12),
    0 1px 2px rgba(0, 0, 0, 0.24);
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.12),
    0 1px 2px rgba(0, 0, 0, 0.24);
  border: 5px solid white;
  font-size: 2em;
  color: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
#fade {
  display: none;
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 1001;
  -moz-opacity: 0.8;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
#light {
  display: none;
  position: fixed;
  top: 27%;
  left: 50%;
  margin: 0 auto;
  max-width: 600px;
  max-height: 360px;
  margin-left: -300px;
  margin-top: -180px;
  z-index: 1002;
  overflow: visible;
}
#boxclose {
  float: right;
  cursor: pointer;
  color: #fff;
  border: 1px solid #aeaeae;
  border-radius: 3px;
  background: #222222;
  font-size: 31px;
  font-weight: bold;
  display: inline-block;
  line-height: 0px;
  padding: 11px 3px;
  position: absolute;
  right: 2px;
  top: 2px;
  z-index: 1002;
  opacity: 0.9;
}
.boxclose:before {
  content: "×";
}
#fade:hover ~ #boxclose {
  display: none;
}
.test:hover ~ .test2 {
  display: none;
}
@media only screen and (max-width: 992px) {
  #light {
    margin: 0 auto;
    top: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
  }
}

/* --- Page styles - booking.html --- */
/* used by: booking.html */
.sjr-booking .field-error {
  color: #b30000;
  padding-top: 6px;
}

/* --- Page styles - cbct-scan.html --- */
/* used by: cbct-scan.html */
.sjr-cbct-scan .faq {
  margin: 10px auto;
  padding: 0 16px;
  max-width: auto;
}
.sjr-cbct-scan .faq h2 {
  text-align: center;
  margin-bottom: 1rem;
}
.sjr-cbct-scan .faq details {
  border: 1px solid #7cb73f;
  border-radius: 10px;
  padding: 0.5rem;
  margin: 0 0 1rem 0;
  background: #fafafa;
}
.sjr-cbct-scan .faq summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.sjr-cbct-scan .faq summary::-webkit-details-marker {
  display: none;
}
.sjr-cbct-scan .faq summary::after {
  content: "＋";
  float: right;
  font-weight: 600;
  transition: transform 0.2s ease;
}
.sjr-cbct-scan .faq details[open] summary::after {
  content: "–";
}
.sjr-cbct-scan .faq details > div {
  margin-top: 0.5rem;
  color: #333;
  line-height: 1.55;
}

/* --- Page styles - general-dentistry/dental-crowns.html --- */
/* used by: general-dentistry/dental-crowns.html */
.sjr-general-dentistry-dental-crowns .video-iframe {
  width: 400px;
  height: 233px;
}
.sjr-general-dentistry-dental-crowns .crowns-highlight {
  padding: 22px 24px;
  background: #ffffff;
  border: 1px solid #e4e4e4;
  border-left: 4px solid #7cb73f;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}
.sjr-general-dentistry-dental-crowns .crowns-highlight h4 {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.3;
  color: #7cb73f;
}
.sjr-general-dentistry-dental-crowns .crowns-highlight ul {
  margin: 0;
  padding-left: 18px;
}
.sjr-general-dentistry-dental-crowns .crowns-highlight li {
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}
.sjr-general-dentistry-dental-crowns .crowns-highlight li:last-child {
  margin-bottom: 0;
}
.sjr-general-dentistry-dental-crowns .gtm-noscript {
  display: none;
  visibility: hidden;
}
.sjr-general-dentistry-dental-crowns .logo-img {
  width: 230px;
  height: 108px;
}
.sjr-general-dentistry-dental-crowns .text-green {
  color: #7cb73f;
}
.sjr-general-dentistry-dental-crowns .text-black {
  color: #000000;
}
.sjr-general-dentistry-dental-crowns .text-center {
  text-align: center;
}
.sjr-general-dentistry-dental-crowns .text-uppercase {
  text-transform: uppercase;
}
.sjr-general-dentistry-dental-crowns .p-indent {
  padding-left: 40px;
}
.sjr-general-dentistry-dental-crowns .section-title-gap {
  margin-top: 2.5em;
}
.sjr-general-dentistry-dental-crowns .btn-top-gap {
  margin-top: 2em;
}
.sjr-general-dentistry-dental-crowns .slide-crowns {
  background-image: url("filesystem/images/Home-Page-Banner.4d.del");
}
.sjr-general-dentistry-dental-crowns .strapline-bg-green {
  background-image: url("filesystem/images/Green-Strip.jpg");
  padding: 80px 0;
}
.sjr-general-dentistry-dental-crowns .testimonial-bg-crowns {
  background-image: url("filesystem/testimo/dental-patient-thank-yo");
}
.sjr-general-dentistry-dental-crowns .map-iframe {
  border: 0;
  width: 100%;
}
.sjr-general-dentistry-dental-crowns .instagram-link-wrapper {
  text-align: center;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.sjr-general-dentistry-dental-crowns .faq-right-wrapper {
  padding-left: 75px;
}
@media only screen and (max-width: 767px) {
  .sjr-general-dentistry-dental-crowns .faq-right-wrapper {
    padding-left: 0;
  }
}
.sjr-general-dentistry-dental-crowns .faq-accordion {
  margin-top: 0.5em;
}
.sjr-general-dentistry-dental-crowns .faq-item {
  border-bottom: 1px solid #e0e0e0;
}
.sjr-general-dentistry-dental-crowns .faq-item:first-child {
  border-top: 1px solid #e0e0e0;
}
.sjr-general-dentistry-dental-crowns .faq-question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0.85em 2em 0.85em 0;
  font-size: 1em;
  font-family: inherit;
  font-weight: 600;
  color: #363333;
  cursor: pointer;
  position: relative;
  display: block;
}
.sjr-general-dentistry-dental-crowns .faq-question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
  font-weight: 300;
  color: #7cb73f;
}
.sjr-general-dentistry-dental-crowns .faq-question.is-open::after {
  content: "\2212";
}
.sjr-general-dentistry-dental-crowns .faq-answer {
  display: none;
  padding: 0 0 1em 0;
}
.sjr-general-dentistry-dental-crowns .faq-answer p {
  margin: 0;
}
.sjr-general-dentistry-dental-crowns #instafeed {
  max-width: 1080px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}
.sjr-general-dentistry-dental-crowns #instafeed a {
  display: flex;
  align-items: center;
  position: relative;
  width: 50%;
  padding: 20px;
}
@media only screen and (min-width: 1200px) {
  .sjr-general-dentistry-dental-crowns #instafeed a {
    width: 25%;
  }
}
.sjr-general-dentistry-dental-crowns #instafeed a img {
  display: block;
  width: 180px;
  max-width: 180px;
  height: 180px;
}

/* --- Page styles - general-dentistry/dental-hygiene.html --- */
/* used by: general-dentistry/dental-hygiene.html */
.sjr-general-dentistry-dental-hygiene .gtm-noscript {
  display: none;
  visibility: hidden;
}
.sjr-general-dentistry-dental-hygiene .logo-img {
  width: 230px;
  height: 108px;
}
.sjr-general-dentistry-dental-hygiene .text-green {
  color: #7cb73f;
}
.sjr-general-dentistry-dental-hygiene .text-dark {
  color: #363333;
}
.sjr-general-dentistry-dental-hygiene .text-center {
  text-align: center;
}
.sjr-general-dentistry-dental-hygiene .text-uppercase {
  text-transform: uppercase;
}
.sjr-general-dentistry-dental-hygiene .video-iframe {
  width: 400px;
  height: 233px;
}
.sjr-general-dentistry-dental-hygiene .slide-dental-hygiene {
  background-image: url("filesystem/images/family-dental-check-up-");
}
.sjr-general-dentistry-dental-hygiene .strapline-bg-green {
  background-image: url("filesystem/images/Green-Strip.jpg");
}
.sjr-general-dentistry-dental-hygiene .testimonial-bg {
  background-image: url("filesystem/testimo/dental-patient-reviews-");
}
.sjr-general-dentistry-dental-hygiene .map-iframe {
  border: 0;
  width: 100%;
}
.sjr-general-dentistry-dental-hygiene .instagram-link-wrapper {
  text-align: center;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.sjr-general-dentistry-dental-hygiene .section-title-gap {
  margin-top: 2.5em;
}
.sjr-general-dentistry-dental-hygiene .faq-accordion {
  margin-top: 0.5em;
}
.sjr-general-dentistry-dental-hygiene .faq-item {
  border-bottom: 1px solid #e0e0e0;
}
.sjr-general-dentistry-dental-hygiene .faq-item:first-child {
  border-top: 1px solid #e0e0e0;
}
.sjr-general-dentistry-dental-hygiene .faq-question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0.85em 2em 0.85em 0;
  font-size: 1em;
  font-family: inherit;
  font-weight: 600;
  color: #363333;
  cursor: pointer;
  position: relative;
  display: block;
}
.sjr-general-dentistry-dental-hygiene .faq-question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
  font-weight: 300;
  color: #7cb73f;
}
.sjr-general-dentistry-dental-hygiene .faq-question.is-open::after {
  content: "\2212";
}
.sjr-general-dentistry-dental-hygiene .faq-answer {
  display: none;
  padding: 0 0 1em 0;
}
.sjr-general-dentistry-dental-hygiene .faq-answer p {
  margin: 0;
}
.sjr-general-dentistry-dental-hygiene .btn-top-gap {
  margin-top: 2em;
}
.sjr-general-dentistry-dental-hygiene .faq-right-wrapper {
  padding-left: 75px;
}
@media only screen and (max-width: 767px) {
  .sjr-general-dentistry-dental-hygiene .faq-right-wrapper {
    padding-left: 0;
  }
}
.sjr-general-dentistry-dental-hygiene #instafeed {
  max-width: 1080px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}
.sjr-general-dentistry-dental-hygiene #instafeed a {
  display: flex;
  align-items: center;
  position: relative;
  width: 50%;
  padding: 20px;
}
@media only screen and (min-width: 1200px) {
  .sjr-general-dentistry-dental-hygiene #instafeed a {
    width: 25%;
  }
}
.sjr-general-dentistry-dental-hygiene #instafeed a img {
  display: block;
  width: 180px;
  max-width: 180px;
  height: 180px;
}

/* --- Page styles - index-new.html --- */
/* used by: index-new.html */
.sjr-index-new #instafeed {
  max-width: 1080px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  background: #433e3e;
}
.sjr-index-new #instafeed a {
  display: flex;
  align-items: center;
  position: relative;
  width: 50%;
  padding: 20px;
}
@media only screen and (min-width: 1200px) {
  .sjr-index-new #instafeed a {
    width: 25%;
  }
}
.sjr-index-new #instafeed a img {
  display: block;
  width: 230px;
  max-width: 230px;
  height: 230px;
}

/* --- Page styles - smile-gallery.html --- */
/* used by: smile-gallery.html */
.sjr-smile-gallery .modal {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    avenir next,
    avenir,
    helvetica neue,
    helvetica,
    ubuntu,
    roboto,
    noto,
    segoe ui,
    arial,
    sans-serif;
}
.sjr-smile-gallery .modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}
.sjr-smile-gallery .modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 500px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}
.sjr-smile-gallery .modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sjr-smile-gallery .modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  box-sizing: border-box;
}
.sjr-smile-gallery .modal__close {
  background: transparent;
  border: 0;
}
.sjr-smile-gallery .modal__header .modal__close:before {
  content: "\2715";
}
.sjr-smile-gallery .modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}
.sjr-smile-gallery .modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition:
    transform 0.25s ease-out,
    -webkit-transform 0.25s ease-out;
}
.sjr-smile-gallery .modal__btn:focus,
.sjr-smile-gallery .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.sjr-smile-gallery .modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }

  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-10%);
  }
}
.sjr-smile-gallery .micromodal-slide {
  display: none;
}
.sjr-smile-gallery .micromodal-slide.is-open {
  display: block;
}
.sjr-smile-gallery .micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sjr-smile-gallery .micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sjr-smile-gallery .micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sjr-smile-gallery .micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sjr-smile-gallery .micromodal-slide .modal__container,
.sjr-smile-gallery .micromodal-slide .modal__overlay {
  will-change: transform;
}

/* --- Page styles - smile-gallery.html --- */
/* used by: smile-gallery.html */
.sjr-smile-gallery a.vimeo-popup:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: url("video/play-button-4209.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20%;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.4));
}
.sjr-smile-gallery .video-gallery {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
.sjr-smile-gallery .video-gallery .gallery-item {
  position: relative;
  float: left;
  overflow: hidden;
  margin: 0;
  cursor: pointer;
  border: 1px solid #7cb73f;
}
.sjr-smile-gallery .video-gallery .gallery-item.ez-3-sm {
  width: 24%;
  margin: 5px;
}
.sjr-smile-gallery .video-gallery .gallery-item img {
  position: relative;
  display: block;
  height: auto;
  transition:
    opacity 0.35s,
    transform 0.35s;
  backface-visibility: hidden;
}
.sjr-smile-gallery .video-gallery .gallery-item .gallery-item-caption {
  padding: 2em;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.25em;
}
.sjr-smile-gallery .video-gallery .gallery-item .gallery-item-caption,
.sjr-smile-gallery .video-gallery .gallery-item .gallery-item-caption > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sjr-smile-gallery .video-gallery .gallery-item h2 {
  font-weight: 300;
  overflow: hidden;
  padding: 0.5em 0;
}
.sjr-smile-gallery .video-gallery .gallery-item h2,
.sjr-smile-gallery .video-gallery .gallery-item p {
  position: relative;
  margin: 0;
  z-index: 10;
}
.sjr-smile-gallery .video-gallery .gallery-item p {
  letter-spacing: 1px;
  font-size: 68%;
  padding: 1em 0;
  opacity: 0;
  transition:
    opacity 0.35s,
    transform 0.35s;
  transform: translate3d(10%, 0, 0);
}
.sjr-smile-gallery .video-gallery .gallery-item:hover img {
  opacity: 0.3;
  transform: translate3d(0, 0, 0);
}
.sjr-smile-gallery .video-gallery .gallery-item .gallery-item-caption {
  text-align: left;
}
.sjr-smile-gallery .video-gallery .gallery-item h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 15%;
  height: 1px;
  background: #fff;
  transition: transform 0.3s;
  transform: translate3d(-100%, 0, 0);
}
.sjr-smile-gallery .video-gallery .gallery-item:hover h2::after {
  transform: translate3d(0, 0, 0);
}
.sjr-smile-gallery .video-gallery .gallery-item:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 50em) {
  .sjr-smile-gallery .video-gallery .gallery-item {
    display: inline-block;
    float: none;
    margin: 10px auto;
    width: 100%;
  }
  .sjr-smile-gallery .video-gallery .gallery-item.ez-3-sm {
    width: 100%;
    margin: 5px;
  }
}

/* --- Page styles - smile-gallery.html --- */
/* used by: smile-gallery.html */
.sjr-smile-gallery .img-gallery-magnific {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.sjr-smile-gallery .image-popup-vertical-fit:hover {
  opacity: 0.5;
}
@media all and (max-width: 900px) {
  .sjr-smile-gallery .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .sjr-smile-gallery .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .sjr-smile-gallery .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .sjr-smile-gallery .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* --- Page styles - smile-gallery.html --- */
/* used by: smile-gallery.html */
.sjr-smile-gallery .wx-content .ez-3-sm {
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
}
