/*
Theme Name: PMP Website Theme 2023 - v1.4
Theme URI: https://artemis.solutions
Author: Artemis Solutions
Author URI: https://artemis.solutions
Description: Custom theme for Premium Medical Protection by Artemis Solutions. Based on Twenty Twenty-Three by Wordpress. Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Requires at least: 6.1
Tested up to: 6.2
Requires PHP: 5.6
Version: 1.4.2
License: No license is granted
License URI: 
Text Domain: twentytwentythree
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/

/* Additional CSS for PMP Theme */

/* --- Sitewide additions --- */
.wp-site-blocks {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

#qq-stack .has-large-font-size {
  font-size: clamp(1.55rem, 1.55rem + ((1vw - 0.48rem) * 0.24), 1.875rem) !important;
}
#qq-stack .has-small-font-size {
  font-size: clamp(0.77rem, 0.77rem + ((1vw - 0.48rem) * 0.24), 1rem) !important;
}
#small-header {
  display: none;
}

/* Side CTA button */
footer {
  position: relative;
}
footer #side-cta-grp {
  position: fixed;
  top: 50%;
  right: -151px;
  width: 350px;
  transform: rotate(270deg);
  padding-left: 0;
  padding-right: 0;  
  z-index: 100;
}
#side-cta-grp .wp-block-button__link {
  width: 9.5rem;
}
#side-cta-btn {
  font-size: 1.25rem;
}
#side-cta-btn .wp-block-button__link {
  padding-top: 0.6rem;
  padding-bottom: 0.8rem;
}
#side-cta-grp .side-btn-shadow a {
  box-shadow: -4px 0 8px 0 rgba(98, 146, 173, 0.2), -6px 0 20px 0 rgba(98, 146, 173, 0.19);
}



/* --- Navigation --- */

#large-header nav, #large-header nav ul {
  border-radius: 0.5rem !important;
}

#large-header .wp-block-navigation__responsive-container {
  border-radius: 0.5rem !important;
}

#large-header .wp-block-navigation__container {
  gap: 0;
}

#large-header .wp-block-navigation__container li::before {
  content: '';
  width: 3px;
  height: 80%;
  background-image: linear-gradient(var(--wp--preset--color--contrast), white, white, var(--wp--preset--color--contrast));
  position: absolute;
}

#large-header .last-nav::after {
  content: '';
  width: 3px;
  height: 80%;
  background-image: linear-gradient(var(--wp--preset--color--primary), white, white, var(--wp--preset--color--primary));
  position: absolute;
  right: -3px;
}
#small-header nav {
  padding: 0.5rem 1rem;
  gap: 1rem;
}

.wp-block-navigation a:where(:not(.wp-element-button)):hover {
  text-decoration: none !important;
  color: var(--wp--preset--color--custom-light-blue) !important;
}

nav button svg rect {
  stroke-width: 1.5px;
  stroke: white;
}
#large-header ol.has-background, #large-header ul.has-background {
  padding: 0 !important;
}

#large-header .wp-block-navigation .wp-block-navigation__submenu-icon {
  margin-left: -0.6em;
  margin-right: 0.4rem;
}

/* Style submenu holders */
#large-header .wp-block-navigation-submenu {
  background: var(--wp--preset--color--contrast);
  /* min-width: fit-content !important; */
  border-radius: 0 0 0.5rem 0.5rem !important;
  /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
}
#large-header .wp-block-navigation-submenu li {
  border-radius: 1rem;
}

#large-header .wp-block-navigation-submenu li::before {
  content: '';
  width: 0;
  height: 0;
  background-image: initial;
  position: initial;
}
#large-header .ftrc-submenu .wp-block-navigation-submenu {
  min-width: fit-content;
  width: 10.75rem;
}
#large-header .about-submenu .wp-block-navigation-submenu {
  min-width: fit-content;
  width: 6.5rem;
}
#large-header .wp-block-navigation-submenu ul {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3), 0 6px 20px 0 rgba(0, 0, 0, 0.29);
}

#small-header .wp-block-navigation__submenu-container li {
  margin-bottom: 0.5rem;
}


