html {
  scroll-behavior: smooth;
}

[class^="element-"].version-2 p:not(:last-of-type) {
  margin-bottom: 1rem;
}

[class^="element-"].version-2 :is(ol, ul) {
  margin: 1rem 0;
}

[class^="element-"].version-2 ol {
  list-style-type: decimal;
}

[class^="element-"].version-2 ol ol {
  list-style-type: lower-alpha;
  padding-left: 1rem;
}

[class^="element-"].version-2 ol ol ol {
  list-style-type: lower-greek;
}

[class^="element-"].version-2 ul {
  list-style-type: disc;
}

[class^="element-"].version-2 ul ul {
  list-style-type: circle;
  padding-left: 1rem;
}

[class^="element-"].version-2 ul ul ul {
  list-style-type: square;
}

/**
 * iframe
 */
.nb-iframe {
  margin-bottom: 1rem;
  margin-top: 1rem;
  padding-top: 100%;
  position: relative;
}

.nb-iframe iframe {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.nb-iframe:not(.nb-iframe--auto) iframe {
  height: 100%;
}

.nb-iframe--auto {
  padding-top: 0;
}
.nb-iframe--auto iframe {
  position: relative;
}

@media only screen and (min-width: 600px) {
  .nb-iframe {
    padding-top: 56.25%;
  }

  .nb-iframe--square {
    padding-top: 100%;
  }

  .nb-iframe--tv {
    padding-top: 75%;
  }

  .nb-iframe--35mm {
    padding-top: 66.67%;
  }

  .nb-iframe--auto {
    padding-top: 0;
  }
  .nb-iframe--auto iframe {
    position: relative;
  }
}

/* Content width */
[class^="element-"].content-width {
  margin-bottom: 120px;
  margin-top: 120px;
}

[class^="element-"].content-width .elem-container {
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 60px);
}

[class^="element-"].content-width--default .elem-container {
  max-width: 980px;
}

[class^="element-"].content-width--wide .elem-container {
  max-width: 1230px;
}

[class^="element-"].content-width--full-no-spacing {
  margin-top: 0;
  margin-bottom: 0;
}
[class^="element-"].content-width--full-no-spacing .elem-container {
  width: 100%;
}

