@charset "UTF-8";
.button, .file-upload-input:before, .header[data-collapsed-version] .navicon, .header[data-collapsed-version] .mobile-nav-location-select, .location-select-button, .mobile-nav-footer .nav-footer-link, .search-bar button, .search-icon {
  border: 0px none;
  background-color: transparent;
  display: inline-block;
  padding: 0;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  outline: 0px none !important; }

@-webkit-keyframes blink {
  50% {
    opacity: 0; }
  51% {
    opacity: 1; } }

@keyframes blink {
  50% {
    opacity: 0; }
  51% {
    opacity: 1; } }

@-webkit-keyframes pulse {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes pulse {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@font-face {
  font-family: "Brooklyn Samuels";
  font-weight: 100;
  src: url("/assets/font/sam-light.otf") format("truetype"); }

@font-face {
  font-family: "Brooklyn Samuels";
  font-weight: 300;
  src: url("/assets/font/sam-thin.otf") format("truetype"); }

@font-face {
  font-family: "Brooklyn Samuels";
  font-weight: 400;
  src: url("/assets/font/sam-med.otf") format("truetype"); }

@font-face {
  font-family: "Brooklyn Samuels";
  font-weight: 600;
  src: url("/assets/font/sam-bold.otf") format("truetype"); }

@font-face {
  font-family: "Brooklyn Samuels";
  font-weight: 800;
  src: url("/assets/font/sam-fat.otf") format("truetype"); }

@font-face {
  font-family: "Effra";
  font-weight: 400;
  src: url("/assets/font/effra-regular.ttf") format("truetype"); }

@font-face {
  font-family: "Effra";
  font-weight: 600;
  src: url("/assets/font/effra-bold.ttf") format("truetype"); }

* {
  box-sizing: border-box; }

html, body {
  padding: 0;
  margin: 0;
  color: #575757;
  font-family: "Effra", sans-serif;
  font-size: 15px;
  line-height: 1.5em;
  position: relative; }

html {
  height: 100%; }

body {
  min-height: 100%;
  min-width: 320px; }
  @media screen and (min-width: 1025px) {
    body {
      padding-bottom: 240px; }
      body footer {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%; } }

a {
  text-decoration: none; }

img {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Brooklyn Samuels", sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em; }

.button.action {
  background: #fd5000;
  padding: 12px 16px 9px;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 4px;
  min-width: 200px;
  transition: background-color 0.2s, color 0.2s; }
  .button.action.secondary {
    background-color: #f2f5f4;
    color: #fd5000; }
  .button.action.with-arrow:after {
    content: "➡";
    margin-left: 0.5em; }
  .button.action.with-icon img {
    display: inline-block;
    margin-right: 10px;
    height: 0.7em; }
  .button.action.link {
    background-color: #2ad2c9;
    text-transform: capitalize; }
    .button.action.link:after {
      content: "→";
      margin-left: 5px;
      font-family: serif; }
    .button.action.link:active {
      background-color: #22a8a0; }
  .button.action:hover, .button.action:focus {
    background-color: #ca4000;
    color: white; }
  .button.action:active {
    background-color: #888888; }

.aside-header {
  width: 100%;
  padding: 20px;
  border-radius: 4px 4px 0 0; }
  @media screen and (max-width: 1024px) {
    .aside-header {
      border-radius: 4px; } }
  .is-open .aside-header {
    border-radius: 4px 4px 0 0; }
  .aside-header .aside-title,
  .aside-header [data-nav-trigger] {
    color: #2ad2c9;
    margin: 0;
    position: relative;
    font-size: 20px; }
  .aside-header .aside-title a {
    color: #2ad2c9;
    transition: color 0.2s; }
    .aside-header .aside-title a:hover {
      color: #fd5000; }
  @media screen and (min-width: 1025px) {
    .aside-header .aside-title {
      padding-top: 0.3em;
      font-size: 30px;
      line-height: 1.1em; }
      .aside-header .aside-title:after {
        position: absolute;
        content: "";
        display: block;
        background: #2ad2c9;
        height: 3px;
        width: 50px;
        margin-top: 0;
        left: 0;
        bottom: -18px; } }
  .aside-header [data-nav-trigger] {
    background: none;
    padding: 0;
    border: none;
    outline: none !important;
    text-align: left;
    font-family: "Brooklyn Samuels", sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1em;
    width: 100%; }
    .aside-header [data-nav-trigger]:after {
      content: "";
      background: url("/assets/img/icon/up-down-blue.svg") right bottom no-repeat;
      width: 35px;
      height: 35px;
      position: absolute;
      top: -12px;
      right: 0px; }
    .is-open .aside-header [data-nav-trigger]:after {
      background-position: right top; }
  .aside-header .aside-icon {
    margin: 20px auto 20px;
    max-width: 92px; }
  .aside-header.overlapping {
    margin-top: -26px; }
    @media screen and (min-width: 1025px) {
      .aside-header.overlapping {
        margin-top: -80px; } }
  .aside-header.invert {
    background: #2ad2c9;
    border: 10px solid #f2f5f4;
    border-width: 0 10px; }
    .aside-header.invert .aside-title {
      color: white;
      font-size: 25px;
      text-align: center; }

.aside-nav {
  padding: 20px 20px 20px 20px;
  position: relative;
  border-radius: 4px; }
  .aside-nav > a, .aside-nav p {
    display: block;
    font-size: 18px;
    line-height: 1.5em;
    padding: 0 10px; }
  .aside-nav > a {
    color: #2ad2c9; }
    .aside-nav > a:hover {
      text-decoration: underline; }
  .aside-nav .aside-nav-error {
    color: #e81043; }
  .aside-nav .is-active {
    background: white;
    color: #fd5000;
    border-radius: 4px; }
  .aside-nav .aside-nav {
    padding: 10px 0 10px 10px; }
  .is-open .aside-nav {
    border-radius: 0 0 4px 4px; }
  @media screen and (min-width: 1025px) {
    .aside-nav {
      border-radius: 0 0 4px 4px;
      padding: 20px 0 24px 10px; }
      .aside-nav .is-active {
        border-radius: 4px 0 0 4px; }
      .aside-nav .aside-nav {
        padding: 10px 0 10px 10px; } }

.aside-snippet {
  padding: 1em 20px; }
  .aside-snippet p {
    font-size: 16px;
    margin: 0; }

.backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }
  .backdrop .full, .backdrop .small, .backdrop .all {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }
  .backdrop .small {
    background-position: top center; }
  .backdrop .small {
    display: none; }
  @media screen and (max-width: 649px) {
    .backdrop .small {
      display: block; }
    .backdrop .full {
      display: none; } }

.banner {
  overflow: hidden;
  position: relative;
  background-color: rgba(42, 210, 201, 0.3);
  min-height: 400px;
  max-height: 400px; }
  @media screen and (max-width: 649px) {
    .banner {
      min-height: 500px; } }
  .banner [data-aspect-shim] {
    width: 100%;
    display: block; }
  .banner .banner-content {
    width: 100%;
    max-width: 980px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    padding: 20px 40px;
    transform: translateX(-50%); }
  .banner .banner-blurb {
    font-size: 18px;
    line-height: 1.2em;
    margin: 0.5em 0 0;
    color: white; }
  .banner * + .button {
    margin-top: 20px;
    text-transform: capitalize; }
  .banner .banner-title {
    color: white;
    font-family: "Brooklyn Samuels", sans-serif;
    font-weight: 600;
    line-height: 1.0em;
    margin: 0;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
    font-size: 34px; }
    @media screen and (min-width: 768px) {
      .banner .banner-title {
        font-size: 48px; } }
    .banner .banner-title.white {
      color: white; }
    .banner .banner-title.blue {
      color: #2ad2c9; }
    .banner .banner-title.orange {
      color: #fd5000; }
  .banner .banner-subtitle {
    color: #fd5000;
    font-size: 30px;
    font-weight: 600;
    font-family: "Brooklyn Samuels", sans-serif;
    line-height: 1.1em;
    margin-bottom: 0; }
    .banner .banner-subtitle:empty {
      display: none; }
  .banner .banner-title + .banner-subtitle {
    margin-top: 10px; }
  .banner.invert .banner-blurb {
    color: #575757; }

.banner.content-left .banner-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start; }

.banner.content-left .banner-title-block {
  max-width: 425px; }

.banner.content-bubble .banner-title-block {
  position: absolute;
  background: url("../img/bg/bubble.svg") center center no-repeat;
  background-size: 100% auto; }
  @media screen and (min-width: 768px) {
    .banner.content-bubble .banner-title-block {
      top: 47%;
      width: 333px;
      height: 333px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      padding: 59.94px 31.97px 59.94px 59.94px;
      transform: translate(-62px, -50%); } }
  .banner.content-bubble .banner-title-block .banner-title {
    font-size: 26px; }
    @media screen and (min-width: 768px) {
      .banner.content-bubble .banner-title-block .banner-title {
        font-size: 32px; } }
  .banner.content-bubble .banner-title-block .banner-blurb {
    color: white; }
  .banner.content-bubble .banner-title-block .banner-subtitle {
    font-size: 22px; }
  .banner.content-bubble .banner-title-block .button {
    margin-top: 15px; }

@media screen and (max-width: 767px) {
  .banner.content-bubble .banner-title-block {
    left: 0;
    bottom: 0px;
    width: 100%;
    text-align: center;
    padding: 40px 40px 20px;
    background-size: 230% auto;
    background-position: top center; } }

.banner.center-title .banner-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center; }

.banner.bottom-title .banner-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-end; }

@media screen and (max-width: 1024px) {
  .banner.bottom-title .banner-title-block {
    margin-bottom: 20px; } }

@media screen and (min-width: 1025px) {
  .banner.bottom-title .banner-title-block {
    padding-left: 360px; } }

@media screen and (min-width: 768px) {
  .banner.content-reverse-stack {
    padding-left: 20px;
    padding-right: 20px; } }

.banner.content-reverse-stack .banner-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-end;
  padding-left: 10px;
  padding-right: 10px; }
  @media screen and (min-width: 768px) {
    .banner.content-reverse-stack .banner-content .banner-title-block {
      display: flex;
      width: 100%;
      justify-content: space-between;
      align-items: flex-end; }
      .banner.content-reverse-stack .banner-content .banner-title-block .banner-title {
        margin-bottom: 20px; }
      .banner.content-reverse-stack .banner-content .banner-title-block .contact-details {
        display: flex;
        flex-direction: column; } }
  @media screen and (min-width: 1025px) {
    .banner.content-reverse-stack .banner-content .banner-title-block .banner-title {
      flex: 1; }
    .banner.content-reverse-stack .banner-content .banner-title-block .contact-details {
      flex: 2;
      flex-direction: row; } }

.banner-message {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  min-height: 40px;
  padding: 4px 0;
  background-color: #22a8a1; }
  .banner-message.light {
    color: white; }
  .banner-message.dark {
    color: black; }
  .banner-message > * {
    margin: 5px 10px 5px;
    min-height: 27px;
    padding-top: 2px; }

@media screen and (max-width: 649px) {
  .banner-message-text {
    text-align: center; } }

.banner-message-button {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  padding: 2px 9px 0px;
  transition: background-color 0.3s;
  white-space: nowrap; }
  .banner-message-button.light {
    color: white;
    background: rgba(0, 0, 0, 0.4); }
  .banner-message-button.dark {
    color: black;
    background: rgba(255, 255, 255, 0.4); }
  .banner-message-button:hover.light {
    background: rgba(0, 0, 0, 0.7); }
  .banner-message-button:hover.dark {
    background: rgba(255, 255, 255, 0.7); }

.banner-message-countdown-timer {
  white-space: nowrap; }

blockquote {
  margin: 0;
  padding-top: 1px;
  background: url("../img/bg/quote.svg") left top no-repeat;
  width: 100%;
  padding-left: 50px; }
  blockquote .quote {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3em;
    color: #2ad2c9;
    width: 100%; }
  blockquote .cite {
    font-size: 24px;
    font-weight: bold;
    color: rgba(87, 87, 87, 0.3); }

.bold-unordered-list ul {
  padding-left: 0px;
  list-style: none; }
  .bold-unordered-list ul li {
    padding-left: 35px;
    background: url("../img/bg/bullet.svg") left 3px no-repeat; }
  .bold-unordered-list ul li + li {
    margin-top: 10px; }

.button {
  font-family: "Brooklyn Samuels", sans-serif;
  font-size: 20px; }
  .button.plain {
    color: #fd5000;
    border: 1px solid;
    border-radius: 4px;
    padding: 0.4em 0.5em 0.2em;
    transition: color 0.2s, background-color 0.2s; }
    .button.plain:hover {
      background: #fd5000;
      color: white; }
    .button.plain:active {
      background: #973000; }
  .button.link {
    font-family: Arial;
    font-size: inherit; }
  .button.invert {
    color: white; }
  .button.alt {
    color: #2ad2c9; }
    .button.alt:hover {
      background: #2ad2c9; }

.carousel {
  position: relative; }
  .carousel .slide {
    width: 100%;
    min-height: 100%;
    position: relative;
    display: flex;
    background: #f2f5f4;
    flex-direction: column;
    justify-content: center; }
    .carousel .slide img {
      display: block;
      width: 100%; }
  .carousel .flickity-prev-next-button {
    position: absolute;
    top: 50%;
    width: 45px;
    height: 45px;
    margin-top: -22.5px;
    background-color: #2ad2c9; }
    .carousel .flickity-prev-next-button svg path {
      fill: white; }
    .carousel .flickity-prev-next-button.previous {
      left: -22.5px; }
    .carousel .flickity-prev-next-button.next {
      right: -22.5px; }

.category-summary .image img {
  display: block;
  width: 100%;
  height: auto; }

.category-summary .category-title {
  text-align: center; }

@media screen and (min-width: 768px) {
  .contact-details {
    display: flex; } }

.contact-details p {
  flex: 1;
  color: #2ad2c9;
  font-family: "Brooklyn Samuels", sans-serif;
  font-size: 24px;
  line-height: 28px;
  padding-left: 56px;
  vertical-align: middle;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 48px;
  width: 100%;
  background-image: url("../img/icon/contact.svg"); }
  .contact-details p[data-icon="phone-blue"] {
    background-position: 6px 6px; }
  .contact-details p[data-icon="em-phone-blue"] {
    background-position: 6px -71px; }
  .contact-details p span {
    font-size: 20px;
    display: block;
    margin: 0; }
  .contact-details p i {
    margin-right: 10px; }

.downloadable-file {
  display: flex;
  padding: 1em;
  background: #f2f5f4;
  align-items: flex-end; }
  .downloadable-file * {
    margin: 0;
    padding: 0; }
  .downloadable-file h4 {
    color: #2ad2c9;
    flex-grow: 1;
    font-size: 20px; }
  .downloadable-file p {
    color: #fd5000;
    font-size: 17px;
    align-self: center; }
  .downloadable-file .downloadable-file-icon {
    background: url("../img/icon/download.svg") center center no-repeat;
    background-size: 100% auto;
    width: 30px;
    height: 30px;
    margin-right: 10px; }

.downloadable-file + .downloadable-file {
  border-top: 1px solid #dadada; }

.drive-time {
  display: inline-block;
  visibility: hidden; }
  .drive-time.is-invalid {
    visibility: hidden; }
  .drive-time.is-done {
    visibility: visible; }
  .drive-time svg {
    margin-left: 5px;
    transform: translateY(1px); }
    .drive-time svg g {
      stroke: black; }

@media screen and (min-width: 1025px) {
  .dropdown-nav .dropdown-nav-panel {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 20;
    background: #22a8a1;
    display: flex;
    justify-content: flex-start;
    padding: 40px 0; }
    .dropdown-nav .dropdown-nav-panel .inner {
      overflow: hidden; }
    .dropdown-nav .dropdown-nav-panel a {
      display: block;
      margin-right: 1em;
      text-align: center; }
      .dropdown-nav .dropdown-nav-panel a .icon {
        margin: 0 auto;
        max-width: 90px; }
      .dropdown-nav .dropdown-nav-panel a span {
        padding: 0.3em 0.6em;
        border-radius: 4px; }
      .dropdown-nav .dropdown-nav-panel a:hover span {
        background: #2ad2c9; }
  .dropdown-nav .dropdown-nav-panel {
    visibility: hidden;
    opacity: 0;
    transform-origin: 50% 0%;
    transform: scale(1, 0.8);
    transition: opacity 0.1s, transform 0.1s, visibility 0.1s; }
  .dropdown-nav.enable-desktop-hover:hover .dropdown-nav-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px) scale(1, 1); } }

.enquiry-info-blurb {
  line-height: 1.3em; }
  @media screen and (min-width: 768px) {
    .enquiry-info-blurb {
      max-width: 260px;
      font-size: 19px;
      margin-right: auto; }
      .enquiry-info-blurb .section-title:after {
        content: "";
        width: 50px;
        height: 0;
        border-bottom: 3px solid;
        display: block;
        margin: 10px 0; } }

.faq .question, .faq .answer {
  position: relative;
  padding: 20px; }
  .faq .question:before, .faq .answer:before {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    border-style: solid; }
  .faq .question p, .faq .answer p {
    margin: 0; }

.faq .question {
  background: #2ad2c9; }
  .faq .question:before {
    left: 20px;
    border-width: 20px 20px 0 0;
    border-color: #2ad2c9 transparent; }
  .faq .question p {
    color: white; }

.faq .answer {
  display: flex;
  background: #f2f5f4;
  margin-top: 30px; }
  .faq .answer:before {
    right: 20px;
    border-width: 0 20px 20px 0;
    border-color: transparent #f2f5f4; }
  .faq .answer p {
    flex: 1; }
  .faq .answer .image {
    width: 150px;
    margin-left: 20px; }
    .faq .answer .image img {
      width: 100%; }

.fees-breakdown {
  border: 1px solid #2ad2c9;
  border-width: 1px 0;
  padding: 20px 0;
  max-width: 850px;
  margin: 0 auto; }
  .fees-breakdown .fees-breakdown-section {
    display: table;
    width: 100%;
    font-size: 18px; }
    .fees-breakdown .fees-breakdown-section td {
      padding: 5px;
      vertical-align: top; }
  .fees-breakdown .fees-breakdown-title {
    font-size: 30px;
    line-height: 1.1em;
    color: #2ad2c9; }
    .fees-breakdown .fees-breakdown-title.mobile {
      display: none; }
      .fees-breakdown .fees-breakdown-title.mobile td {
        padding-bottom: 0.5em; }
  .fees-breakdown .sep td {
    height: 20px; }
  @media screen and (max-width: 767px) {
    .fees-breakdown .fees-breakdown-title {
      display: none; }
    .fees-breakdown .fees-breakdown-title.mobile {
      display: table-row; } }

.file-upload-input {
  position: relative;
  display: inline-block;
  height: 40px;
  border-radius: 4px;
  overflow: hidden; }
  .file-upload-input input[type="file"] {
    display: block;
    height: 40px;
    width: 100px;
    opacity: 0.0;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    z-index: 1; }
  .file-upload-input:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "Select File";
    position: absolute;
    z-index: 0;
    color: white;
    background: #2ad2c9;
    border-radius: 4px;
    font-size: 13px;
    font-family: "Brooklyn Samuels", sans-serif;
    line-height: 40px;
    letter-spacing: 0.05em;
    white-space: nowrap;
    text-transform: capitalize;
    transition: background-color 0.3s; }
  .file-upload-input:hover:before {
    background: #22a8a0; }

.fineprint {
  font-size: 12px;
  color: #888888;
  text-align: center; }
  @media screen and (min-width: 1025px) {
    .fineprint {
      text-align: left; } }

footer {
  background: #f2f5f4;
  padding: 20px; }
  footer .button.action {
    width: auto;
    display: block;
    margin: 0 20px;
    min-width: 240px; }
    @media screen and (min-width: 768px) {
      footer .button.action {
        margin: 0;
        padding-left: 2em;
        padding-right: 2em; } }
  @media screen and (min-width: 768px) {
    footer {
      height: 240px; } }

.footer-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  @media screen and (min-width: 1025px) {
    .footer-links {
      justify-content: flex-end; }
      .footer-links a + a {
        margin-left: 1em; } }
  .footer-links a {
    color: #2ad2c9;
    display: inline-block;
    text-transform: lowercase;
    font-size: 13px;
    margin: 0 0.5em;
    line-height: 1.9em; }
    .footer-links a:hover {
      text-decoration: underline; }
  @media screen and (min-width: 1025px) {
    .footer-links .mobile-only {
      display: none; } }

.form-success-notice {
  text-align: left;
  font-size: 18px; }
  .form-success-notice .checkmark {
    margin-right: 0.4em;
    color: #45DE85; }
  .form-success-notice .form-success-title {
    text-align: center;
    margin-top: 0; }

@media screen and (min-width: 768px) {
  form {
    max-width: 437px; } }

form label, form input, form textarea {
  font-family: "Brooklyn Samuels", sans-serif; }

form label:first-child {
  color: #575757;
  display: block;
  font-size: 18px;
  min-height: 35px;
  padding: 0.3em 0;
  padding-right: 0.5em;
  letter-spacing: 0.02em;
  line-height: 1.2em; }

form input[type="text"], form input[type="password"], form input[type="email"], form input[type="date"], form input[type="tel"], form textarea, form .image-uploader {
  color: #575757;
  width: 70%;
  margin: 0;
  border-radius: 4px; }
  @media screen and (max-width: 767px) {
    form input[type="text"], form input[type="password"], form input[type="email"], form input[type="date"], form input[type="tel"], form textarea, form .image-uploader {
      width: 100%; } }

form input[type="text"], form input[type="password"], form input[type="email"], form input[type="tel"], form input[type="date"] {
  height: 35px;
  font-size: 16px;
  padding: 0.3em 0.5em; }

form textarea {
  font-size: 16px;
  padding: 0.3em 0.5em;
  line-height: 1.2em;
  resize: vertical; }

form input[type="text"], form input[type="password"], form input[type="email"], form input[type="tel"], form input[type="date"], form textarea {
  border: 1px solid transparent;
  outline: 0px none !important;
  transition: border-color 0.3s; }
  form input[type="text"]:active, form input[type="text"]:focus, form input[type="password"]:active, form input[type="password"]:focus, form input[type="email"]:active, form input[type="email"]:focus, form input[type="tel"]:active, form input[type="tel"]:focus, form input[type="date"]:active, form input[type="date"]:focus, form textarea:active, form textarea:focus {
    border-color: #2ad2c9; }

form .error, form .error-msg {
  color: #fd5000;
  display: block;
  margin-bottom: 1em; }

form .error-msg {
  display: block;
  background: #e81043;
  color: white;
  border-radius: 0 0 4px 4px;
  margin: -7px 3px 3px;
  padding: 7px 10px 3px; }
  @media screen and (min-width: 768px) {
    form .error-msg {
      line-height: 1em;
      margin-left: 35%; } }

form .info {
  display: block;
  margin-bottom: 1em;
  font-size: 16px; }

form .mandatory label:after {
  content: "*";
  display: inline-block;
  transform: translateX(-0.1em);
  color: #fd5000; }

form .optional label:after {
  content: "(optional)";
  font-size: 16px;
  display: block;
  opacity: 0.5; }

form .form-row {
  padding: 3px; }
  @media screen and (min-width: 768px) {
    form .form-row {
      display: flex;
      align-items: center; }
      form .form-row > label {
        flex: 1; } }
  form .form-row.hidden {
    display: none; }
  form .form-row.actions {
    text-align: right;
    margin-top: 6px; }
    form .form-row.actions .button, form .form-row.actions button, form .form-row.actions input[type="submit"] {
      margin-left: auto; }
  form .form-row.extra {
    margin-bottom: 0;
    margin-top: 20px; }
    form .form-row.extra > p {
      width: 100%;
      text-align: center;
      margin: 0; }
      form .form-row.extra > p > a {
        color: #2ad2c9;
        text-decoration: underline; }
  @media screen and (min-width: 768px) {
    form .form-row.fifty-fifty > input {
      flex: 1; } }
  form .form-row.image-guide {
    display: block;
    padding-bottom: 10px; }
    form .form-row.image-guide label {
      text-indent: 0.2em; }
    form .form-row.image-guide .row-inner {
      display: flex;
      align-items: flex-start; }
      form .form-row.image-guide .row-inner .guide {
        margin-right: 14px;
        max-width: 230px;
        border: 14px solid white; }
  form .form-row.stacked {
    display: block;
    clear: both;
    margin-top: 20px; }
    form .form-row.stacked p {
      margin: 0 0 10px; }
    form .form-row.stacked input[type="radio"] {
      float: left;
      clear: left; }
    form .form-row.stacked input[type="radio"] + label {
      float: left;
      font-weight: 400;
      margin-left: 5px;
      line-height: 1.6em; }
    form .form-row.stacked input[type="radio"] + label:last-child {
      margin-bottom: 20px; }

header .header[data-wide-version] {
  display: none; }

@media screen and (min-width: 1025px) {
  header .header[data-wide-version] {
    display: block; }
  header .header[data-collapsed-version] {
    display: none; } }

.header[data-wide-version] .header-top {
  padding: 20px; }
  .header[data-wide-version] .header-top div > * + * {
    margin-left: 20px; }

.header[data-wide-version] nav {
  position: relative;
  background: #2ad2c9;
  padding: 0 20px; }
  .header[data-wide-version] nav .inner {
    width: 100%;
    max-width: 980px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    .header[data-wide-version] nav .inner > a:hover,
    .header[data-wide-version] nav .inner > span > a:hover {
      text-decoration: underline; }
  .header[data-wide-version] nav a, .header[data-wide-version] nav span {
    min-height: 45px;
    line-height: 45px;
    text-decoration: none;
    color: white; }
  .header[data-wide-version] nav a {
    white-space: nowrap; }

.header[data-wide-version] .dropdown-nav .inner {
  justify-content: flex-start; }

.header[data-collapsed-version] {
  position: relative;
  z-index: 3; }
  .header[data-collapsed-version] .navbar {
    background: #2ad2c9;
    display: flex;
    justify-content: space-between;
    height: 59px;
    padding: 10px 16px; }
  .header[data-collapsed-version] .navicon {
    color: white;
    text-transform: uppercase;
    font-size: 0;
    background: url("/assets/img/icon/menu.svg") center right no-repeat;
    padding-right: 30px;
    padding-top: 3px; }
  .header[data-collapsed-version] .nav-overlay {
    position: absolute;
    width: 100%;
    background: #2ad2c9;
    color: white;
    padding: 0 10px 30px; }
    .header[data-collapsed-version] .nav-overlay .nav-overlay-inner {
      padding: 0 10px; }
  .header[data-collapsed-version] .mobile-nav {
    padding: 10px 0;
    margin-bottom: 10px; }
    @media screen and (max-width: 1024px) {
      .header[data-collapsed-version] .mobile-nav .search-icon {
        display: none; } }
    .header[data-collapsed-version] .mobile-nav a {
      display: block;
      padding: 7px 10px 6px;
      font-size: 18px;
      color: white;
      border-radius: 4px; }
    .header[data-collapsed-version] .mobile-nav .is-active {
      background: #55dbd4; }
    .header[data-collapsed-version] .mobile-nav .dropdown-nav {
      display: block;
      border-radius: 4px;
      transition: background-color 0.3s; }
      .header[data-collapsed-version] .mobile-nav .dropdown-nav [data-dropdown-trigger] {
        background: url("/assets/img/icon/up-down.svg") right bottom no-repeat; }
      .header[data-collapsed-version] .mobile-nav .dropdown-nav .dropdown-nav-panel {
        visibility: hidden;
        opacity: 0;
        display: none;
        transition: visibility 0.3s, opacity 0.3s, height 0.3s; }
      .header[data-collapsed-version] .mobile-nav .dropdown-nav.is-open {
        background: #55dbd4;
        margin: 3px 0; }
        .header[data-collapsed-version] .mobile-nav .dropdown-nav.is-open [data-dropdown-trigger] {
          background-position: right top; }
        .header[data-collapsed-version] .mobile-nav .dropdown-nav.is-open .dropdown-nav-panel {
          display: block;
          opacity: 1;
          padding: 0.3em 1em 0.6em;
          visibility: visible;
          height: auto; }
      .header[data-collapsed-version] .mobile-nav .dropdown-nav .icon {
        display: none; }
  .header[data-collapsed-version] .mobile-nav-location-select {
    background: #22a8a1;
    width: 100%;
    font-size: 20px;
    color: white;
    text-align: left;
    line-height: 45px;
    padding: 0 10px;
    border-radius: 4px; }
  .header[data-collapsed-version] .mobile-nav-footer {
    padding-top: 20px;
    margin-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.5); }
  .header[data-collapsed-version] .nav-overlay {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s; }
  .header[data-collapsed-version].is-open .nav-overlay {
    visibility: visible;
    opacity: 1; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .header[data-collapsed-version] .nav-overlay-inner {
      display: flex;
      justify-content: space-between; }
      .header[data-collapsed-version] .nav-overlay-inner .mobile-nav {
        flex: 1;
        margin-right: 40px; }
      .header[data-collapsed-version] .nav-overlay-inner .mobile-nav-footer {
        width: 260px;
        border-top: 0px;
        padding-top: 5px; } }

[data-icon] {
  display: inline-block;
  width: 25px;
  height: 25px;
  background-repeat: no-repeat;
  vertical-align: middle; }

.social-links [data-icon] {
  background-image: url("../img/icon/social.svg"); }

.mobile-nav-footer [data-icon] {
  background-image: url("../img/icon/nav-icons.svg"); }

.service-summary [data-icon] {
  background-image: url("../img/icon/service.svg"); }

.social-links.invert [data-icon] {
  background-image: url("/assets/img/icon/social-invert.svg"); }

[data-icon="search"] {
  background-position: 0 0px; }

[data-icon="login"] {
  background-position: 0 -34px; }

[data-icon="phone"] {
  background-position: 0 -68px; }

[data-icon="em-phone"] {
  background-position: 0 -102px; }

[data-icon="fb"] {
  background-position: 8px 2px; }

[data-icon="tw"] {
  background-position: -28px 2px; }

[data-icon="gp"] {
  background-position: -69px 2px;
  width: 35px; }

[data-icon="timer"] {
  background-position: -123px 17px; }

[data-icon="money"] {
  background-position: -81px -35px; }

[data-icon="smileplan"] {
  background-position: -43px -91px; }

[data-icon="symptoms"] {
  background-position: 2px -147px; }

.image-block {
  position: relative;
  min-height: 390px;
  text-align: center; }
  .image-block .backdrop .full {
    background-position: 40% center; }
  .image-block .backdrop .small {
    background-position: center top; }
  .image-block .image-block-content {
    position: absolute;
    padding: 20px;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; }
  .image-block .image-block-title {
    color: white;
    font-size: 30px;
    line-height: 1.1em;
    margin: 0.5em 0; }
  .image-block .image-block-blurb {
    color: #575757;
    line-height: 1.3em; }
    .image-block .image-block-blurb a {
      color: #fd5000;
      text-decoration: underline; }
    .image-block .image-block-blurb p:first-child {
      margin-top: 0; }
  .image-block .button {
    width: auto; }
    @media screen and (max-width: 767px) {
      .image-block .button {
        width: 100%; } }
  @media screen and (min-width: 768px) {
    .image-block {
      min-height: 460px; }
      .image-block.left .image-block-content {
        text-align: left;
        justify-content: center;
        left: 40%; }
      .image-block.right .image-block-content {
        text-align: right;
        justify-content: center;
        right: 40%; } }

.image-uploader {
  display: flex;
  justify-content: space-between;
  background: white;
  border-radius: 4px;
  padding: 14px;
  min-height: 68px; }
  .image-uploader .image-uploader-preview {
    min-height: 40px;
    position: relative;
    margin-right: 14px;
    flex: 1; }
    .image-uploader .image-uploader-preview [data-image-preview] {
      position: relative;
      z-index: 2; }
    .image-uploader .image-uploader-preview img {
      display: block;
      width: 100%; }
  .image-uploader .image-uploader-details {
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1; }
  .image-uploader .image-uploader-info {
    margin-left: 14px; }
    .image-uploader .image-uploader-info > span {
      display: block; }
    .image-uploader .image-uploader-info .image-uploader-text {
      font-weight: bold;
      font-size: 16px; }
    .image-uploader .image-uploader-info .image-uploader-limit {
      color: #888888;
      font-size: 12px; }
  .image-uploader .image-uploader-icon {
    width: 40px;
    height: 40px;
    background: url("/assets/img/icon/upload.svg") center center no-repeat;
    background-size: 100%;
    vertical-align: middle; }

.in-page-notice {
  font-size: 20px;
  padding: 20px;
  border: 1px solid #dadada;
  border-radius: 4px;
  background: #f2f5f4;
  text-align: center;
  max-width: 600px;
  margin: 0 auto; }
  .in-page-notice a {
    color: #2ad2c9; }
  .in-page-notice p:first-of-type {
    margin-top: 0; }
  .in-page-notice p:last-of-type {
    margin-bottom: 0; }
  .in-page-notice.error {
    border-color: #e81043;
    color: #e81043; }
  @media screen and (min-width: 768px) {
    .in-page-notice {
      padding: 30px; } }

.location-change-prompt svg {
  min-width: 24px;
  margin-top: 7px;
  margin-right: 8px; }
  .location-change-prompt svg g {
    stroke: #2ad2c9; }

.location-change-prompt p {
  font-size: 14px;
  margin: 0; }

.location-change-prompt .from {
  color: #2ad2c9;
  font-weight: 600;
  margin-right: 0.2em; }

.location-change-prompt a {
  color: #fd5000;
  margin-left: 1em;
  text-decoration: underline; }

.location-change-prompt .button {
  font-size: 13px;
  font-weight: normal; }

.location-change-prompt [data-location-trigger] {
  margin-left: 10px; }

.location-change-prompt .location-change-prompt-inputs {
  display: none;
  max-width: 400px;
  float: left;
  margin: 0px auto 0;
  padding: 20px;
  text-align: center; }
  .location-change-prompt .location-change-prompt-inputs label {
    display: block;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin: 0 0 1em 0;
    line-height: 13px; }

.location-change-prompt .location-change-prompt-method input {
  display: block;
  width: 100%;
  margin-top: 5px;
  border: 1px solid #dadada;
  font-size: 12px;
  padding: 5px 10px; }
  .location-change-prompt .location-change-prompt-method input:focus {
    border-color: #2ad2c9;
    outline: 0px none !important; }

.location-change-prompt .location-change-prompt-or {
  margin: 5px 0; }
  .location-change-prompt .location-change-prompt-or:before, .location-change-prompt .location-change-prompt-or:after {
    content: ' - '; }

.location-change-prompt.is-open .location-change-prompt-inputs {
  display: block; }

.location-change-prompt.is-open [data-location-trigger] {
  display: none; }

@media screen and (min-width: 1025px) {
  .location-change-prompt {
    display: block; }
    .location-change-prompt span {
      display: block; }
    .location-change-prompt [data-location-trigger] {
      margin: 5px 0 0 0; } }

.location-option {
  width: 100%;
  color: #575757;
  display: block;
  position: relative;
  justify-content: space-between;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px; }
  .location-option .location-option-name {
    color: #2ad2c9;
    font-weight: normal;
    font-family: "Brooklyn Samuels", sans-serif;
    font-size: 17px;
    border-radius: 4px;
    margin: 0; }
  .location-option .location-option-info {
    display: block;
    margin: 0;
    line-height: 1.4em;
    font-size: 13px; }
  .location-option .image {
    display: none; }
    .location-option .image img {
      width: 100%;
      height: 167px;
      border-radius: 4px; }
  .location-option .open-now {
    background: #fd5000;
    color: white;
    padding: 2px 0 0 10px;
    line-height: 2em;
    min-width: 100px;
    font-family: "Brooklyn Samuels", sans-serif;
    border-radius: 4px 0 0 4px; }
  @media screen and (max-width: 767px) {
    .location-option .drive-time {
      position: absolute;
      top: 10px;
      right: 10px; }
    .location-option.is-selected {
      background-color: rgba(42, 210, 201, 0.2); } }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .location-option {
      font-size: 14px; }
      .location-option .location-option-name:before {
        content: "Selected";
        margin-right: 1em;
        color: transparent; }
      .location-option.is-selected .location-option-name:before {
        color: rgba(87, 87, 87, 0.2); }
      .location-option.is-selected .cell {
        background-color: rgba(42, 210, 201, 0.2); } }
  @media screen and (min-width: 1025px) {
    .location-option {
      padding: 8px; }
      .location-option .image {
        display: block;
        margin-bottom: 13px; }
      .location-option .open-now {
        position: absolute;
        right: 0;
        top: 135px;
        display: block; }
      .location-option .location-option-name {
        margin-bottom: 6px; }
      .location-option .drive-time {
        margin-top: 6px; }
      .location-option:hover {
        background: rgba(42, 210, 201, 0.2); }
      .location-option.is-selected {
        background: #2ad2c9; }
        .location-option.is-selected .location-option-name,
        .location-option.is-selected .location-option-info,
        .location-option.is-selected .drive-time {
          color: white; }
          .location-option.is-selected .location-option-name svg g,
          .location-option.is-selected .location-option-info svg g,
          .location-option.is-selected .drive-time svg g {
            stroke: white; } }

.location-select-button {
  height: 35px;
  line-height: 37px;
  font-family: "Brooklyn Samuels", sans-serif;
  color: #888888;
  background: #f2f5f4;
  border-radius: 4px;
  padding: 0 10px;
  transition: color 0.2s; }
  .location-select-button svg {
    vertical-align: middle;
    margin-left: 5px; }
    .location-select-button svg polygon {
      transition: fill 0.2s; }
  .location-select-button:hover {
    color: #575757; }
    .location-select-button:hover svg polygon {
      fill: #fd5000; }

.logo {
  height: 42px;
  margin: 0;
  margin-top: -5px; }
  .logo img {
    height: 42px; }

.mini-map {
  display: flex;
  flex-direction: column;
  min-height: 350px; }
  .mini-map .mini-map-embed {
    background-color: rgba(42, 210, 201, 0.3);
    flex: 1; }
  .mini-map .mini-map-overlay {
    background: rgba(42, 210, 201, 0.9);
    padding: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    font-family: "Brooklyn Samuels", sans-serif;
    font-size: 24px;
    border-radius: 0 0 4px 4px; }
  .mini-map .mini-map-address {
    margin: 0;
    line-height: 28px;
    color: white;
    font-size: 24px; }
  .mini-map .mini-map-link {
    color: white; }
    .mini-map .mini-map-link:after {
      content: " >"; }

.mini-slideshow {
  padding-bottom: 45px;
  max-width: 490px; }
  .mini-slideshow .slide {
    width: 100%;
    padding: 20px;
    background-size: cover;
    background-position: center center; }
  .mini-slideshow .flickity-page-dots {
    display: none; }
  .mini-slideshow .flickity-prev-next-button {
    width: 45px;
    height: 45px;
    position: absolute;
    bottom: 0;
    background: #2ad2c9; }
    .mini-slideshow .flickity-prev-next-button.next {
      right: 20px; }
    .mini-slideshow .flickity-prev-next-button.previous {
      right: 75px; }
    .mini-slideshow .flickity-prev-next-button:hover {
      opacity: 0.7; }
    .mini-slideshow .flickity-prev-next-button:disabled:hover {
      opacity: 0.4; }
    .mini-slideshow .flickity-prev-next-button svg path {
      fill: white; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .mini-slideshow .flickity-prev-next-button {
      top: 50%;
      transform: translateY(-50%); }
      .mini-slideshow .flickity-prev-next-button.next {
        right: 20px; }
      .mini-slideshow .flickity-prev-next-button.previous {
        left: 20px; } }
  .mini-slideshow .slide blockquote {
    padding-right: 60px; }
    .mini-slideshow .slide blockquote .cite {
      margin-bottom: 0;
      font-weight: normal; }

.mobile-nav-footer {
  margin: 0 10px; }
  .mobile-nav-footer .nav-footer-link {
    display: block;
    text-align: left;
    font-size: 20px;
    color: white;
    margin-bottom: 10px; }
    .mobile-nav-footer .nav-footer-link i {
      margin-right: 5px;
      transform: translateY(-2px); }
  .mobile-nav-footer .button {
    margin-top: 20px;
    white-space: nowrap; }
  .mobile-nav-footer .mobile-nav-contact-details {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 20px;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.3em; }
    .mobile-nav-footer .mobile-nav-contact-details a {
      color: white; }
  .mobile-nav-footer .mobile-nav-meta {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    margin-bottom: 15px; }
  .mobile-nav-footer .open-hours {
    font-size: 16px;
    text-align: center; }
  .mobile-nav-footer .button.action {
    width: 100%; }
    @media screen and (min-width: 768px) and (max-width: 1024px) {
      .mobile-nav-footer .button.action {
        font-size: 18px; } }

.offer-exclusivity-notice {
  font-size: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid; }
  @media screen and (min-width: 768px) {
    .offer-exclusivity-notice {
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  @media screen and (max-width: 767px) {
    .offer-exclusivity-notice .social-links {
      margin-top: 10px; } }

.opening-hours {
  width: 100%;
  font-size: 20px;
  font-family: "Brooklyn Samuels", sans-serif;
  line-height: 1.5em;
  color: #2ad2c9;
  padding: 20px; }

.other-practices-table .practice-location-row {
  font-size: 18px;
  line-height: 1.5em; }
  .other-practices-table .practice-location-row a {
    color: #fd5000;
    text-decoration: underline; }
  .other-practices-table .practice-location-row h4, .other-practices-table .practice-location-row .phone {
    color: #2ad2c9; }
  .other-practices-table .practice-location-row a, .other-practices-table .practice-location-row .drive-time {
    font-size: 16px; }
  .other-practices-table .practice-location-row .hours-link, .other-practices-table .practice-location-row .drive-tile {
    text-align: right; }

@media screen and (max-width: 767px) {
  .other-practices-table .practice-location-row {
    position: relative; }
    .other-practices-table .practice-location-row:first-child h4 {
      margin-top: 0; }
  .other-practices-table .practice-location-row + .practice-location-row {
    margin-top: 10px; }
  .other-practices-table h4, .other-practices-table .map-link {
    margin: 0;
    display: block; }
  .other-practices-table .phone {
    position: absolute;
    top: 0;
    right: 0; } }

@media screen and (min-width: 768px) {
  .other-practices-table {
    display: table;
    width: 100%; }
    .other-practices-table .practice-location-row {
      display: table-row; }
    .other-practices-table .practice-location-row > * {
      display: table-cell;
      vertical-align: middle;
      padding: 10px 0px; }
    .other-practices-table .drive-time {
      text-align: right; } }

@media screen and (max-width: 1024px) {
  .other-practices-table .drive-time,
  .other-practices-table .hours-link {
    display: none; } }

.overlapping-actions {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 0px;
  text-align: right; }
  .overlapping-actions > * {
    transform: translateY(-50%); }
  @media screen and (min-width: 768px) {
    .overlapping-actions {
      padding: 0 20px; } }
  .overlapping-actions.large {
    margin-bottom: 40px; }
  .overlapping-actions.overlap-lots {
    margin-top: -30px; }

.page-cycle-nav {
  width: 100%; }
  .page-cycle-nav a {
    font-size: 0;
    color: transparent;
    width: 45px;
    height: 45px;
    position: absolute;
    bottom: 0;
    background: #2ad2c9;
    background: url("/assets/img/icon/prev-next.svg") left top no-repeat; }
    .page-cycle-nav a.next {
      left: 20px; }
    .page-cycle-nav a.prev {
      right: 20px;
      background-position: right top; }
    .page-cycle-nav a:hover {
      opacity: 0.7; }
    .page-cycle-nav a:disabled:hover {
      opacity: 0.4; }

.page-title {
  font-size: 48px;
  margin-bottom: 0;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.3); }

.page-subtitle {
  color: #fd5000;
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 0; }

.page-title + .page-subtitle {
  margin-top: 10px; }

.phone-and-open {
  margin-top: 2px;
  text-align: right; }
  .phone-and-open .open-hours {
    margin: 0;
    font-size: 14px;
    color: #2ad2c9;
    text-align: right;
    line-height: 14px;
    margin-bottom: -3px; }

.phone-number {
  color: #2ad2c9;
  font-size: 24px;
  font-family: "Brooklyn Samuels", sans-serif;
  line-height: 1em;
  white-space: nowrap; }
  .phone-number .non-critical {
    display: none; }
  @media screen and (min-width: 1025px) {
    .phone-number .non-critical {
      display: inline; } }

.promo-tile {
  position: relative;
  border-radius: 4px;
  background-size: cover; }
  @media screen and (max-width: 767px) {
    .promo-tile {
      background-position: 30% center; } }
  @media screen and (min-width: 768px) {
    .promo-tile {
      background-position: center center; } }
  @media screen and (min-width: 1025px) {
    .promo-tile {
      background-position: left center; } }
  .promo-tile .promo-tile-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px; }
  .promo-tile .promo-tile-info {
    display: block;
    color: white;
    max-width: 360px; }
  .promo-tile .promo-tile-title {
    max-width: 240px;
    font-size: 30px;
    line-height: 1.2em;
    margin: 0; }
  .promo-tile .promo-tile-text {
    font-size: 20px;
    margin-bottom: 0; }
  .promo-tile .social-links {
    text-align: right; }
  @media screen and (max-width: 767px) {
    .promo-tile {
      height: 430px; } }
  @media screen and (min-width: 768px) {
    .promo-tile {
      height: 310px; } }

.rich-text {
  color: #575757;
  padding-bottom: 3em; }
  .rich-text .rich-block {
    clear: both; }
  .rich-text .rich-block-heading {
    line-height: 1.2em;
    font-size: 32px;
    color: #2ad2c9;
    margin: 26px 0 20px;
    font-weight: normal; }
  .rich-text .rich-block + .rich-block {
    margin-top: 20px; }
  .rich-text .rich-block + .rich-block-heading {
    margin-top: 40px; }
  @media screen and (min-width: 1025px) {
    .rich-text .rich-block + .rich-block {
      margin-top: 40px; }
    .rich-text .rich-block + .rich-block-heading {
      margin-top: 60px; } }
  @media screen and (min-width: 1200px) {
    .rich-text .rich-block + .rich-block {
      margin-top: 60px; }
    .rich-text .rich-block + .rich-block-heading {
      margin-top: 80px; } }
  .rich-text .button.action {
    text-transform: capitalize; }
  .rich-text h1, .rich-text h2, .rich-text h3, .rich-text h4, .rich-text h5 {
    color: #2ad2c9; }
  .rich-text h4, .rich-text h5 {
    font-size: 18px; }
  .rich-text a {
    color: #2ad2c9;
    transition: color 0.2s; }
    .rich-text a:hover {
      color: #fd5000; }
  .rich-text blockquote {
    font-size: larger; }
  .rich-text p img {
    float: left;
    margin-top: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    max-width: 40%; }

.rich-text > p {
  font-size: 16px; }

.rich-block.text p:first-child {
  margin-top: 0; }

.rich-block.image img {
  display: block;
  max-width: 100%;
  margin: 1em 0; }

.rich-block.image .caption {
  text-align: center; }

@media screen and (max-width: 767px) {
  .rich-block.aside .aside {
    margin-bottom: 10px; } }

@media screen and (min-width: 768px) {
  .rich-block.aside {
    display: flex; }
    .rich-block.aside[data-side="left"] .aside {
      margin-right: 20px; }
    .rich-block.aside[data-side="right"] {
      flex-direction: row-reverse; }
      .rich-block.aside[data-side="right"] .aside {
        margin-left: 20px; } }

.rich-block.aside .aside {
  flex-basis: 200px;
  min-width: 200px; }
  .rich-block.aside .aside img {
    width: 100%; }

.rich-block.aside .content > :first-child {
  margin-top: 0; }

.rich-block.cta-button {
  margin-top: 0 !important; }

.rich-block.video .video-embed {
  margin: 1em 0; }

@media screen and (max-width: 767px) {
  .rich-block.carousel .flickity-prev-next-button.previous {
    left: -10px; }
  .rich-block.carousel .flickity-prev-next-button.next {
    right: -10px; } }

.rich-block.carousel .caption {
  text-align: center;
  font-size: 14px; }

.rich-block.staff-group .image-row {
  display: flex;
  flex-wrap: wrap; }

.search-bar {
  border: 4px solid rgba(42, 210, 201, 0.5);
  padding: 13px 10px;
  background: white;
  border-radius: 4px;
  transition: border-color 0.2s; }
  .search-bar .search-input {
    display: flex; }
  .search-bar button {
    font-size: 0;
    color: transparent;
    width: 24px;
    height: 24px;
    overflow: hidden;
    background: url("/assets/img/icon/search.svg") 0 0 no-repeat;
    flex-basis: 24px;
    min-width: 24px;
    opacity: 0.6;
    transition: opacity 0.2; }
  .search-bar input {
    flex: 1;
    height: 24px;
    font-size: 18px;
    margin-left: 13px;
    border: 0px none; }
    .search-bar input:active, .search-bar input:focus {
      outline: 0px none; }
    .search-bar input::-webkit-input-placeholder {
      color: #888888; }
    .search-bar input::-moz-placeholder {
      color: #888888; }
    .search-bar input:-ms-input-placeholder {
      color: #888888; }
  .search-bar.is-active {
    border-color: #2ad2c9; }
    .search-bar.is-active button {
      opacity: 1; }

.search-icon {
  font-size: 0;
  color: transparent;
  width: 30px;
  background: url("/assets/img/icon/search-invert.svg") center center no-repeat;
  background-size: 24px 24px;
  opacity: 1;
  transition: opacity 0.1s; }
  .search-icon:hover {
    opacity: 0.6; }

.search-result {
  display: flex;
  align-items: flex-start;
  color: #575757; }
  .search-result .image {
    overflow: hidden;
    margin-right: 20px;
    max-width: 66px;
    flex-basis: 66px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 50%; }
    .search-result .image .box {
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 100%;
      padding-bottom: 100%; }
  .search-result .search-result-summary {
    flex: 1; }
  .search-result .search-result-title {
    color: #2ad2c9;
    font-size: 18px;
    font-family: "Brooklyn Samuels", sans-serif;
    font-weight: normal;
    margin: 0 0 10px;
    transition: color 0.2s; }
  .search-result .search-result-excerpt {
    margin: 0; }
  .search-result .service-result-details {
    list-style: none;
    padding: 0; }
    .search-result .service-result-details span {
      font-weight: bold; }
  .search-result .practice {
    color: #888888; }
  .search-result:hover, .search-result:focus {
    outline: 0px none; }
    .search-result:hover .search-result-title, .search-result:focus .search-result-title {
      color: #fd5000; }

.service-quick-link {
  display: flex;
  padding: 14px;
  align-items: center;
  align-content: center;
  background-color: rgba(42, 210, 201, 0.3);
  color: #575757; }
  .service-quick-link img {
    max-width: 50px;
    height: 50px;
    border-radius: 50%; }
  .service-quick-link span {
    display: block;
    margin-left: 14px; }
  .service-quick-link .sep {
    flex-grow: 1; }
  .service-quick-link .main-text {
    font-size: 24px;
    font-weight: bold; }

.service-summary {
  background: #f2f5f4;
  padding: 0 20px 20px;
  border-radius: 4px; }
  .service-summary .service-summary-chunk {
    width: 100%;
    height: auto;
    font-size: 16px;
    padding-left: 45px;
    padding-top: 20px; }
    .service-summary .service-summary-chunk p {
      margin: 0; }
    .service-summary .service-summary-chunk ul {
      list-style: none;
      padding-left: 0; }
    .service-summary .service-summary-chunk em {
      font-style: normal;
      color: #2ad2c9; }
    .service-summary .service-summary-chunk a {
      color: #fd5000;
      text-decoration: underline;
      font-size: smaller; }
  .service-summary .service-summary-title {
    color: #2ad2c9;
    font-size: 20px;
    margin: 0 0 6.66667px; }
  .service-summary .service-summary-chunk + .service-summary-chunk {
    margin-top: 20px;
    border-top: 1px solid #dadada; }

.slideshow {
  position: relative;
  min-height: 400px; }
  .slideshow .slide {
    width: 100%;
    min-height: 400px;
    position: absolute; }
  .slideshow .flickity-viewport {
    z-index: 1; }
  .slideshow .slide {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 400px; }
    @media screen and (max-width: 649px) {
      .slideshow .slide {
        min-height: 500px; } }
    .slideshow .slide img {
      display: block;
      width: 100%; }
  .slideshow .flickity-prev-next-button {
    z-index: 2;
    position: absolute;
    top: 50%;
    width: 45px;
    height: 45px;
    margin-top: -22.5px;
    background-color: #2ad2c9; }
    .slideshow .flickity-prev-next-button svg path {
      fill: white; }
    .slideshow .flickity-prev-next-button.previous {
      left: 22.5px; }
    .slideshow .flickity-prev-next-button.next {
      right: 22.5px; }
  .slideshow .flickity-page-dots {
    position: absolute;
    z-index: 2;
    bottom: 20px; }
    .slideshow .flickity-page-dots .dot {
      background: white;
      opacity: 1;
      margin: 0 3px; }
    .slideshow .flickity-page-dots .dot.is-selected {
      background: #fd5000; }
  @media screen and (max-width: 767px) {
    .slideshow .slide.banner.content-bubble .banner-title-block {
      padding-bottom: 60px; } }
  @media screen and (max-width: 767px) {
    .slideshow .slide.banner.bottom-title .banner-title-block {
      padding-bottom: 40px; } }

.smile-assessment {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: rgba(42, 210, 201, 0.2); }
  .smile-assessment::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -9999px;
    right: 0;
    border-left: 9999px solid rgba(42, 210, 201, 0.2);
    box-shadow: 9999px 0 0 rgba(42, 210, 201, 0.2); }
  .smile-assessment::after {
    left: 100%; }
  .smile-assessment > * {
    position: relative; }
  .smile-assessment form {
    max-width: 100%; }
  .smile-assessment .smile-assessment-form-top-section {
    margin-bottom: 20px; }

.social-links a {
  display: inline-block;
  font-size: 0; }

.social-links a + a {
  margin-left: 10px; }

.social-links a:hover {
  opacity: 0.5; }

.staff-bio .image {
  flex-basis: 150px;
  min-width: 150px; }

.staff-bio .staff-title {
  color: #2ad2c9;
  font-size: 30px;
  font-weight: normal;
  margin: 0.9em 0 0.5em; }

@media screen and (min-width: 768px) {
  .staff-bio {
    display: flex; }
    .staff-bio .image img {
      width: 100%; }
    .staff-bio .staff-title {
      margin-top: 0; }
    .staff-bio .staff-details {
      margin-left: 20px; } }

.staff-thumb-with-overlay {
  position: relative; }
  .staff-thumb-with-overlay .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% - 20px);
    background: rgba(42, 210, 201, 0.9);
    color: white;
    padding: 5px 7px;
    border-top-right-radius: 15px; }
    .staff-thumb-with-overlay .overlay > * {
      margin: 0; }
  .staff-thumb-with-overlay .staff-name {
    color: white;
    font-weight: normal;
    line-height: 0.9em;
    font-size: 16px;
    margin-bottom: 0.2em; }
  .staff-thumb-with-overlay .staff-role {
    line-height: 1em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 100; }

.tile-link {
  display: block;
  position: relative;
  background-color: rgba(42, 210, 201, 0.3);
  border-radius: 4px; }
  .tile-link [data-aspect-shim] {
    width: 100%;
    border-radius: 4px; }
  .tile-link .tile-link-overlay {
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 15px;
    background: rgba(42, 210, 201, 0.9);
    color: white;
    padding: 10px 13px;
    border-top-right-radius: 13px;
    border-bottom-left-radius: 4px; }
    @media screen and (min-width: 1025px) {
      .tile-link .tile-link-overlay {
        padding: 15px 20px;
        border-top-right-radius: 20px;
        right: 20px; } }
  .tile-link .tile-link-text {
    display: block;
    width: 100%;
    line-height: 1.1em;
    font-family: "Brooklyn Samuels", sans-serif;
    font-size: 20px;
    padding-right: 60px;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: auto 100%; }
    @media screen and (min-width: 768px) {
      .tile-link .tile-link-text {
        font-size: 25px; } }

.unsupported-service-notice {
  border: 1px solid #dadada;
  padding: 10px 20px;
  background: #f2f5f4;
  border-radius: 4px; }
  .unsupported-service-notice:after {
    content: " ";
    display: table;
    clear: both; }
  .unsupported-service-notice p {
    margin: 0.2em 0; }
  .unsupported-service-notice p:first-child {
    font-size: 18px; }
  .unsupported-service-notice p + p {
    font-size: 14px; }
  .unsupported-service-notice a {
    color: #fd5000; }

.video-embed {
  padding-bottom: 56.25%;
  position: relative; }
  .video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.video-resource .video-resource-title {
  font-size: 20px;
  font-weight: normal;
  color: #575757; }

.video-resource + .video-resource {
  margin-top: 30px; }

[data-layout="blank-page"] {
  padding-top: calc(3vw + 40px); }
  [data-layout="blank-page"] .rich-block.image img {
    width: 100%; }
  [data-layout="blank-page"] .rich-block.staff-group {
    flex-wrap: nowrap; }
    [data-layout="blank-page"] .rich-block.staff-group .staff-thumb-with-overlay {
      max-height: 400px;
      flex: 1;
      max-width: 300px; }
      [data-layout="blank-page"] .rich-block.staff-group .staff-thumb-with-overlay > img {
        max-width: 100%;
        max-height: 100%; }
    [data-layout="blank-page"] .rich-block.staff-group .staff-thumb-with-overlay +
.staff-thumb-with-overlay {
      margin-left: 20px; }

[data-layout="side-by-side"],
[data-layout="halves"],
[data-layout="thirds"] {
  width: 100%;
  margin-bottom: 20px; }
  @media screen and (max-width: 767px) {
    [data-layout="side-by-side"] > * + *,
    [data-layout="halves"] > * + *,
    [data-layout="thirds"] > * + * {
      margin-top: 10px; } }
  @media screen and (min-width: 768px) {
    [data-layout="side-by-side"],
    [data-layout="halves"],
    [data-layout="thirds"] {
      display: flex; }
      [data-layout="side-by-side"] > *,
      [data-layout="halves"] > *,
      [data-layout="thirds"] > * {
        flex: 1; }
      [data-layout="side-by-side"] > * + *,
      [data-layout="halves"] > * + *,
      [data-layout="thirds"] > * + * {
        margin-left: 10px; } }

@media screen and (min-width: 768px) and (max-width: 1024px) {
  [data-layout="side-by-side"] {
    display: block; } }

[data-layout="footer"] {
  width: 100%;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0; }
  @media screen and (min-width: 768px) {
    [data-layout="footer"] {
      padding-left: 20px;
      padding-right: 20px; }
      [data-layout="footer"] > div {
        display: flex;
        justify-content: space-between; }
      [data-layout="footer"] .button-and-phone {
        flex-direction: row-reverse; } }
  [data-layout="footer"] .phone-and-social {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    [data-layout="footer"] .phone-and-social .social-links {
      margin-left: 20px; }
    @media screen and (max-width: 767px) {
      [data-layout="footer"] .phone-and-social {
        align-items: flex-end;
        margin-bottom: 20px; } }
    @media screen and (min-width: 768px) {
      [data-layout="footer"] .phone-and-social .social-links {
        transform: translateY(-5px); } }
  @media screen and (max-width: 767px) {
    [data-layout="footer"] .fineprint-and-links .fineprint {
      border-bottom: 1px solid #dadada;
      padding-bottom: 10px; } }

[data-layout~="grid"] > * {
  margin-top: 20px; }

@media screen and (min-width: 1025px) {
  [data-layout~="grid"] {
    display: flex;
    flex-wrap: wrap;
    padding-top: 8px; }
    [data-layout~="grid"] > * {
      margin: 10px; } }

[data-layout~="grid"][data-layout~="two-up"] > * {
  flex-grow: 1;
  min-width: calc(50% - 20px);
  flex-basis: calc(50% - 20px); }
  [data-layout~="grid"][data-layout~="two-up"] > *:nth-child(2n+1) {
    margin-left: 0; }
  [data-layout~="grid"][data-layout~="two-up"] > *:nth-child(2n) {
    margin-right: 0; }
  [data-layout~="grid"][data-layout~="two-up"] > *:nth-child(2n+1):last-child {
    margin-right: 0; }

[data-layout~="grid"][data-layout~="three-up"] > * {
  flex-grow: 1;
  min-width: calc(33.333% - 20px);
  flex-basis: calc(33.333% - 20px); }

[data-layout="header"] {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto; }
  [data-layout="header"] > div {
    display: flex;
    align-items: center; }

[data-layout~="indent-for-sidebar"] > div {
  width: 100%;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto; }
  @media screen and (min-width: 1025px) {
    [data-layout~="indent-for-sidebar"] > div {
      padding-left: 410px; } }

@media screen and (min-width: 768px) and (max-width: 1024px) {
  [data-layout="locations-list"] {
    display: table;
    width: 100%; }
    [data-layout="locations-list"] .location-option {
      display: table-row; }
      [data-layout="locations-list"] .location-option .cell {
        display: table-cell;
        padding-top: 0.7em;
        padding-bottom: 0.7em; }
      [data-layout="locations-list"] .location-option .cell:first-of-type {
        padding-left: 10px;
        border-radius: 4px 0 0 4px; }
      [data-layout="locations-list"] .location-option .cell:last-of-type {
        padding-right: 10px;
        border-radius: 0 4px 4px 0; }
      [data-layout="locations-list"] .location-option .cell:last-child {
        text-align: right; }
    [data-layout="locations-list"] .location-option + .location-option {
      margin-top: 20px; } }

@media screen and (min-width: 1025px) {
  [data-layout="locations-list"] {
    display: flex;
    flex-wrap: wrap;
    width: 660px; }
    [data-layout="locations-list"] .location-option {
      flex-basis: 220px;
      max-width: 220px; }
    [data-layout="locations-list"] .location-option + .location-option {
      margin-top: 0; }
    [data-layout="locations-list"] .location-option.special {
      display: none; } }

[data-layout~="members-login-form"] {
  background: rgba(42, 210, 201, 0.2);
  padding: 10px;
  border-radius: 4px; }

[data-layout="modal"] {
  display: none;
  overflow-y: auto;
  background: #f2f5f4;
  padding: 20px;
  z-index: 20;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0; }
  [data-layout="modal"] .modal-inner {
    max-width: 740px;
    margin: 0 auto;
    width: 100%;
    padding-bottom: 20px; }
  [data-layout="modal"] .modal-title {
    color: #2ad2c9;
    font-family: "Brooklyn Samuels", sans-serif;
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    line-height: 1.3em;
    margin-top: 35px; }
    @media screen and (max-width: 767px) {
      [data-layout="modal"] .modal-title {
        white-space: nowrap;
        margin-left: -20px;
        margin-right: -20px; } }
    @media screen and (min-width: 768px) {
      [data-layout="modal"] .modal-title {
        font-size: 48px;
        margin-top: 28px;
        margin-bottom: 35px;
        text-align: left; } }
  [data-layout="modal"] .modal-close {
    color: #fd5000;
    position: absolute;
    font-size: 24px;
    top: 10px;
    right: 10px;
    margin: 0;
    font-weight: normal; }
    @media screen and (min-width: 768px) {
      [data-layout="modal"] .modal-close {
        top: 20px;
        right: 20px; } }

[data-layout="quote-aside"] {
  width: 100%;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto;
  position: relative; }
  [data-layout="quote-aside"] aside {
    flex-basis: 310px;
    min-width: 310px;
    position: relative; }
    [data-layout="quote-aside"] aside > * {
      background-color: #f2f5f4; }
    [data-layout="quote-aside"] aside > * + * {
      margin-top: 20px; }
    [data-layout="quote-aside"] aside > .aside-header + * {
      margin-top: 0; }
      @media screen and (max-width: 767px) {
        [data-layout="quote-aside"] aside > .aside-header + * {
          padding-top: 0; } }
  [data-layout="quote-aside"] aside + div {
    padding-top: 40px; }
  @media screen and (min-width: 1025px) {
    [data-layout="quote-aside"] aside + div {
      margin-left: 80px; }
    [data-layout="quote-aside"][data-layout~="right"] aside + div {
      margin-right: 80px; } }
  @media screen and (min-width: 1025px) {
    [data-layout="quote-aside"] {
      display: flex; }
      [data-layout="quote-aside"] aside + div .rich-block.quote {
        position: absolute;
        left: 0;
        width: 290px;
        top: 20px; } }

[data-layout~="uneven-aside"] {
  width: 100%;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto; }
  [data-layout~="uneven-aside"] aside {
    position: relative;
    z-index: 10; }
    [data-layout~="uneven-aside"] aside > * {
      background-color: #f2f5f4; }
    [data-layout~="uneven-aside"] aside > * + * {
      margin-top: 20px; }
    [data-layout~="uneven-aside"] aside > .aside-header + * {
      margin-top: 0; }
      @media screen and (max-width: 1024px) {
        [data-layout~="uneven-aside"] aside > .aside-header + * {
          padding-top: 0; } }
    [data-layout~="uneven-aside"] aside .aside-snippet + .aside-nav {
      margin-top: 0; }
  @media screen and (min-width: 1025px) {
    [data-layout~="uneven-aside"] aside + div {
      padding-top: 40px; } }
  [data-layout~="uneven-aside"] [data-nav-trigger] {
    display: none; }
  @media screen and (max-width: 1024px) {
    [data-layout~="uneven-aside"] aside + div {
      padding-top: 20px; }
    [data-layout~="uneven-aside"] [data-widget="mobile-nav"] .aside-title {
      display: none; }
    [data-layout~="uneven-aside"] [data-widget="mobile-nav"] [data-nav-trigger] {
      display: block !important; }
    [data-layout~="uneven-aside"] [data-widget="mobile-nav"] [data-nav-panel] {
      display: none; }
    [data-layout~="uneven-aside"] [data-widget="mobile-nav"] .aside-title {
      display: none; }
    [data-layout~="uneven-aside"] [data-widget="mobile-nav"].is-open [data-nav-trigger] {
      border-radius: 4px 4px 0 0; }
    [data-layout~="uneven-aside"] [data-widget="mobile-nav"].is-open [data-nav-panel] {
      display: block; } }
  @media screen and (min-width: 1025px) {
    [data-layout~="uneven-aside"] {
      display: flex; }
      [data-layout~="uneven-aside"] aside {
        flex-basis: 310px;
        min-width: 310px; }
      [data-layout~="uneven-aside"] aside + div {
        flex: 1;
        margin-left: 80px; }
      [data-layout~="uneven-aside"][data-layout~="right"] {
        flex-direction: row-reverse; }
        [data-layout~="uneven-aside"][data-layout~="right"] aside + div {
          margin-left: 0;
          margin-right: 80px; } }
  @media screen and (max-width: 1024px) {
    [data-layout~="uneven-aside"][data-layout~="right"] {
      display: flex;
      flex-direction: column-reverse; }
      [data-layout~="uneven-aside"][data-layout~="right"] .aside-header.overlapping {
        margin-top: 0 !important; }
      [data-layout~="uneven-aside"][data-layout~="right"] aside {
        margin-top: 20px; } }

@media screen and (max-width: 767px) {
  [data-view="contact"] .contact-details + .button {
    width: 100%;
    line-height: 56px;
    padding: 3px 20px 0;
    text-transform: capitalize;
    display: flex;
    justify-content: space-between; } }

@media screen and (max-width: 767px) {
  [data-view="contact"] .main {
    padding: 0 10px; } }

@media screen and (min-width: 1025px) {
  [data-view="contact"] .main .inner > .contact-details {
    padding-left: 35%;
    justify-content: flex-end; }
  [data-view="contact"] .main .inner > .contact-details + .other-practices-table {
    margin-top: 40px; }
  [data-view="contact"] .main aside + div {
    padding-top: 0; } }

[data-view="contact"] .main > section:first-child {
  padding-top: 20px;
  padding-bottom: 20px; }
  @media screen and (min-width: 768px) {
    [data-view="contact"] .main > section:first-child {
      padding: 40px 20px; } }

@media screen and (min-width: 768px) {
  [data-view="contact"] .enquiry-info-blurb {
    padding-right: 20px; } }

@media screen and (min-width: 768px) {
  [data-view="contact"] form.enquiry-form {
    min-width: 425px; } }

[data-view="dev"] > h1, [data-view="dev"] > h2, [data-view="dev"] > h3 {
  text-align: center;
  font-family: "Brooklyn Samuels", sans-serif;
  font-weight: 100;
  margin-top: 2em; }

[data-view="dev"] > h1 {
  border-top: 3px dashed #dadada;
  padding: 2em 0 0; }

[data-view="dev"] .mini-slideshow {
  margin: 0 auto; }

.debug-notice {
  color: white;
  text-align: center;
  position: fixed;
  bottom: 0;
  z-index: 100;
  padding: 10px 20px;
  min-height: 75px;
  width: 100%;
  border: 5px solid #973000;
  background-clip: padding-box;
  background-color: #fd5000;
  transform: translateY(70px);
  transition: transform 0.2s ease-out; }
  .debug-notice p {
    font-size: 20px;
    margin: 0; }
  .debug-notice.ok {
    border: 5px solid #1ca154;
    background-color: #45DE85; }
  .debug-notice.error {
    border-color: #890927;
    background-color: #e81043; }
  .debug-notice > :first-child {
    margin-top: 0; }
  .debug-notice > :last-child {
    margin-bottom: 0; }
  .debug-notice:hover {
    transform: translateY(0px); }

[data-view="error"] .main > section {
  padding: 20px 0; }
  @media screen and (min-width: 768px) {
    [data-view="error"] .main > section {
      padding: 60px 0; } }

.page-top {
  z-index: 0; }

.main {
  z-index: 1; }
  .main section {
    padding: 0; }
    @media screen and (min-width: 768px) {
      .main section {
        padding: 0 10px; } }
  .main section + section {
    padding-top: 10px; }
    @media screen and (min-width: 768px) {
      .main section + section {
        padding-top: 20px; } }
  .main section.alt {
    background-color: rgba(42, 210, 201, 0.2); }
    @media screen and (min-width: 768px) {
      .main section.alt {
        padding-top: 20px;
        padding-bottom: 20px; } }
  .main section:last-child {
    padding-bottom: 20px; }
    @media screen and (min-width: 1025px) {
      .main section:last-child {
        padding-bottom: 40px; } }
  .main section.tight {
    padding-bottom: 0; }

section > .inner {
  width: 100%;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto; }

.section-title {
  font-size: 30px;
  font-weight: normal;
  line-height: 1.5em;
  color: #2ad2c9;
  margin: 0 0 0.5em; }

h3.section-title {
  font-size: 26px; }

@media screen and (min-width: 768px) {
  .search-bar {
    margin: 0 auto; } }

html.scroll-lock {
  overflow: hidden; }

[data-view="home"] header + section.overlapping-actions {
  padding-top: 20px; }
  [data-view="home"] header + section.overlapping-actions > * {
    transform: none; }

[data-view="home"] .slideshow .banner.bottom-title .banner-title-block {
  padding-bottom: 50px; }

[data-view="home"] .slideshow .flickity-page-dots {
  bottom: 40px; }

[data-modal="locations"] .modal-inner {
  max-width: 1042px; }

@media screen and (max-width: 1024px) {
  [data-modal="locations"] .location-change-prompt {
    border-top: 2px solid rgba(42, 210, 201, 0.5);
    margin-top: 20px;
    padding-top: 20px; } }

[data-modal="locations"] .locations-selector .location-selector-sidebar .location-option {
  display: none; }

@media screen and (min-width: 1025px) {
  [data-modal="locations"] .locations-selector {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    [data-modal="locations"] .locations-selector .location-selector-sidebar {
      max-width: 220px;
      margin-left: 50px; }
      [data-modal="locations"] .locations-selector .location-selector-sidebar .location-change-prompt {
        margin-top: 50px;
        margin-left: 8px; }
      [data-modal="locations"] .locations-selector .location-selector-sidebar .location-option {
        display: block; } }

[data-view="offers"] .offer-exclusivity-notice + .rich-text {
  margin-top: 20px; }
  @media screen and (min-width: 768px) {
    [data-view="offers"] .offer-exclusivity-notice + .rich-text {
      margin-top: 40px; } }

[data-view="offers"] .offer-booking-form {
  max-width: 100%; }
  [data-view="offers"] .offer-booking-form input[type="text"], [data-view="offers"] .offer-booking-form input[type="email"], [data-view="offers"] .offer-booking-form textarea {
    background: #f2f5f4; }

[data-view="offers"] .in-page-notice {
  margin: 20px auto; }
  @media screen and (min-width: 768px) {
    [data-view="offers"] .in-page-notice {
      margin: 40px auto; } }
  @media screen and (min-width: 1025px) {
    [data-view="offers"] .in-page-notice {
      margin: 80px auto; } }

[data-modal="search"] .search-result + .search-result {
  margin-top: 30px; }

[data-modal="search"] .search-results-total,
[data-modal="search"] .search-results-busy-indicator {
  color: #2ad2c9;
  text-align: center;
  text-transform: capitalize;
  font-size: 16px;
  margin-top: 6px;
  transition: margin 0.2s, font-size 0.2s, color 0.2s;
  display: none; }

[data-modal="search"] .is-zero {
  color: #fd5000;
  font-size: 32px;
  margin: 40px 0; }

[data-modal="search"] [data-blink] {
  -webkit-animation: blink 0.2s infinite;
          animation: blink 0.2s infinite; }

[data-modal="search"] [data-results-container] {
  padding-top: 10px; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    [data-modal="search"] [data-results-container] {
      padding-top: 20px;
      border-top: 1px solid #dadada; } }

[data-modal="search"] .modal-title {
  margin-bottom: 15px; }

@media screen and (max-width: 1024px) {
  [data-view="service"] .overlapping-actions {
    display: none; } }

[data-view="service"] .unsupported-service-notice {
  margin-bottom: 40px; }

[data-view="stories"] .banner .backdrop .small {
  background-size: contain;
  background-position: bottom center; }

@media screen and (max-width: 767px) {
  [data-view="stories"] .banner .banner-content {
    justify-content: flex-start; }
  [data-view="stories"] .banner .banner-title-block {
    text-align: center;
    width: 100%; } }

@media screen and (min-width: 768px) and (max-width: 1024px) {
  [data-view="stories"] .banner .banner-title-block {
    padding-left: 20px; } }

[data-view="stories"] .page-cycle-nav {
  position: absolute;
  top: 270px; }
  @media screen and (min-width: 1025px) {
    [data-view="stories"] .page-cycle-nav {
      top: 340px; } }

/*! Flickity v2.0.3
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  border: none;
  border-radius: 50%;
  background: white;
  cursor: pointer; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F; }

.flickity-prev-next-button:active {
  opacity: 0.6; }

.flickity-prev-next-button:disabled {
  opacity: 0.3;
  cursor: auto; }

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

.flickity-prev-next-button .arrow {
  fill: #333; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  opacity: 1; }