/* --- General Styles --- */
body entry-content.is-layout-constrained ul,
body entry-content.is-layout-constrained ol {
  margin-block-start: 1rem;
}
body entry-content.is-layout-constrained ul li,
body entry-content.is-layout-constrained ol li {
  margin-block-start: 0.5rem;
}
ul li::marker {
  color: var(--wp--preset--color--primary);
  font-size: 1.5em;
}
ul.has-base-color li::marker {
  color: var(--wp--preset--color--custom-blue-40) !important;
}

.wp-block-post-excerpt__more-text {
  text-align: end;
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.wp-block-post-excerpt__more-link {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white) !important;
  padding: 0.25rem 0.75rem;
  border-radius: 0.5rem;
  transition: all 0.3s;
}
.wp-block-post-excerpt__more-link:hover {
  cursor: pointer;
  transform: scale(1.1) !important;
}
.resources-post-group {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.resources .resources-post-group img {
  aspect-ratio: 368 / 361;
}
.resources-post-group>.wp-block-group {
  height: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.resources-post-group .wp-block-post-excerpt p:last-of-type {
  height: fit-content;
}
.resources-post-group .wp-block-post-excerpt {
  flex-grow: 1;
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.wp-block-query.resources h2.wp-block-post-title {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

figure.pmp-table {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  padding: 0.5rem;
  border-radius: 0.5rem;
}
.pmp-table table {
  border: none;
}
.pmp-table th, .pmp-table td {
  border: none;
  border-right: 1px solid var(--wp--preset--color--base);
}
.pmp-table td {
  border-bottom: 1px solid var(--wp--preset--color--base);
}
.pmp-table td:nth-child(even) {
  background-color: var(--wp--preset--color--custom-blue-90);
}
.pmp-table th:last-child, .pmp-table td:last-child {
  border-right: none;
}
.pmp-table tr:last-child td {
  border-bottom: none;
}
.pmp-table tr:hover td {
  background-color: var(--wp--preset--color--custom-blue-80);
}

/* --- Utilities --- */
/* Used across multiple pages and blocks */

.cta-btns .has-large-font-size {
  font-size: clamp(1.55rem, 1.55rem + ((1vw - 0.48rem) * 0.24), 1.875rem) !important;
}

.soft-shadow {
  box-shadow: 0 4px 8px 0 rgba(98, 146, 173, 0.2), 0 6px 20px 0 rgba(98, 146, 173, 0.19);
}

.btn-shadow a {
  box-shadow: 0 4px 8px 0 rgba(98, 146, 173, 0.2), 0 6px 20px 0 rgba(98, 146, 173, 0.19);
}

.hover-scale {
  transition: all 0.3s;
}

.hover-scale:hover {
  cursor: pointer;
  transform: scale(1.1) !important;
}

.radius-0-5-all, .radius-0-5-all iframe, figure.radius-0-5-all img {
  border-radius: 0.5rem;
}

.wp-block-cover.radius-0-5-all span, .wp-block-cover.radius-0-5-all img {
  border-radius: 0.5rem;
}

.radius-max-right {
  border-radius: 0 20rem 20rem 0;
}
.radius-0-5-right {
  border-radius: 0 0.5rem 0.5rem 0;
}

.radius-max-all {
  border-radius: 20rem;
}

.radius-bottom-left {
  border-radius: 0 0 2rem 0;
}

.radius-bottom-right,
.radius-bottom-right>video,
.radius-bottom-right>img {
  border-radius: 0 0 0 2rem;
}

.margin-bottom-1 {
  margin-bottom: 1rem !important;
}

.margin-bottom-2 {
  margin-bottom: 2rem !important;
}

.margin-bottom-3 {
  margin-bottom: 3rem !important;
}

.padding-left-l-5-375 {
  padding-left: 5.375rem !important;
}

h3.radius-max-all {
  padding: 0;
}
h3.radius-0-5-all {
  padding: 0;
}

.circular-pic img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.full-width-svg img {
  width: 100%;
}

.animate-in-view {
  margin-block-start: 0;
}

.stretched-link-outer {
	position: relative;
}

.stretched-link a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

.video-placeholder {
  position: relative;
  z-index: 1;
}

.z-increase {
  position: relative;
  z-index: 1;
}

.cursor-default {
  cursor: default !important;
}

#hidden-images {
  display: none;
}

.no-cell-padding td {
  padding: 0;
}

/* --- Item Specific --- */

/* --- Front Page Hero */
.inner-shape-1 {
  background-image: url(https://pmpupdate2023b.kinsta.cloud/wp-content/uploads/2023/10/background-gradient-dark.svg);
  background-repeat: no-repeat;
  background-size: 80%;
  background-position-y: center;
  height: auto;
}

#pmp-hero {
  padding: 0;
}

#pmp-hero video {
  object-fit: cover;
  height: 500px;
}

#pmp-hero .hero-para {
  margin-left: 5.25rem;
  margin-right: 3.5rem;
}
#pmp-hero figure {
  margin-bottom: 2rem;
}