/* blog */
[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-blog-posts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

@media only screen and (min-width: 600px) {
  [class^="element-"].version-2.layout-style--blog
    .wpt-container
    .wpt-blog-posts:not(.column-1) {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (min-width: 992px) {
  [class^="element-"].version-2.layout-style--blog
    .wpt-container
    .wpt-blog-posts:not(.column-1, .column-2) {
    grid-template-columns: 1fr 1fr 1fr;
  }

  [class^="element-"].version-2.layout-style--blog
    .wpt-container
    .wpt-blog-posts.column-2 {
    grid-template-columns: 1fr 1fr;
  }
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container[class*="containing-"] {
  margin-top: 2em;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row {
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}

[class^="element-"].version-2.rounded-corners-standard.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row {
  border-radius: 6px;
}

[class^="element-"].version-2.rounded-corners-false.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row {
  border-radius: 0;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-blog-posts
  .views-row
  .wpt-card {
  background: rgba(0, 0, 0, 0.05);
  padding: 15px;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  .wpt-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

[class^="element-"].version-2.layout-style--blog.rounded-corners-true
  .wpt-container
  .wpt-blog-posts
  .views-row
  .wpt-card {
  border-radius: 20px;
}

[class^="element-"].version-2.layout-style--blog.rounded-corners-standard
  .wpt-container
  .wpt-blog-posts
  .views-row
  .wpt-card {
  border-radius: 6px;
}

@media (max-width: 1000px) {
  [class^="element-"].version-2.layout-style--blog
    .wpt-container
    .wpt-blog-posts.posts-per-row-3
    > * {
    width: calc(100% / 2 - 30px * 1 / 2) !important;
  }
}

@media (max-width: 750px) {
  [class^="element-"].version-2.layout-style--blog
    .wpt-container
    .wpt-blog-posts:is(.posts-per-row-3, .posts-per-row-2)
    > * {
    width: 100% !important;
  }
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  .card-body {
  flex-grow: 1;
  padding: 20px 20px 15px;
}

[class^="element-"].version-2.layout-style--blog.rounded-corners-true
  .card-body {
  border-radius: 12px 12px 0 0;
}

[class^="element-"].version-2.layout-style--blog.rounded-corners-standard
  .card-body {
  border-radius: 6px 6px 0 0;
}

[class^="element-"].version-2.layout-style--blog .card-body {
  background: white;
  margin: -57px 0 0 0;
  position: relative;
  z-index: 1;
}

[class^="element-"].version-2.layout-style--blog .blog-meta {
  display: flex;
  font-size: 13px;
  gap: 20px;
  margin-bottom: 15px !important;
}

[class^="element-"].version-2.layout-style--blog .blog-meta > span {
  align-items: center;
  display: flex;
  gap: 7px;
}

[class^="element-"].version-2.layout-style--blog .blog-archive-photo {
  font-size: 0;
  margin: -15px -15px 0;
  overflow: hidden;
  position: relative;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  .card-body
  .title {
  font-weight: var(--wpt-secondary-font-weight);
  margin: 0 !important;
  padding: 0 !important;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  img {
  aspect-ratio: 10 / 7;
  height: auto;
  object-fit: cover;
  transition: 0.5s ease;
  width: 100%;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  img:hover {
  transform: scale(1.1);
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  .card-body
  .title
  a {
  line-height: 1.2 !important;
  display: block;
  color: var(--wpt-text-colour) !important;
  font-size: 22px;
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  .card-body
  .innercontent {
  font-size: 14px;
  margin: 0 !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--nb-line-clamp);
  line-clamp: var(--nb-line-clamp);
}

[class^="element-"].version-2.layout-style--blog
  .wpt-container
  .wpt-row
  .views-row
  .card-footer {
  padding: 0 20px 20px;
}

[class^="element-"].version-2.layout-style--blog.rounded-corners-true
  .card-footer {
  border-radius: 0 0 12px 12px;
  z-index: 1;
}

[class^="element-"].version-2.layout-style--blog.rounded-corners-standard
  .card-footer {
  border-radius: 0 0 6px 6px;
  z-index: 1;
}

[class^="element-"].version-2.layout-style--blog .card-footer {
  background: white;
}

[class^="element-"].version-2.layout-style--blog .card-footer .buttons {
  display: inline-block;
}

[class^="element-"].version-2.layout-style--blog .card-footer .buttons a {
  background: unset;
  border: 1px solid;
  padding: 10px 16px 9px;
  line-height: 1;
  font-size: 13px;
}

/* tiles */
[class^="element-"].version-2.layout-style--tiles .categories-container {
  margin: 2em 0 0;
}

[class^="element-"].version-2.layout-style--tiles .wpt-tiles .tile {
  min-height: var(--nb-tile-min-height);
  height: unset;
  overflow: hidden;
  position: relative;
}

[class^="element-"].version-2.layout-style--tiles .wpt-tiles {
  display: grid;
  gap: 13px;
  grid-template-columns: 1fr;
  width: 100%;
}

[class^="element-"].version-2.layout-style--tiles .wpt-tiles .tile {
  align-items: flex-end;
  display: flex;
  transition: ease 0.5s;
}

@media only screen and (min-width: 600px) {
  [class^="element-"].version-2.layout-style--tiles .wpt-tiles {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (min-width: 768px) {
  [class^="element-"].version-2.layout-style--tiles .wpt-tiles {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  [class^="element-"].version-2.layout-style--tiles.items-1 .wpt-tiles .tile {
    grid-column: span 4;
  }

  [class^="element-"].version-2.layout-style--tiles.items-3 .wpt-tiles {
    grid-template-columns: 1fr 1fr 1fr;
  }

  [class^="element-"].version-2.layout-style--tiles.items-6
    .wpt-tiles
    .tile:is(:nth-child(1), :nth-child(6)) {
    grid-column: span 2;
  }

  [class^="element-"].version-2.layout-style--tiles.items-5
    .wpt-tiles
    .tile:is(:nth-child(1), :nth-child(4), :nth-child(5)) {
    grid-column: span 2;
  }

  [class^="element-"].version-2.layout-style--tiles:is(.items-4, .items-2)
    .wpt-tiles
    .tile {
    grid-column: span 2;
  }

  [class^="element-"].version-2.layout-style--tiles:is(.items-7)
    .wpt-tiles
    .tile:nth-child(1) {
    grid-column: span 2;
  }
}

[class^="element-"].version-2.layout-style--tiles.custom-columns .wpt-tiles {
  grid-template-columns: 1fr;
}

/* fix without using !important */
[class^="element-"].version-2.layout-style--tiles.custom-columns
  .wpt-tiles
  .tile:is(:nth-child(odd), :nth-child(even)) {
  grid-column: auto;
}

@media only screen and (min-width: 600px) {
  [class^="element-"].version-2.layout-style--tiles.custom-columns
    .wpt-tiles:not(.columns-1) {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (min-width: 768px) {
  [class^="element-"].version-2.layout-style--tiles.custom-columns
    .wpt-tiles:is(.columns-3, .columns-4) {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media only screen and (min-width: 992px) {
  [class^="element-"].version-2.layout-style--tiles.custom-columns
    .wpt-tiles.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

[class^="element-"].version-2.layout-style--tiles .wpt-tiles .tile .overlay {
  position: absolute;
  display: flex;
  align-self: flex-start;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  padding: 20px;
  transition: ease 0.5s;
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .overlay:after {
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%;
  box-shadow: inset 0 -80px 40px -40px rgba(0, 0, 0, 0.5);
  left: 0;
  content: "";
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .overlay
  .field-content {
  font-size: 20px !important;
  font-weight: normal;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  padding: 0 !important;
  line-height: 1 !important;
  position: relative;
  z-index: 1;
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .overlay
  .overlay-content
  .field-content-location {
  font-family: var(--wpt-headings-secondary-font);
  font-size: 16px !important;
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .overlay
  .overlay-content {
  display: flex;
  flex-direction: column;
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .overlay
  img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transition: 0.5s ease;
}

[class^="element-"].version-2.layout-style--tiles .wpt-tiles .tile:hover img {
  transform: scale(1.1);
}

@media (min-width: 1260px) {
  [class^="element-"].version-2.layout-style--tiles .wpt-tiles .tile {
    min-height: var(--nb-tile-min-height);
  }
}

[class^="element-"].version-2.layout-style--tiles.rounded-corners-true
  .wpt-tiles
  .tile {
  border-radius: 20px;
}

[class^="element-"].version-2.layout-style--tiles.rounded-corners-standard
  .wpt-tiles
  .tile {
  border-radius: 6px;
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .overlay
  .field-content {
  font-size: 20px;
  font-weight: normal;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  padding: 0;
  line-height: 1;
  position: relative;
  z-index: 1;
}

[class^="element-"].version-2.layout-style--tiles
  .wpt-tiles
  .tile
  .field-content {
  color: white;
  margin: 0;
}

/* columns */
[class^="element-"].version-2.layout-style--columns .focus-items {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr;
  margin: 2em -15px 0;
  width: calc(100% + 30px);
}

@media only screen and (min-width: 600px) {
  [class^="element-"].version-2.layout-style--columns
    .focus-items:not(.columns-1) {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (min-width: 992px) {
  [class^="element-"].version-2.layout-style--columns
    .focus-items:not(.columns-1, .columns-2) {
    grid-template-columns: 1fr 1fr 1fr;
  }

  [class^="element-"].version-2.layout-style--columns .focus-items.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}

[class^="element-"].version-2.layout-style--columns .focus-items .views-row {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}

[class^="element-"].version-2.layout-style--columns:not(.ccp-bg-component)
  .focus-items
  .wpt-card {
  background: var(--wpt-page-component-bg-colour);
}

[class^="element-"].version-2.layout-style--columns .focus-items .wpt-card {
  background: white;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
}

[class^="element-"].version-2.layout-style--columns.rounded-corners-true
  .focus-items
  .wpt-card {
  border-radius: 20px;
  height: 100%;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--columns.rounded-corners-standard
  .focus-items
  .wpt-card {
  border-radius: 6px;
  height: 100%;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .views-field-field-photo {
  overflow: hidden;
  font-size: 0;
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .views-field-field-photo
  img {
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
  transition: 0.5s ease;
  width: 100%;
}

[class^="element-"].version-2.layout-style--columns .focus-items img:hover {
  transform: scale(1.1);
}

[class^="element-"].version-2.layout-style--columns .focus-items .card-body {
  padding: 20px;
  flex-grow: 1;
}

[class^="element-"].version-2.layout-style--columns .focus-items .card-footer {
  display: flex;
  padding: 0 20px 20px;
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .field-content {
  margin: 0;
  padding-bottom: 10px;
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .card-body
  .field-content
  :is(span, a) {
  color: var(--wpt-text-colour);
  display: block;
  line-height: 1.2;
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .card-body
  .title-underline {
  margin-bottom: 0;
  margin-top: 0;
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .card-body
  .innercontent {
  margin-top: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--nb-line-clamp);
  line-clamp: var(--nb-line-clamp);
}

[class^="element-"].version-2.layout-style--columns
  .focus-items
  .card-body
  :is(.innercontent, .innercontent *) {
  font-size: 14px;
}

/* rows */
[class^="element-"].version-2.layout-style--rows .focus-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 2em -15px 0;
  width: calc(100% + 30px);
}

[class^="element-"].version-2.layout-style--rows .focus-items .views-row {
  display: flex !important;
  flex-direction: column;
  justify-content: stretch;
}

[class^="element-"].version-2.layout-style--rows .focus-items > * {
  padding: 15px;
  width: 100%;
}

[class^="element-"].version-2.layout-style--rows:not(.ccp-bg-component)
  .focus-items
  .wpt-card {
  background: var(--wpt-page-component-bg-colour);
}

[class^="element-"].version-2.layout-style--rows .focus-items .wpt-card {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.05);
  background: white;
}

[class^="element-"].version-2.layout-style--rows .focus-items .wpt-card {
  display: flex;
  flex-grow: 1;
  flex-direction: row;
  align-items: center;
  min-height: 200px;
  position: relative;
}

[class^="element-"].version-2.layout-style--rows.rounded-corners-true
  .focus-items
  .wpt-card {
  border-radius: 20px;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--rows.rounded-corners-standard
  .focus-items
  .wpt-card {
  border-radius: 6px;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .views-field-field-photo {
  min-width: 33%;
  display: flex;
  font-size: 0;
  height: 100%;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .views-field-field-photo
  > * {
  height: 100%;
  width: 100%;
  position: relative;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .views-field-field-photo
  img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  transition: 0.5s ease;
  width: 100%;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .views-field-field-photo
  img:hover {
  transform: scale(1.1);
}

[class^="element-"].version-2.layout-style--rows .focus-items .card-body {
  padding: 30px 20px 20px;
  flex-grow: 1;
}

[class^="element-"].version-2.layout-style--rows .focus-items .card-footer {
  padding: 0 20px 30px;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .card-body
  .field-content {
  margin-top: 0;
  line-height: 1.5;
  padding: 0 0 10px;
  position: relative;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .card-body
  .field-content
  :is(span, a) {
  color: var(--wpt-text-colour);
  display: block;
  line-height: 1.2;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .card-body
  .title-underline {
  margin-bottom: 0;
  margin-top: 0;
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .card-body
  .innercontent {
  margin-top: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--nb-line-clamp);
  line-clamp: var(--nb-line-clamp);
}

[class^="element-"].version-2.layout-style--rows
  .focus-items
  .card-body
  :is(.innercontent, .innercontent *) {
  font-size: 14px;
}

/* small images */
[class^="element-"].version-2.layout-style--small-images h3:after {
  display: none;
}

[class^="element-"].version-2.layout-style--small-images h4 {
  font-size: 1.1em;
}

[class^="element-"].version-2.layout-style--small-images .focus-items {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr;
  margin-top: 2rem;
}

@media only screen and (min-width: 600px) {
  [class^="element-"].version-2.layout-style--small-images
    .focus-items:not(.columns-1) {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (min-width: 992px) {
  [class^="element-"].version-2.layout-style--small-images
    .focus-items:not(.columns-1, .columns-2) {
    grid-template-columns: 1fr 1fr 1fr;
  }

  [class^="element-"].version-2.layout-style--small-images
    .focus-items.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .views-row
  .wpt-card {
  background: unset;
  border-radius: unset;
  display: flex;
  flex-direction: row;
  margin: auto;
  width: 100%;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .views-field-field-photo {
  border-radius: 100px;
  display: block;
  height: 71px;
  max-width: 71px;
  min-width: 71px;
  overflow: hidden;
}

[class^="element-"].version-2.layout-style--small-images .focus-items img {
  height: 71px;
  min-width: 71px;
  object-fit: cover;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .row-content
  > * {
  padding-right: 0;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body {
  padding: 20px 0 0 20px;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body
  .field-content {
  margin: 0 0 15px 0;
  padding: 0;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body
  .field-content
  :is(h3, h3 span, h3 a) {
  display: block;
  line-height: 1.2;
  margin: 0 0 0.5em;
  padding: 0;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body
  .title-underline {
  display: none;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body
  .innercontent {
  margin-top: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--nb-line-clamp);
  line-clamp: var(--nb-line-clamp);
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body
  :is(.innercontent, .innercontent *) {
  font-size: 14px;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-footer {
  padding: 0 0 0 20px;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .wpt-button {
  background: unset;
  border: none;
  color: var(--wpt-primary-colour);
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 12px;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .wpt-button:after {
  font-size: 10px;
  content: "\f101";
  padding-left: 10px;
  transition: 0.5s ease;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .wpt-button:hover {
  background: unset !important;
  box-shadow: unset;
  opacity: 1;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .wpt-button:hover:after {
  transform: translateX(100%);
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body
  .views-field-title {
  margin-bottom: 0.2em;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .card-body {
  padding-bottom: 10px;
}

[class^="element-"].version-2.layout-style--small-images
  .focus-items
  .views-row
  .card-footer {
  padding-bottom: 10px;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  .focus-items
  .views-row
  .wpt-card {
  flex-direction: column;
  align-items: center;
  margin: auto;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  .focus-items
  .views-field-field-photo {
  min-width: 200px;
  min-height: 200px;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  .focus-items
  .views-field-field-photo
  img {
  min-width: 200px;
  min-height: 200px;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  .focus-items
  .row-content
  > * {
  padding-left: 0;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  :is(.small-icons, .views-field-field-photo).left {
  margin-right: auto;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  :is(.small-icons, .views-field-field-photo).center {
  margin-left: auto;
  margin-right: auto;
}

[class^="element-"].version-2.layout-style--small-images.image-position-center
  :is(.small-icons, .views-field-field-photo).right {
  margin-left: auto;
}

/* line clamp */
.nb-line-clamp {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--nb-line-clamp);
  line-clamp: var(--nb-line-clamp);
}

/* data-slick */
[class^="element-"].version-2 [data-slick] {
  display: block !important;
  padding: 0;
  width: 100%;
}

[class^="element-"].version-2 [data-slick] {
  margin: 0 -15px;
}

[class^="element-"].version-2 [data-slick] .slick-track {
  display: flex;
}

[class^="element-"].version-2 [data-slick] :is(.slick-slide, .wpt-card) {
  height: inherit;
}

[class^="element-"].version-2 [data-slick] .slick-slide > div {
  height: 100%;
}

[class^="element-"].version-2 [data-slick] .slick-slide {
  margin: 0 15px;
}

[class^="element-"].version-2
  [data-slick]:not(.slick-initialized)
  :is(.views-row) {
  display: none;
}

[class^="element-"].version-2 [data-slick] :is(.views-row) {
  height: calc(100% - 10px);
  margin-bottom: 10px;
}

[class^="element-"].version-2 [data-slick] .slick-arrow {
  align-items: center;
  display: flex;
  font-family: "Font Awesome 6 Pro";
  justify-content: center;
  width: 20px;
}

[class^="element-"].version-2 [data-slick] .slick-arrow:before {
  color: inherit;
  font-family: inherit;
}

[class^="element-"].version-2 [data-slick] .slick-prev {
  left: -10px;
}

[class^="element-"].version-2 [data-slick] .slick-next {
  right: -10px;
}

/* Covers both slick init patterns used in this theme: the data-slick
   attribute (element-06/25) and the plain .slick-initialized class left
   by JS-driven .slick({...}) calls with no data-slick attribute (element-04,
   07, 08, 12, 13, 17, 20, 21). */
[class^="element-"].version-2 :is([data-slick], .slick-initialized) .slick-arrow {
  cursor: pointer;
}

/* .slick-slider disables selection on the whole slide for drag handling,
   but card content should still be selectable by the user. */
[class^="element-"].version-2 :is([data-slick], .slick-initialized) .card-body {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Password Protected page  */
.post-password-form {
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 20px;
  max-width: 400px;
  margin: 50px auto;
  text-align: center;
  border-radius: 8px;
}

.post-password-form input[type="password"] {
  width: 100%;
  padding: 10px;
  margin: 10px 0;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.post-password-form input[type="submit"] {
  background: var(--ccp-catalina-blue);
  font-family: var(--wpt-primary-font);
  border: none;
  color: #fff;
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  font-size: 1em;
  font-weight: 700;
  justify-content: center;
  line-height: 1.1;
  opacity: 1;
  padding: 15px 30px;
  padding-right: 30px;
  position: relative;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 300ms ease;
  z-index: 0;
}

.rounded-corners-true .post-password-form input[type="submit"] {
  border-radius: 40px;
}

.rounded-corners-standard .post-password-form input[type="submit"] {
  border-radius: 6px;
}

.post-password-form input[type="submit"]:hover {
  background: var(--ccp-catalina-blue);
  filter: brightness(0.85);
}

/* End Password Protected page  */

/* .title-underline */
.title-underline--svg,
.nb-accommodation-divider
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  height: 24px;
  -webkit-mask-image: url("../../images/content-dividers/default.svg");
  mask-image: url("../../images/content-dividers/default.svg");
  mask-position: center;
  mask-repeat: repeat-x;
  mask-size: auto;
  width: 110px;
}

.title-underline--svg--width--wide {
  width: 60%;
}

.title-underline--svg--custom-width {
  width: var(--title-underline-width);
}

.nb-accommodation-divider--width-custom
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  width: var(--nb-accommodation-divider-width);
}

.title-underline--svg--default,
.nb-accommodation-divider--default
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  height: 4px;
}

.title-underline--svg--dashed,
.nb-accommodation-divider--dashed
  .version-2:is(.element-10, .element-12).wpt-title::after {
  -webkit-mask-image: url("../../images/content-dividers/dashed.svg");
  mask-image: url("../../images/content-dividers/dashed.svg");
}

.title-underline--svg--wave-large,
.nb-accommodation-divider--wave-large
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  -webkit-mask-image: url("../../images/content-dividers/wave-large.svg");
  mask-image: url("../../images/content-dividers/wave-large.svg");
}

.title-underline--svg--wave-small,
.nb-accommodation-divider--wave-small
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  -webkit-mask-image: url("../../images/content-dividers/wave-small.svg");
  mask-image: url("../../images/content-dividers/wave-small.svg");
}

.title-underline--svg--wave-small-double,
.nb-accommodation-divider--wave-small-double
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  -webkit-mask-image: url("../../images/content-dividers/wave-small-double.svg");
  mask-image: url("../../images/content-dividers/wave-small-double.svg");
}

.title-underline--svg--zigzag,
.nb-accommodation-divider--zigzag
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  -webkit-mask-image: url("../../images/content-dividers/zigzag.svg");
  mask-image: url("../../images/content-dividers/zigzag.svg");
}

.title-underline--svg--zigzag-double,
.nb-accommodation-divider--zigzag-double
  .version-2:is(.element-10, .element-12)
  .wpt-title::after {
  -webkit-mask-image: url("../../images/content-dividers/zigzag-double.svg");
  mask-image: url("../../images/content-dividers/zigzag-double.svg");
}

/* End .title-underline */

.rounded-corners-true .nb-card {
  border-radius: 16px;
  overflow: clip;
}

/* End .title-underline */

.rounded-corners-standard .nb-card {
  border-radius: 6px;
  overflow: clip;
}

.nb-card {
  --card-img-height: 377px;
  height: 100%;
  position: relative;
}

.nb-card .nb-card__img {
  height: var(--card-img-height);
  position: relative;
}

.nb-card .nb-card__img img {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.nb-card .nb-card__content {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: calc(100% - var(--card-img-height));
  padding: 16px;
}

.nb-card .card-title,
.nb-card .card-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nb-card .post-category {
  color: var(--wpt-primary-colour);
  font-size: 12px;
  font-weight: 700;
}

.nb-card :is(.post-title, .post-link) {
  color: var(--wpt-text-colour) !important;
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}

.nb-card .post-link::before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.nb-card .post-date {
  font-size: 16px;
  font-weight: 400;
}

.nb-card .post-label {
  font-size: 16px;
  font-weight: 700;
}

/* comments */
.nb-comments * {
  white-space: normal;
}

.nb-comments :not(#comments, .comment-reply-title) {
  font-size: 14px;
}

.nb-comments :is(#comments, .comment-respond .comment-reply-title) {
  color: var(--headings);
}

.nb-comments .comment-reply-title {
  align-items: baseline;
  display: flex;
  gap: 20px;
}

.nb-comments .comment-respond .comment-form {
  --comment-gap: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--comment-gap);
}

.nb-comments .comment-respond .comment-form > * {
  width: 100%;
}

.nb-comments .comment-respond .comment-form p {
  margin-bottom: 0;
  margin-top: 0;
  position: relative;
}

.nb-comments
  .comment-respond
  .comment-form
  :where([for="author"], [for="email"], [for="comment"]) {
  font-size: 85%;
  padding: 12px 15px;
  pointer-events: none;
  position: absolute;
  opacity: 0.5;
}

.nb-comments .comment-respond .comment-form :where(#author, #email, #comment) {
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 14px 15px;
  width: 100%;
}

.nb-comments
  .comment-respond
  .comment-form
  :where(#author, #email, #comment):focus-visible {
  border-color: var(--primary-colour);
  outline: 0;
  outline-offset: 0;
}

.nb-comments .comment-respond .comment-form #comment {
  resize: vertical;
}

.nb-comments
  .comment-respond
  .comment-form
  label:has(+ :where(input, textarea):focus) {
  color: transparent;
}

@media only screen and (min-width: 600px) {
  .nb-comments
    .comment-respond
    .comment-form
    :where(.comment-form-author, .comment-form-email) {
    width: calc(50% - (var(--comment-gap) / 2));
  }
}

.nb-comments .comment-respond .comment-form #wp-comment-cookies-consent {
  display: none;
}

.nb-comments
  .comment-respond
  .comment-form
  .comment-form-cookies-consent
  [for="wp-comment-cookies-consent"] {
  cursor: pointer;
  display: flex;
  padding-left: 30px;
  position: relative;
}

.nb-comments
  .comment-respond
  .comment-form
  .comment-form-cookies-consent
  [for="wp-comment-cookies-consent"]::before {
  background-color: transparent;
  border: 1px solid rgba(0, 0, 0, 0.2);
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  width: 20px;
}

.nb-comments
  .comment-respond
  .comment-form
  #wp-comment-cookies-consent:checked
  + [for="wp-comment-cookies-consent"]::before {
  background-image: url(../../images/icons/check.svg);
  background-color: var(--primary-colour);
  border-color: var(--primary-colour);
}

.nb-comments .commentlist {
  list-style: none;
  padding-left: 0;
}

.nb-comments .commentlist .comment {
  margin-bottom: 20px;
  padding: 15px;
}

.nb-comments .commentlist .comment .children {
  list-style: none;
  margin-top: 20px;
  padding-left: 10px;
}

@media only screen and (min-width: 768px) {
  .nb-comments .commentlist .comment .children {
    padding-left: 15px;
  }
}

.nb-comments .commentlist .comment .comment-author {
  align-items: center;
  display: flex;
  gap: 10px;
}

.nb-comments .commentlist > .comment.odd {
  background: #ffffff;
}

.nb-comments .commentlist > .comment.even {
  background: var(--wpt-page-component-bg-colour);
}

.nb-comments .commentlist :is(.comment.odd, .comment.even) .comment.even {
  background: #ffffff;
}

.nb-comments .commentlist :is(.comment.odd, .comment.even) .comment.odd {
  background: var(--wpt-page-component-bg-colour);
}

.nb-comments .navigation {
  display: flex;
  gap: 15px;
  justify-content: space-between;
}

.nb-comments .comment-pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.nb-comments .comment-pagination .page-numbers:not(.prev):not(.next) {
  background: transparent;
  border: 1px solid var(--primary-colour);
  color: var(--primary-colour);
  display: inline-block;
  height: 30px;
  line-height: 30px;
  text-align: center;
  width: 30px;
}

.nb-comments .comment-pagination .page-numbers.current:not(.prev):not(.next) {
  background: var(--primary-colour);
  color: #ffffff;
}

/* rounded */
html.rounded-corners-true .nb-comments .comment {
  border-radius: 15px;
}

/* rounded */
html.rounded-corners-standard .nb-comments .comment {
  border-radius: 6px;
}

html.rounded-corners-true .nb-comments .avatar,
html.rounded-corners-true
  .nb-comments
  .comment-respond
  .comment-form
  .comment-form-cookies-consent
  [for="wp-comment-cookies-consent"]::before,
html.rounded-corners-true
  .nb-comments
  .comment-pagination
  .page-numbers:not(.prev):not(.next) {
  border-radius: 100px;
}

html.rounded-corners-standard .nb-comments .avatar,
html.rounded-corners-standard
  .nb-comments
  .comment-respond
  .comment-form
  .comment-form-cookies-consent
  [for="wp-comment-cookies-consent"]::before,
html.rounded-corners-standard
  .nb-comments
  .comment-pagination
  .page-numbers:not(.prev):not(.next) {
  border-radius: 6px;
}

html.rounded-corners-true
  .nb-comments
  .comment-respond
  .comment-form
  :where(#author, #email, #comment) {
  border-radius: 25px;
}

html.rounded-corners-standard
  .nb-comments
  .comment-respond
  .comment-form
  :where(#author, #email, #comment) {
  border-radius: 6px;
}

/* Scroll to top button */
.nb-scroll-to-top {
  align-items: center;
  background: var(--wpt-primary-colour, #000);
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 40px;
  bottom: 30px;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 18px;
  height: 48px;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 30px;
  transform: translateY(10px);
  transition: opacity 300ms ease, transform 300ms ease, visibility 0s linear 300ms;
  visibility: hidden;
  width: 48px;
  z-index: 999;
}

.nb-scroll-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 300ms ease, transform 300ms ease, visibility 0s;
  visibility: visible;
}

body.nav-is-toggled .nb-scroll-to-top {
  transition: none;
  visibility: hidden;
}

html.rounded-corners-false .nb-scroll-to-top {
  border-radius: 0;
}

html.rounded-corners-standard .nb-scroll-to-top {
  border-radius: 6px;
}

.nb-scroll-to-top:hover {
  opacity: 0.85;
}

.nb-scroll-to-top:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.9), 0 0 0 5px rgba(0, 0, 0, 0.4);
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  .nb-scroll-to-top {
    transform: none;
    transition: opacity 150ms ease, visibility 0s linear 150ms;
  }

  .nb-scroll-to-top.is-visible {
    transform: none;
    transition: opacity 150ms ease, visibility 0s;
  }
}

@media (max-width: 575px) {
  .nb-scroll-to-top {
    bottom: 20px;
    height: 42px;
    right: 20px;
    width: 42px;
  }
}

/* .nb-formidable-form — reusable class for Formidable forms that should use the
   site's own styling instead of Formidable's bundled default style (rules here
   win over it via !important). Currently used by the Enquire to Book popup.
   This container sits outside any [class^="element-"] wrapper (appended
   directly to <body> by enquiry-form.js), so it doesn't automatically inherit
   the theme's font variables the way in-page content does — set explicitly. */
.nb-formidable-form {
  font-family: var(--wpt-primary-font);
  font-weight: var(--wpt-primary-font-weight);
}

.nb-formidable-form :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--wpt-headings-secondary-font);
  font-weight: var(--wpt-secondary-font-weight);
}

.nb-formidable-form .frm_forms fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.nb-formidable-form .frm_form_field {
  line-height: 1.1;
  margin: 0 0 15px !important;
  /* .frm_fields_container below handles vertical spacing itself (row-gap) —
     without this, this margin-bottom would stack on top of that and double it. */
  margin-bottom: 0 !important;
  position: relative;
}

/* Formidable's own field-width classes (.frm_half, .frm_fourth, .frm_first —
   used by Arrival/Departure and Guests in formidable-enquiry-form.php) live
   in its per-style front-end CSS, which never loads since this form's
   custom_style is 0 — reimplemented here with flexbox rather than CSS grid.
   Grid's "span" placement has a spec edge case (when both edges resolve to
   a span, the end's span is discarded) that fought with .frm_first's
   start-only override, giving uneven widths. Flexbox's fixed flex-basis has
   no such ambiguity, and .frm_first isn't even needed (harmless if still
   present) since wrapping is automatic once a row hits 100%. */
.nb-formidable-form .frm_fields_container {
  column-gap: 2%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 15px !important;
}

/* Deliberately just ".frm_form_field" (not "...frm_fields_container > .frm_form_field")
   so this stays equal specificity to .frm_half/.frm_fourth below and loses the
   cascade to them via source order — qualifying it with the container ancestor
   would make it 3 classes deep vs. their 2, letting this "full width" fallback
   always win over the width classes regardless of order. */
.nb-formidable-form .frm_form_field {
  flex: 1 1 100%;
}

/* calc() subtracts this field's share of the row's column-gap(s) so N equal
   fields plus (N-1) gaps add back up to exactly 100%, instead of overflowing
   by the gap amount and wrapping early. */
.nb-formidable-form .frm_half {
  flex: 1 1 calc(50% - 1%);
}

/* 2-up below 600px (the popup's own max-width, enquiry-form.css) — 4 real
   number inputs at a literal 1/4 width each get too cramped on a phone-size
   viewport, so Adult/Children pair up on one row and Infant/Pet on the next.
   True 4-up only once there's room, matching this file's existing 600px/992px
   breakpoint convention (see .wpt-blog-posts above). */
.nb-formidable-form .frm_fourth {
  flex: 1 1 calc(50% - 1%);
}

@media only screen and (min-width: 600px) {
  .nb-formidable-form .frm_fourth {
    flex: 1 1 calc(25% - 1.5%);
  }
}

/* .nb-guests-no-pet wraps the AJAX-rendered form (nb_render_enquire_to_book_form_html(),
   block_functions.php) when the current category's own "Pet Friendly" field
   isn't checked — hides the Pet field and re-splits the remaining
   Adult/Children/Infant into equal thirds instead of leaving a gap where Pet
   was. Same calc() logic as .frm_half/.frm_fourth: 3 fields + 2 gaps at 2%
   each = 100%. Unconditional (no mobile breakpoint) since 3-up is already
   noticeably roomier than the 4-up case the breakpoint above exists for. */
.nb-formidable-form .nb-guests-no-pet .nb-guest-pet {
  display: none;
}

.nb-formidable-form .nb-guests-no-pet .frm_fourth {
  flex: 1 1 calc(33.333% - 1.333%);
}

/* Terms/Privacy consent checkbox — hidden, not destroyed, when neither
   page is configured, so past entries keep their recorded consent. */
.nb-formidable-form .nb-enquiry-consent-hidden {
  display: none;
}

/* The daterangepicker plugin (Arrival/Departure, enquiry-form.js) appends its
   calendar popup to <body> rather than inside .nb-formidable-form, so this
   can't be scoped as a descendant — its own default z-index (3001,
   daterangepicker.css) sits well below Fancybox's own layers (up to 99999,
   jquery.fancybox.min.css), which would render the calendar invisibly behind
   the popup when opened from inside it. */
.daterangepicker {
  z-index: 999999 !important;
}

/* Formidable's honeypot field (FrmHoneypot) normally hides itself via CSS/JS
   printed on wp_footer, but this form is only ever rendered inside our own
   admin-ajax.php response (enquiry-form-ajax.php) — wp_footer never fires
   there, so the "If you are human, leave this field blank." label and input
   would otherwise render visibly. Same hide technique Formidable itself uses
   (visibility, not display:none, so it still functions as a spam trap),
   targeted at the field via its fixed frm_verify input class since the
   container's id is generated per-request. */
.nb-formidable-form div:has(> input.frm_verify) {
  visibility: hidden;
  overflow: hidden;
  width: 0;
  height: 0;
  position: absolute;
}

/* Fields created with field_options['label'] = 'hidden' rely on Formidable's own
   .frm_hidden_container CSS for this; kept here as a guaranteed fallback since
   this class intentionally opts out of Formidable's bundled stylesheet. */
.nb-formidable-form .frm_hidden_container .frm_primary_label,
.nb-formidable-form .frm_none_container .frm_primary_label {
  display: none !important;
}

/* Label-as-placeholder — floats the field label inside the input instead of
   above it, matching the .nb-comments comment-form technique further up this
   file. Excludes checkbox fields (their "primary label" is a <div>, not a
   <label>, and is the actual visible consent text next to the checkbox). */
.nb-formidable-form label.frm_primary_label {
  font-size: 85%;
  left: 15px;
  opacity: 0.5;
  padding: 11px 0;
  pointer-events: none;
  position: absolute;
  top: 0;
}

/* :not(:placeholder-shown) keeps the label hidden once a field has a value
   and loses focus, not just while actively focused — relies on every field
   carrying a placeholder attribute (even a blank one) so the pseudo-class
   has something to key off; enquiry-form.js adds one to any field missing
   it, since Formidable only renders the attribute when a placeholder is
   explicitly configured. */
.nb-formidable-form label.frm_primary_label:has(+ :where(input, textarea):focus),
.nb-formidable-form label.frm_primary_label:has(+ :where(input, textarea):not(:placeholder-shown)) {
  color: transparent;
}

/* .frm_required has its own explicit color (red, below) which otherwise wins
   over the inherited transparent above — same :has() condition, scoped to
   the required-asterisk span so it hides in step with the rest of the label. */
.nb-formidable-form label.frm_primary_label:has(+ :where(input, textarea):focus) .frm_required,
.nb-formidable-form label.frm_primary_label:has(+ :where(input, textarea):not(:placeholder-shown)) .frm_required {
  color: transparent;
}

/* Guest count fields (Adult/Children/Infant/Pet) always carry a value — they
   default to 0, so :not(:placeholder-shown) above matches from first render
   and would collapse their label to invisible immediately, leaving an
   unlabelled number box. A permanently floating/collapsing label doesn't fit
   a quantity stepper anyway, so these get a normal static label above the
   field instead. Higher specificity than the two rules above ([type="number"]
   is an extra attribute selector) wins regardless of source order. */
.nb-formidable-form label.frm_primary_label:has(+ input[type="number"]) {
  color: inherit;
  display: block;
  font-size: inherit;
  left: auto;
  opacity: 1;
  padding: 0 0 5px;
  pointer-events: auto;
  position: relative;
  top: auto;
  width: auto;
}

/* Arrival/Departure (.nb-date-field, formidable-enquiry-form.php) are always
   pre-filled with today/tomorrow (enquiry-form.js), so the same collapsing-
   label problem applies as the number fields above — same fix, just scoped
   via the field container's own class instead of :has(), since these are
   plain type="text" inputs (the input[type="number"] selector above wouldn't
   otherwise distinguish them from Name, which should keep the floating
   label). Higher specificity (3 classes vs. the generic rules' 1) wins
   regardless of source order. */
.nb-formidable-form .frm_form_field.nb-date-field label.frm_primary_label {
  color: inherit;
  display: block;
  font-size: inherit;
  left: auto;
  opacity: 1;
  padding: 0 0 5px;
  pointer-events: auto;
  position: relative;
  top: auto;
  width: auto;
}

.nb-formidable-form
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    textarea
  ) {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
  font-size: 16px !important;
  padding: 11px 15px !important;
  width: 100% !important;
}

.nb-formidable-form select {
  font-size: 16px !important;
  min-height: 44px !important;
  padding-bottom: unset !important;
  padding-top: unset !important;
  width: 100% !important;
}

html.rounded-corners-true
  .nb-formidable-form
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select
  ) {
  border-radius: 27px;
}

html.rounded-corners-standard
  .nb-formidable-form
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select
  ) {
  border-radius: 6px;
}

html.rounded-corners-false
  .nb-formidable-form
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select
  ) {
  border-radius: 0;
}

.nb-formidable-form .frm_description {
  font-size: 12px;
  line-height: 2;
}

.nb-formidable-form .frm_checkbox {
  padding: 5px 0;
}

/* Checkbox square — native appearance removed and redrawn via a pseudo-element
   so it can pick up the same colour and corner-radius scale as the submit
   button (.frm_button_submit below) instead of the browser's default style. */
.nb-formidable-form .frm_checkbox input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border-color: var(--wpt-text-colour);
  border-style: solid;
  border-width: 2px;
  cursor: pointer;
  flex-shrink: 0;
  height: 20px;
  margin: 0 8px 0 0;
  position: relative;
  vertical-align: middle;
  width: 20px;
}

.nb-formidable-form .frm_checkbox input[type="checkbox"]:checked {
  background: var(--wpt-primary-colour);
  border-color: var(--wpt-primary-colour);
}

.nb-formidable-form .frm_checkbox input[type="checkbox"]:checked:after {
  color: #fff;
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  font-size: 12px;
  font-weight: 900;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

html.rounded-corners-true .nb-formidable-form .frm_checkbox input[type="checkbox"] {
  border-radius: 40px;
}

html.rounded-corners-standard .nb-formidable-form .frm_checkbox input[type="checkbox"] {
  border-radius: 6px;
}

html.rounded-corners-false .nb-formidable-form .frm_checkbox input[type="checkbox"] {
  border-radius: 0;
}

.nb-formidable-form .frm_required {
  color: red;
}

.nb-formidable-form :is(.frm_error[role="alert"], .frm_error_style) {
  color: red;
  margin: 5px 0;
}

.nb-formidable-form .frm_submit .frm_button_submit {
  align-items: center;
  background: var(--wpt-primary-colour) !important;
  border-color: var(--wpt-primary-colour) !important;
  display: flex;
  font-family: var(--wpt-primary-font);
  font-weight: var(--wpt-primary-font-weight);
  gap: 10px;
  line-height: 1;
  padding: 12px 18px;
}

.nb-formidable-form .frm_button_submit:after {
  content: "\f054";
  font-family: "Font Awesome 6 Pro";
  font-size: 12px;
  transition: 0.2s ease;
}

.nb-formidable-form .frm_button_submit:hover:after {
  transform: translateX(100%);
}

html.rounded-corners-true .nb-formidable-form .frm_button_submit {
  border-radius: 40px;
}

html.rounded-corners-standard .nb-formidable-form .frm_button_submit {
  border-radius: 6px;
}

html.rounded-corners-false .nb-formidable-form .frm_button_submit {
  border-radius: 0;
}

/* Loading spinner — Formidable's own front-end JS adds .frm_loading_form to
   the <form> for the duration of an AJAX submit and removes it once the
   response arrives, whether that response is the success content or
   validation errors (see removeSubmitLoading() in formidable.js), so no
   custom submit-tracking JS is needed here — this is pure CSS on top of
   that existing lifecycle. Overrides the arrow glyph :after above (higher
   specificity via the .frm_loading_form ancestor) with a spinner instead. */
.nb-formidable-form .frm_loading_form .frm_button_submit {
  color: transparent !important;
  pointer-events: none;
  position: relative;
}

.nb-formidable-form .frm_loading_form .frm_button_submit:after {
  animation: nb-frm-button-spin 0.6s linear infinite;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  border-top-color: #fff;
  content: "";
  height: 18px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
}

@keyframes nb-frm-button-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.nb-formidable-form .frm_verify,
.nb-formidable-form .frm_screen_reader {
  display: none;
}