.qq-hero-img img {
    object-fit: cover;
    max-height: 25rem;
    width: 100%;
}

/* --- CTA Columns --- */

.wp-block-kevinbatdorf-animate-in-view.animate-in-view:has(.cta-cols) {
  position: relative;
  z-index:1;
}

.cta-cols .has-background {
  transition: all 0.3s;
}

.cta-cols .has-background:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.cta-btns>.wp-block-button {
  width: calc(33.3% - 1rem);
}

.cta-btns .wp-block-button__link {
  width: 100%;
}

.cta-btn-a {
  align-content: stretch;
  width: 100%;
}
.cta-btn-a .wp-block-button {
  width: 100%;
}
.cta-btn-a .wp-block-button .wp-block-button__link {
  width: 100%;
}
.cta-btn-b {
  align-content: stretch;
  width: 30%;
}
.cta-btn-b .wp-block-button {
  width: 100%;
}
.cta-btn-b .wp-block-button .wp-block-button__link {
  width: 100%;
}


/* revisions for always displayed version of CTA Columns */
.cta-cols-2>.wp-block-column {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.cta-cols-2 .title {
  width: 100%;
  transition: all 0.3s;
}
.cta-cols-2 .body {
  flex-grow: 1;
  transition: all 0.3s;
}
.cta-cols-2 .title:hover, .cta-cols-2 .body:hover {
  transform: scale(1.1);
}

/* --- Testimonials --- */

.testimonial-img img {
  min-width: 250px !important
}

#testimonial-box {
  position: relative;
}

.testimonial-box {
  position: relative;
  z-index: 2;
}
#testimonial-text {
  width: calc(100% - 250px - 2rem);
}

#background-box-1 {
  position: absolute;
  width: 40%;
  height: 85%;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 0 0 2rem 0;
}

#background-box-2 {
  position: absolute;
  width: 25%;
  height: 20%;
  top: 32%;
  left: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 0 2rem 2rem 0;
}

#background-box-3 {
  position: absolute;
  width: 55%;
  height: 30%;
  top: 32%;
  right: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 2rem 0 0 2rem;
}

#background-box-4 {
  position: absolute;
  width: 13%;
  height: 20%;
  top: 55%;
  right: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 2rem 0 0 2rem;
}

/* Testimonial Slider */
.testimonial-slider .swiper.swiper-initialized.swiper-horizontal {
  border-radius: 0.5rem;
}
.testimonial-slider .slide-content {
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40) !important;
}

/* MODALS */
.modal-panel {
  width: 700px;
}
.modal-panel .heading {
  margin-top: 0;
}
.popup-close {
  position: absolute;
  right: -0.5rem;
  top: -0.5rem;
}
.popup-close i {
  background: var(--wp--preset--color--base);
  border-radius: 10rem;
  padding: 0.2rem;
  cursor: pointer;
}
.message-adviser #message-sent, .message-adviser #message-error {
  display: none;
}
.message-link {
  cursor: pointer;
}

/* offsets for anchor links */
.offset-anchor {
  scroll-margin-top: 10rem;
}



/* --- VRI specific --- */
/* Move out into pugin for final theme */
.vri-input {
  margin-block-start: 0.25rem !important;
  margin-block-end: 1.5rem !important;
  font-size: 1.25rem;
  padding: 1rem;
  color: var(--wp--preset--color--contrast);
  width: calc(100% - 2rem);
  border-radius: 1rem;
  border: solid white 0px;
  font-family: var(--wp--preset--font-family--roboto);
}
select.vri-input {
  width: 100%;
}

.wide-buttons .wp-block-button__link {
  min-width: 350px !important;
  padding-bottom: 1rem;
}

#vri-column-2 {
  position: relative;
}

#vri-overlay-1 {
  position: absolute;
  width: 40%;
  height: auto;
  top: 22%;
  left: 0;
  z-index: 2;
}

#vri-overlay-2 {
  position: absolute;
  width: 40%;
  height: auto;
  top: 30%;
  right: -3%;
  z-index: 2;
}

#vri-overlay-3 {
  position: absolute;
  width: 40%;
  height: auto;
  top: 40%;
  left: 12%;
  z-index: 2;
}

.vri-overlay {
  position: relative;
}

#vri-columns {
  position: relative;
  z-index: 1;
}

#vri-bg-1 {
  position: absolute;
  width: 50%;
  height: 35%;
  top: 10%;
  left: 0;
  z-index: 0;
  opacity: 0.1;
  border-radius: 0 2rem 2rem 0;
}

#vri-bg-2 {
  position: absolute;
  width: 40%;
  height: 25%;
  top: 45%;
  right: 0%;
  z-index: 0;
  opacity: 0.2;
  border-radius: 2rem 0 0 2rem;
}

#vri-bg-3 {
  position: absolute;
  width: 55%;
  height: 15%;
  top: 35%;
  left: 3%;
  z-index: 0;
  opacity: 0.15;
  border-radius: 2rem;
}

#vri-bg-4 {
  position: absolute;
  width: 55%;
  height: 10%;
  top: 20%;
  right: 3%;
  z-index: 0;
  opacity: 0.25;
  border-radius: 2rem;
}

/* VRI functional stuff */
.vri-inner-grp {
  position: relative;
}
.vri-inner-grp .vri-calculating-grp {
  position: absolute;
  display: none;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
.vri-inner-grp .vri-error-grp {
  position: absolute;
  display: none;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
.vri-inner-grp .vri-message-grp {
  position: absolute;
  display: none;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
.vri-outer .vri-find-coverage {
  display: none;
  opacity: 0;
  transition: all 0.3s;
}


/* --- Stats --- */
#stats-caption {
  flex-grow: 1 !important;
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  max-width: calc(100vw - 10.7rem);
}

#stat-counter {
  width: 12.7rem;
}
#stat-counter .stat-sup {
  color: var(--wp--preset--color--custom-blue-40);
  font-size: clamp(2rem, 5vw, 3rem);
}
.testimonial-box:has(#stat-counter) {
  flex-wrap: nowrap;
}

/* ---- Claims Made / Occurence Page */
/* Hide mobile images */
#cm-mobile-img, #oc-mobile-img {
  display: none;
}

/* --- ABOUT US page  --- */
/* --- Tabs  --- */
#tab-btns {
  gap: 0.1rem 0.25rem;
}
#tab-btns p {
  transition: all 0.5s;
  cursor: pointer;
}
#tab-btns p:hover {
  background-color: var(--wp--preset--color--custom-blue-80);
}
.team-group {
  transition: all 0.5s;
}
/* --- Postcode Search --- */
#postcode-search {
  border-radius: 20rem 0 0 20rem;
}
#postcode-search-clear {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--white);
  border-radius: 0 20rem 20rem 0;
  font-size: 1.4rem;
  padding: 1rem;
  margin-left: -1.5rem;
  margin-top: -1.2rem;
  cursor: pointer;
}
#about-hero {
  position: relative;
}
#about-bg1 {
  position: absolute;
  width: 75%;
  height: 33%;
  top: 7%;
  left: 20%;
  z-index: 0;
  opacity: 0.4;
  border-radius: 0 2rem 2rem 0;
}
#about-bg2 {
  position: absolute;
  width: 40%;
  height: 30%;
  bottom: 15%;
  right: 10%;
  z-index: 0;
  opacity: 0.5;
  border-radius: 2rem;
}
#about-cols {
  position: relative;
  z-index: 2;
}
#about-col-left {
  min-width: 490px;
}

/* --- Choose PMP Grid --- */
.icon-grid .wp-block-group {
  min-height: 100%;
}

/*  -----  Tooltips -----  */
.tooltip {
  position: relative;
  border-bottom: 1px dotted var(--wp--preset--color--base);
  cursor: help;
}
.tooltip.white-bg {
  color: var(--wp--preset--color--secondary);
  border-bottom: 1px dotted var(--wp--preset--color--secondary);
}
.tooltip i {
  vertical-align: text-top;
  font-size: 1rem;
}
.tooltip .anchor {
  white-space: nowrap;
}
.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
  text-align: center;
  padding: 0.5rem;
  border-radius: 6px;
  z-index: 10;
 
  /* Position the tooltip text */
  position: absolute;
  top: calc(100% + 3px);
  left: 50%;
  margin-left: -60px;
  z-index: 1;
}

.tooltip.wide .tooltiptext {
  width: 240px;
  margin-left: -120px;
}

/* Tooltips for home */
#qq-btn.tooltip .tooltiptext, #mdo.tooltip .tooltiptext, #cp.tooltip .tooltiptext, #dm.tooltip .tooltiptext {
  background-color: var(--wp--preset--color--contrast);
  width: 240px;
  font-size: 1rem;
  margin-left: -120px;
}
#dm.tooltip .tooltiptext {
  width: 265px;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
}

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  bottom: 100%;  /* At the top of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent var(--wp--preset--color--secondary) transparent;
}


/* --- for Switching from a Union Section --- */
#background-box-5 {
  position: absolute;
  width: 15%;
  height: 33%;
  top: 35%;
  left: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 0 2rem 2rem 0;
}
#background-box-6 {
  position: absolute;
  width: 65%;
  height: 45%;
  bottom: 5%;
  left: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 0 2rem 2rem 0;
}
#background-box-7 {
  position: absolute;
  width: 40%;
  height: 92%;
  bottom: 0;
  right: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 2rem 0 0 0;
}
#background-box-8 {
  position: absolute;
  width: 15%;
  height: 33%;
  top: 20%;
  right: 0;
  z-index: 0;
  opacity: 0.2;
  border-radius: 2rem 0 0 2rem;
}
.switching-text {
  font-size: clamp(1.1rem, 1.15rem + ((1vw - 0.2rem) * 0.227), 1.225rem);
}

/* --- RESOURCES --- */
.archive-meta {
  justify-content: space-between !important;
  width: 100%;
}
.resources .wp-block-post-template.is-flex-container li {
  display: flex;
  margin-block-end: 2rem;
}
.resources .wp-block-post-title {
  margin-bottom: 0;
}
.resources .wp-block-post-excerpt {
  margin-block-start: 0.5rem;
}
.wp-block-post-content h2, .resources h2 {
  font-size: calc(var(--wp--preset--font-size--medium) + 0.65rem);
}
.wp-block-post-content .wp-block-cover h2 {
  font-size: clamp(2.625rem, calc(2.625rem + ((1vw - 0.48rem) * 8.4135)), 3.25rem);
}
.feature-ordered-list {
  padding-inline-start: 2rem;
}
.feature-ordered-list li {
  padding-inline-start: 0.5rem;
  margin-block-start: 1rem;
}
.feature-ordered-list li::marker {
  font-weight: bold;
}
.feature-ordered-list li ul {
  margin-block-end: 1rem;
}
.primary-table {
  background-color: var(--wp--preset--color--primary);
  padding: 1.5rem;
  border-radius: 0.5rem;
}
.primary-table table {
  color: var(--wp--preset--color--base);
}
.primary-table table th, .primary-table table td {
  border: transparent;
}
.primary-table table td {
  border-bottom: 1px solid var(--wp--preset--color--base);
  border-right: 1px solid var(--wp--preset--color--base);
}
.primary-table table td:last-child {
  border-right: transparent;
}
.primary-table table tbody tr {
  background-color: transparent;
  transition: all 0.3s;
}
.primary-table table tbody tr:hover {
  background-color: var(--wp--preset--color--contrast);
}
.wp-block-quote {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
  border-radius: 0.5rem;
  padding: 0.1rem 1.5rem;
  text-align: center;
}
.wp-block-quote>p {
  font-weight: 300;
  margin-block-start: 1rem;
  margin-block-end: 0.75rem;
}
.wp-block-quote>p::before {
  content: "“";
  font-size: 4rem;
  color: var(--wp--preset--color--custom-green-15);
  vertical-align: middle;
  line-height: 0.8;
}
.wp-block-quote>p::after {
  content: "”";
  font-size: 4rem;
  color: var(--wp--preset--color--custom-green-15);
  vertical-align: middle;
  line-height: 0.8;
}
figcaption {
  color: var(--wp--preset--color--primary);
}
/* Flag for premium articles */
#post-head-group {
  position: relative;
}
#premium-flag, .premium-flag {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  border-radius: 0.25rem;
  margin-block-start: 0;
  padding: 0.25rem 0.5rem;
  background-color: #d4af37;
  color: var(--wp--preset--color--white);
  text-align: center;
  z-index: 1;
}
#premium-flag p {
  display: none;
}
#premium-flag .text {
  display: block;
  font-size: 0.5rem;
  margin: 0;
}
#premium-flag .star {
  display: block;
  margin: 0;
}

/* --- Contact Form 7 Stuff --- */
/* For the marketing preferences form */
.wpcf7-submit {
  background: var(--wp--preset--color--secondary);
  border: none;
  color: white;
  border-radius: 0.5rem;
  padding-top: 0.75rem;
  padding-right: 1.5rem;
  padding-bottom: 0.75rem;
  padding-left: 1.5rem;
  font-size: var(--wp--preset--font-size--large) !important;
  font-weight: 300;
  box-shadow: 0 4px 8px 0 rgba(98, 146, 173, 0.2), 0 6px 20px 0 rgba(98, 146, 173, 0.19);
}
p:has(.wpcf7-submit) {
  text-align: left;
}
input[type=checkbox] {
  width: 1.5rem;
  height: 1.5rem;
}
.wpcf7-response-output {
  border-radius: 10rem;
  background: #00a0d2;
  color: white;
  font-size: 1.25rem;
}
.wpcf7 form.sent .wpcf7-response-output {
  background: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  background: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
  background: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background: #ffb900; /* Yellow */
  color: var(--wp--preset--color--contrast);
}

.wpcf7 .radio-labels {
  display: inline-block;
  width: 7rem;
}

/* --- Cookie Yes --- */
.cky-title {
  display: none;
}
.cky-notice-des {
  line-height: 1.4 !important;
}
.cky-btn {
  border-radius: 0.5rem !important;
  padding: 0.4rem 0.8rem !important;
}
.cky-accordion-header .cky-always-active {
  color: var(--wp--preset--color--secondary) !important;
}
.cky-btn-accept {
  background-color: var(--wp--preset--color--secondary) !important;
  border-color: var(--wp--preset--color--secondary) !important;
}

/* ---- EXPANDING BUTTON ---- */
#expand-btn-group {
  position: relative;
}
#expand-btn-window {
  position: absolute;
  margin-top: 0;
  top: 0;
  right: 0;
}


/* ---- FLIP CARDS ---- */
/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
  background-color: transparent;
  height: 145px;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner, .flip-card.flipped .flip-card-inner {
  transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
  /* not needed */
}

/* Style the back side */
.flip-card-back {
  /* not needed */
  margin-top: 0;
  transform: rotateY(180deg);
}

/* Footer */
footer .disclaimer-text {
  pointer-events: none;
}
footer .disclaimer-text > a {
  text-decoration:none; color:inherit;
}

/* ----- Policy List ----- */
.policy-list-row .wp-block-group {
  align-self: stretch;
  display: flex;
}
.policy-list-row .list-head {
  min-width: 30% !important;
  max-width: 30% !important
}
.policy-list-row .wp-block-group:last-child {
  flex-grow: 1;
  padding-left: 0 !important;
}
.policy-list-row .wp-block-group p {
  margin-top: auto;
  margin-bottom: auto;
}


/* --- MEDIA QUERIES --- */

/* Add margins when below 1250px */
@media screen and (max-width: 1250px) {
  #pmp-logo-header img {
    max-width: 85%;
    height: auto !important;
  }
  h2.hero-headline.has-background {
    padding-left: 2.5rem !important;
  }
  footer .wp-block-group.has-secondary-background-color {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .testimonial-box.hover-scale {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  #testimonial-box .margin-hor-1 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  #testimonial-box .testimonial-box {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  #slider-grp {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  #vri-columns {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
    gap: 1rem;
  }
  #vri-columns h3 {
    font-size: 1.8rem;
  }
  #vri-overlay-1 {
    top: 20%;
  }
  #vri-overlay-2 {
    top: 28%;
    right: -2%;
  }
  #vri-overlay-3 {
    top: 40.5%;
  }
  .hover-scale:hover {
    transform: scale(1.05) !important;
  }
}

/* CTA-COLS - need to collapse at a different size */
@media screen and (max-width: 1000px) {
  .cta-cols {
    flex-wrap: wrap !important;
  }
  .cta-cols .wp-block-column {
    min-width: calc(50% - 1rem);
  }

  /* hide nav up to 780px */
  #large-header {
    display: none;
  }
  #small-header {
    display: block;
  }
  #small-header nav {
    margin-block-start: 0;
  }
}

/* MOBILE SIZE */
@media screen and (max-width: 780px) {
  /* Sort out header! */

  #head-logo-cta {
    justify-content: center;
  }
  #head-logo-cta figure {
    text-align: center;
  }
  #head-logo-cta .wp-block-button__link {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  #qq-stack {
    gap: 0.75rem;
  }
  #qq-stack p {
    max-width: 250px;
  }

  /* Hero section */
  #pmp-hero .wp-block-columns.wp-container-16 {
    flex-direction: column-reverse;
    gap: 0;
  }
  #pmp-hero .wp-block-video.margin-bottom-3 {
    margin-bottom: 0 !important;
    height: 300px;
  }
  #pmp-hero video {
    height: 300px;
  }
  #pmp-hero h3.has-background {
    padding-left: 2.5rem;
  }
  #pmp-hero .padding-left-l-5-375 {
    padding-left: 0 !important;
  }
  #pmp-hero .wp-block-buttons>.wp-block-button {
    margin-left: auto;
    margin-right: auto;
  }


  /* About us */
  #about-col-left {
    min-width: auto;
  }

  .expand-btn, .expand-btn h2, .expand-grp {
    cursor: pointer;
  }
  #postcode-search-box {
    flex-direction: column;
  }


  /* CTA buttons */
  .wide-buttons .wp-block-button__link {
    min-width: calc(100vw - 2rem) !important;
    font-size: clamp(1.55rem, 1.55rem + ((1vw - 0.48rem) * 0.24), 1.875rem) !important;
  }

  h3.radius-max-all {
    padding: 0.5rem 1rem;
  }
  h3.radius-0-5-all {
    padding: 0.5rem 1rem;
  }
  .radius-max-all.multiline {
    border-radius: 1.7rem;
  }

  /* Item specific rules */
  #vri-columns h3 {
    font-size: 1.6rem;
  }
  #vri-overlay-1 {
    top: 45%;
    width: 50%;
  }
  #vri-overlay-2 {
    top: 65%;
    right: -2%;
    width: 45%;
  }
  #vri-overlay-3 {
    top: 88%;
    width: 50%;
  }
  #testimonial-box {
    padding-left: var(--wp--preset--spacing--30);
    padding-right: var(--wp--preset--spacing--30);
  }
  #testimonial-text {
    width: inherit;
  }
  #testimonial-box figure {
    min-width: 72px;
    text-align: center;
  }
  #stat-counter {
    margin: auto;
    z-index: 2;
  }
  #stats-caption {
    border-radius: 0.5rem;
    max-width: 100%;
    margin-block-start: -0.75rem;
    padding: 1rem 1rem 0.5rem 1rem;
    z-index: 0;
  }
  .testimonial-box:has(#stat-counter) {
    flex-wrap: wrap;
  }
  .cta-btns>.wp-block-button {
    width: 100%;
  }

  /* ---- Claims Made / Occurence Page */
  /* Hide mobile images */
  #cm-large-img, #oc-large-img {
    display: none;
  }
  #cm-mobile-img, #oc-mobile-img {
    display: block;
  }


  .modal-panel {
    width: calc(100% - 2rem);
  }

  footer .wp-block-group.alignwide.has-secondary-background-color {
    padding-right: var(--wp--preset--spacing--30);
    padding-left: var(--wp--preset--spacing--30);
  }

  #footer-columns {
    gap: 3rem;
  }
  #footer-columns .wp-block-group {
    align-items: center;
  }
  #footer-columns .wp-block-group p {
    text-align: center;
  }
  
}

  /* Theme Custom CSS end */


