@import url(https://fonts.googleapis.com/css?family=Montserrat:300,400,600);

@charset "UTF-8";

@import "plucolor7.css";
@import "plucomponents1.css";
@import "metafizzy3.css";
@import "margins1.css";
@import "plustyle15.css";

:root {
    /* --plu-background: #000000; /* Black Friday */
    --plu-background: #d3e1e6;
}

.alt-font {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500
}

.main-font {
    font-family: 'Montserrat', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat', sans-serif !important;
    /*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/
    /*font-family: 'Raleway', 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
    font-weight: 400 !important;
    color: hsl(0, 0%, 15%);
    /*text-transform: uppercase; */
}

h1,
h2,
h3 {
    margin-bottom: 1.3rem !important;
}

/* For on-page scrolling to fragments, use class anchor or h2 */
h2, .anchor {
    position: relative;
    scroll-margin-top: 85px;
    scroll-behavior: smooth;
}

strong {
    font-weight: 700 !important;
    /*color: hsl(0, 0%, 0%);*/
}

.plu-display-1,
.plu-display-2,
.plu-display-3,
.plu-display-4,
.plu-display-5,
.plu-display-6 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    line-height: 1.2;
}

.plu-display-1 {
    font-size: 6rem !important;
}

.plu-display-2 {
    font-size: 5.5rem !important;
}

.plu-display-3 {
    font-size: 4.5rem !important;
}

.plu-display-4 {
    font-size: 3.5rem !important;
}

.plu-display-5 {
    font-size: 3.0rem !important;
}

.plu-display-6 {
    font-size: 2.5rem !important;
}

.plu-nav {
    font-size: 1rem;
    line-height: 1.0;
}

.badge-purple {
    color: #fff;
    background-color: #6e5ff0;
}

.badge-purple i {
    font-size: 80%;
    position: relative;
    top: -1px;
}

.badge-amber {
    color: #fff;
    background-color: #ff8f00;
}

.badge-lime {
    color: #fff;
    background-color: #aeea00;
}

.badge-light-green {
    color: #fff;
    background-color: #64dd17;
}

.badge-indigo {
    color: #fff;
    background-color: #304ffe;
}

/* Used for calendar colour keys */
.bg-sim {
    color: #203252 !important;
    background-color: #b2dcf5;
}

.bg-non-sim {
    color: #672617 !important;
    background-color: #fde7bd;
}

.bg-non-rec {
    color: #1F4145 !important;
    background-color: #A7F4E5;
}

.bg-hosp {
    color: #342266 !important;
    background-color: #E3CDFC;
}

.bg-exchange {
    color: #ffffff !important;
    background-color: #5E6D84;
}

.bg-multi {
    color: #1B442F !important;
    background-color: #BCF6CB;
}

.bg-unavailable {
    color: #601D20 !important;
    background-color: #FDCDCE;
}

.goog-te-banner-frame.skiptranslate {
    display: none !important;
}

/* v-calendar popover colors */
.vc-popover-content {
    color: hsl(0, 0%, 40%) !important;
    background-color: white !important;
}

body {
    top: 0px !important;
    background-color: var(--plu-background) !important;
    font-family: 'Montserrat', sans-serif !important;
}

table tbody tr td a {
    display: block;
    width: 100%;
    height: 100%;
}

body {
    padding: 74px 0 0 0;
}

.body-transparent-nav {
    padding: 0 0 0 0;
}

/*li:last-child {*/
/*    margin-bottom: 1rem;*/
/*}*/

.d-inline {
    display: inline;
}

.label-align-100 {
    min-width: 100px;
    display: inline-block;
}

.label-align-150 {
    min-width: 160px;
    display: inline-block;
}

.label-align-200 {
    min-width: 200px;
    display: inline-block;
}

.row:before, row:after {
    display: inline-block;
}

.col-form-label-centre {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
    line-height: 1.5;
    text-align: center;
}

.link-no-decoration {
    text-decoration: none !important;
}

.home-entry {
    height: 42px;
    font-size: 22px !important;
    color: hsl(0, 0%, 50%) !important;
    font-weight: 400 !important;
}

/* Changing colours for special days: */
/* 1. Change these colours */
/* 2. Change background colour in nav.blade.php
/* 3. Increment plus.css */
/* 4. Increment to the new plus number in master.blade */

/* PLU Blue:     #5abfde */
/* IWD Purple:   #8064A2 */
/* St Patricks:  #1FA959 */
/* Harmony Day Orange:  #F28E37 */

.media-body-text {
    /* Don't change this one -- Need some contrast with the background */
    /*color: #777777 !important;*/
    /*background-color: #efefef !important;*/
    word-break: break-word;
    /*white-space: pre-wrap;*/
    font-size: 18px !important;
    font-weight: 300;
}

.media-body-text-reply {
    /* Don't change this one -- Need some contrast with the background */
    /*color: #777777 !important;*/
    /*background-color: #fafafa !important;*/
    word-break: break-word;
    /*white-space: pre-wrap;*/
    font-size: 18px !important;
    font-weight: 300;
}

.media-body-text > p {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.3;
}

/* Remove margin off bottom element in media text as it already has padding so we don't want to double up */
.media-body-text > :last-child {
    margin-bottom: 0;
}

.media-body-text > a, .media-body-text > p > a, .media-body-text > ol > li > a, .media-body-text > ul > li > a {
    color: var(--plu-white);
    text-decoration: underline !important
}

.grey_links > a, .grey_links > p > a, .grey_links > ol > li > a, .grey_links > ul > li > a {
    color: var(--plu-grey);
    text-decoration: underline !important
}

.fa-colour {
    color: var(--plu-blue);
}

.fa-success, .fa-green {
    color: #54B050 !important;
}

.fa-danger, .fa-red {
    color: orangered !important;
}

.fa-yellow {
    color: gold !important;
}

.btn-info, .btn-info:hover, .btn-info:active, .btn-info:visited {
    color: var(--plu-white) !important;
    border-color: var(--plu-blue) !important;
    background-color: var(--plu-blue) !important;
}

.text-info {
    color: var(--plu-blue) !important;
}

.btn-link {
    color: var(--plu-blue) !important;
}

.card-colour {
    color: var(--plu-blue) !important;
}

.santa-color {
    --fa-primary-color: orangered;
    --fa-secondary-color: limegreen;
}

.fc-toolbar h2 {
    padding-top: 10px;
}

.carousel {
    position: relative;
    height: auto;
}

.carousel-inner > .carousel-item > img,
.carousel-inner > .carousel-item > a > img {
    display: block;
    max-width: 100%;
    height: auto;
    line-height: 1;
    position: relative;
    /*top:50%;*/
    /*transform: translateY(-25%);*/
    margin-left: auto;
    margin-right: auto;
    vertical-align: middle;
}

.carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-height: 700px !important;
    vertical-align: middle;
}

.toast-message {
    font-size: 16px;
}

.card {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    border: 0px !important;
    border-radius: 10px !important;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

a {
    text-decoration: none !important;
}

.card-footer {
    border-top: 0px !important;
}


.card-title {
    color: hsl(0, 0%, 25%) !important;
    font-weight: 400;
}

.card-secondary {
    color: var(--plu-grey) !important;
    font-weight: 300;
}

.plu-label-heading {
    color: hsl(0, 0%, 30%);
    font-weight: 400;
}

.plu-mt-5 {
    margin-top: 28px;
}

.col-form-label {
    color: hsl(0, 0%, 30%) !important;
    font-weight: 400 !important;
    /*font-size: 1.2rem !important;*/
}

.form-control {
    color: hsl(0, 0%, 50%) !important;
    font-weight: 400 !important;
}

.card-secondary-mini {
    color: hsl(0, 0%, 50%) !important;
    font-weight: 400;
    font-size: 12px;
}

.card-header-color {
    color: hsla(0, 0%, 100%, 0.75) !important;
    font-weight: 400;
}

.Aligner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.vertical-center {
    display: flex;
    align-items: center;
}

.Aligner-item {
    max-width: 50%;
}

.Aligner-item--top {
    align-self: flex-start;
}

.Aligner-item--bottom {
    align-self: flex-end;
}

.sidenav {
    height: calc(100vh - 60px);
    /*height: 94%; !* Full-height: remove this if you want "auto" height *!*/
    width: 41.7%; /* Set the width of the sidebar */
    position: fixed; /* Fixed Sidebar (stay in place on scroll) */
    z-index: 1; /* Stay on top */
    top: auto; /* Stay at the top */
    right: 0;
    background-color: #f5f8fa; /* Black */
    overflow-x: hidden; /* Disable horizontal scroll */
    /*padding-top: 20px;*/
    padding-left: 0px;
}

.main {
    /*margin-right: 300px; !* Same as the width of the sidebar *!*/
    padding: 0px 0px;
    /*margin-top: 50px;*/
}

/* Header and detail screen for Quick Start */
.steps-header {
    height: 25vh;
    min-height: 25%;
    max-height: calc(100vh - 76px);
    position: relative;
}

.steps-data {
    z-index: 1;
    position: relative;
    max-height: 100%;
    min-height: calc(100vh - 76px) !important;
}

.steps-padding {
    padding: 1.2rem;
}

.toast-bottom {
    position: fixed;
    bottom: 6rem;
}

/* Set navbar z-index high, mostly for issues with dropzone setting at 20 */
.navbar {
    z-index: 50;
    width: 100%;
}

/* Bottom buttons on full screen */
.navbar-bottom {
    overflow: hidden;
    background-color: var(--plu-white);
    position: fixed;
    bottom: 0;
    width: 100%;
    border-top: 1px solid var(--plu-blue);
    padding: 0;
}

.navbar-bottom button {
    display: block;
    color: var(--plu-blue);
    text-align: center;
    padding: 20px 30px 20px 30px;
    text-decoration: none;
    font-size: 1.5rem;
    border-radius: 0px !important;
    font-weight: 300;
}

.navbar-bottom button:hover {
    background: var(--plu-blue);
    color: var(--plu-white);
}

.plu-user-card-image {
    max-height: 30rem !important;
    object-fit: cover;
}

.plu-card-image, .plu-card-map-image, .plu-user-card-image {
    max-height: 25rem;
    border-radius: 10px 10px 0px 0px !important;
}

.plu-santa-card-image {
    border-radius: 10px 10px 0px 0px !important;
}

.plu-card-image {
    max-height: 20rem !important;
    object-fit: cover;
}

.plu-card-image-small {
    border-radius: 10px 10px 0px 0px !important;
    min-height: 15rem !important;
    max-height: 15rem !important;
    object-fit: cover;
}

.caption {
    background: var(--plu-white);
    color: var(--plu-grey);
    margin: 0;
    padding: 10px;
    text-align: center;
}

/* Below 992px, we collapse the menu. .hidelarge removes the notification bell. */
@media screen
and (min-width: 992px) {
    .hidelarge {
        display: none;
    }

    .large-vertical-centre {
        height: 94%;
    }

    .steps-header {
        height: calc(100vh - 76px);
    }

    .steps-padding {
        padding: 3rem;
    }

    .navbar-bottom {
        width: 50% !important;
    }

    .caption {
        height: 44px;
    }
}

@media (max-width: 992px) {
    .hidesmall {
        display: none;
    }

    .navbar {
        overflow: auto;
        max-height: 85vh;
        align-items: flex-start;
    }

    .badge {
        font-size: 0.75rem !important;
    }

    .plu-nav-photo {
        margin-top: -11px !important;
    }

    .caption {
        height: 64px;
    }

}

/* XX-Small devices */
@media (max-width: 350px) {
    .steps-header {
        height: 30vh;
        min-height: 30%;
    }
}

/* X-Small devices (portrait phones, less than 576px)*/
/* No media query for `xs` since this is the default in Bootstrap*/
@media (max-width: 576px) {

    .card-secondary {
        font-size: 16px !important;
        font-weight: 400;
    }

    .plu-display-1 {
        font-size: 5rem !important;
    }

    .plu-display-2 {
        font-size: 4.5rem !important;
    }

    .plu-display-3 {
        font-size: 3.5rem !important;
    }

    .plu-display-4 {
        font-size: 2.5rem !important;
    }

    .plu-display-5 {
        font-size: 2.0rem !important;
    }

    .plu-display-6 {
        font-size: 1.5rem !important;
    }

    .navbar-bottom a {
        font-size: 1.0rem;
    }

    .sidenav {
        display: none;
        width: 0%;
    }

    .topnav {
        width: 100%;
        display: block;
        --screen-type: 0;
    }

    .card-pad {
        padding: 20px !important;
    }

    /* Small should be even smaller than the regular 80% on small devices */
    small {
        font-size: 70% !important;
    }

    .plu-card-map-image {
        max-height: 10rem !important;
        object-fit: cover;
    }
}


/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {

    .card-secondary {
        font-size: 16px !important;
        font-weight: 400;
    }

    .sidenav {
        display: none;
        width: 0%;
    }

    .topnav {
        width: 100%;
        display: block;
        --screen-type: 0;
    }

    .card-pad {
        padding: 30px !important;
    }

    .plu-card-map-image {
        max-height: 14rem !important;
    }
}

/* Medium devices (tablets, 768px and up): ipad mini, ipad*/
@media (max-width: 768px) {
    .show-below-medium {
        display: block;
    }

    .show-above-medium {
        display: none;
    }
}

@media (min-width: 768px) {
    .show-below-medium {
        display: none;
    }

    .show-above-medium {
        display: block;
        padding-left: 0 !important;
    }

    .card-secondary {
        font-size: 18px !important;
        font-weight: 400;
    }

    .sidenav {
        display: none;
        width: 0%;
    }

    .topnav {
        width: 100%;
        display: block;
        --screen-type: 0;
    }

    .card-pad {
        padding: 50px !important;
    }

    .plu-card-map-image {
        max-height: 16rem !important;
    }

    .plu-exchange-card-image {
        border-radius: 0px 10px 10px 0px !important;
        max-height: 10rem !important;
    }
}

/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
    .card-secondary {
        font-size: 18px !important;
        font-weight: 300;
    }

    .homeslist {
        width: 50% !important;
    }

    .sidenav {
        display: block;
        width: 50%;
        position: fixed !important;
    }

    .topnav {
        width: 0%;
        display: none;
        --screen-type: 1;
    }

    .plu-card-map-image {
        max-height: 20rem !important;
    }
}

/* X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {

}

/* XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {

}

.card-special-img {
    margin-top: -5px;
    margin-bottom: 5px;
    width: 120px;
    height: 120px;
    border: 15px solid #f00;
    background-color: #fff;
    border-radius: 100%;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}


.card-special-text {
    position: absolute;
    top: 20%;
    left: 21%;
    text-align: center;
    transform: translate(-50%, -50%);
    color: hsl(0, 0%, 30%) !important;
    font-weight: 600;
    font-size: 24px;

}


/* This gets Google to fall into place */
.social {
    font-size: 1px;
}

/* This gets Facebook to fall into place */
.social twitter {
    vertical-align: top !important;
}

/* This gets Facebook to fall into place */
.social Facebook {
    vertical-align: top !important;
}


/* https://stackoverflow.com/questions/19053181/how-to-remove-focus-around-buttons-on-click/60219624#60219624 */
/**
 * Custom cross-browser styles for keyboard :focus overrides defaults.
 */
*:focus {
    outline: 0 !important;
    box-shadow: 0 0 0 .2rem #fff,
    0 0 0 .35rem #069 !important;
}

/**
 * Remove focus styles for non-keyboard :focus.
 */
*:focus:not(.focus-visible) {
    outline: 0 !important;
    box-shadow: none !important;
}

.plu-heading {
    font-weight: 400;
    font-size: 1.640625rem;
    position: relative;
    top: 14px;
}

.plu-comment-background {
    border-radius: 20px;
    background: #F6F8FA;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.plu-comment-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5rem;
    color: hsl(0, 0%, 40%);
    white-space: pre-wrap;
}

.plu-post-text {
    font-size: 18px;
    font-weight: 400;
    line-height: 2rem;
    color: hsl(0, 0%, 45%);
    white-space: pre-wrap;
}

.plu-link-text {
    font-size: 14px;
    font-weight: 300;
    line-height: 2rem;
    color: var(--plu-blue);
}

.plu-comment-textarea {
    border-radius: 1rem !important;
    background: #F6F8FA;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.plu-card-title {
    font-size: 18px;
    font-weight: 450;
}

.plu-card-title-secondary {
    font-size: 18px;
    font-weight: 300;
    color: hsl(0, 0%, 45%);
}

.plu-small-caption {
    font-size: 1rem;
}

.plu-rounded-photo {
    width: 48px !important;
    height: 48px !important;
    object: cover;
}

.plu-nav-flag {
    width: 30px;
}

.pre-wrap {
    white-space: pre-wrap;
}

/*
*
* ==================================================
* UNNECESSARY STYLE - JUST TO MAKE IT LOOKS NICE
* ==================================================
*
*/
.countdown {
    text-transform: uppercase;
    font-weight: bold;
}

.countdown span {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
    font-size: 3rem;
    margin-left: 0.8rem;
}

.countdown span:first-of-type {
    margin-left: 0;
}

.countdown-circles {
    text-transform: uppercase;
    font-weight: bold;
}

.countdown-circles span {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

.countdown-circles span:first-of-type {
    margin-left: 0;
}


/*
*
* ==================================================
* FOR DEMO PURPOSES
* ==================================================
*
*/
body {
    min-height: 100vh;
}

.bg-gradient-1 {
    background: #7f7fd5;
    background: -webkit-linear-gradient(to right, #7f7fd5, #86a8e7, #91eae4);
    background: linear-gradient(to right, #7f7fd5, #86a8e7, #91eae4);
}

.bg-gradient-2 {
    background: #654ea3;
    background: -webkit-linear-gradient(to right, #654ea3, #eaafc8);
    background: linear-gradient(to right, #654ea3, #eaafc8);
}

.bg-gradient-3 {
    background: #ff416c;
    background: -webkit-linear-gradient(to right, #ff416c, #ff642b);
    background: linear-gradient(to right, #ff416c, #ff642b);
}

.bg-gradient-4 {
    background: #007991;
    background: -webkit-linear-gradient(to right, #007991, #78ffd6);
    background: linear-gradient(to right, #007991, #78ffd6);
}

.bg-gradient-5 {
    background: var(--plu-blue);
    background: -webkit-linear-gradient(to bottom, var(--plu-blue), #007991);
    background: linear-gradient(to bottom, var(--plu-blue), #007991);
}

.bg-gradient-6 {
    background: var(--plu-blue);
    background: -webkit-linear-gradient(to bottom, var(--plu-blue), #7f7fd5);
    background: linear-gradient(to bottom, var(--plu-blue), #7f7fd5);
}

.bg-gradient-7 {
    background: #688BCA;
    background: -webkit-linear-gradient(to right, #AFC63E, #688BCA);
    background: linear-gradient(to right, #AFC63E, #688BCA);
}

.rounded {
    border-radius: 1rem !important;
}

.btn-demo {
    padding: 0.5rem 2rem !important;
    border-radius: 30rem !important;
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
    text-transform: uppercase;
    font-weight: bold !important;
}

.btn-demo:hover, .btn-demo:focus {
    color: #fff;
    background: rgba(255, 255, 255, 0.5);
}

/* End - Countdown clock */

/* TinyMCE */
/*figure.image {*/
/*    display: inline-block;*/
/*    border: 1px solid gray;*/
/*    margin: 0 2px 0 1px;*/
/*    background: #f9f6f4;*/
/*}*/

figure.align-left {
    float: left;
}

figure.align-right {
    float: right;
}

figure {
    text-align: center;
}

figure.image img {
    margin: 28px 0px 0px 0px;
}

figure.image figcaption {
    margin: 6px 8px 28px 8px;
    text-align: center;
    color: hsl(0, 0%, 40%) !important;
    font-weight: 300;
    font-size: 18px !important;
}

.leaflet-container {
    z-index: 0; /* Below the nav menu */
}

.custom .leaflet-popup-tip,
.custom .leaflet-popup-content-wrapper {
    border-radius: 10px;
    padding: 0 0 0 0;

}

.custom .leaflet-popup-content {
    margin: 0px;
}

/* Bring z-index of autocomplete in front of modal which is set to 1050 */
/* https://community.wappler.io/t/google-places-autocomplete-doesnt-work-in-a-modal/25076/5 */
.pac-container {
    z-index: 1051;
}

.nounderline {
    text-decoration: none !important
}

.underline {
    text-decoration: underline !important
}

.plu-scrollable-container {
    /* background-color: #9ac1ce !important; Same as Facebook */
    background-color: var(--plu-background) !important;
}


/* Pricing for renewals */
.pricing {
    margin-bottom: 30px
}

.pricing-item, .pricing-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.pricing-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.pricing-item {
    width: calc(100% / 3);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: var(--plu-white) !important;
    text-align: center;
    margin-bottom: 15px
}

@media (max-width: 766.99px) {
    .pricing-item {
        width: 50%
    }
}

@media (max-width: 575.99px) {
    .pricing-item {
        width: 100%
    }
}

.pricing-item-title {
    margin-bottom: 0;
    line-height: 1.12;
    margin-bottom: 12px;
}

.pricing-item-currency {
    font-family: "rift-bold-italic", Arial, sans-serif;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 12px
}

.pricing-item-price {
    font-family: "rift-bold-italic", Arial, sans-serif;
    font-size: 60px;
    line-height: 1;
    margin-bottom: 12px
}

.pricing-item-note {
    font-size: 14px;
    line-height: 1.12;
    margin-bottom: 0;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto
}

.pricing-body {
    padding: 37px 26px 20px
}

@media (max-width: 575.99px) {
    .pricing-body {
        padding: 30px 20px
    }
}

.pricing-body p {
    font-size: 1rem;
    color: var(--plu-white)
}

.pricing-footer {
    margin-top: auto;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 14px 26px 18px
}

.pricing-footer p {
    font-size: 14px;
    line-height: 1.2;
    color: var(--plu-white);
    margin-bottom: 1rem
}

.pricing-footer p:last-child {
    margin: 0
}

.pricing-terms {
    font-size: 14px;
    margin-bottom: 20px
}


.plu-badge-button {
    border-width: 0px !important;
}

.plu-message-text {
    color: var(--plu-grey);
    line-height: 1.3;
    font-size: 15px;
}

/* https://www.w3schools.com/howto/howto_css_shake_image.asp */
.shake {
    /* Start the shake animation and make the animation last for 0.5 seconds */
    animation: shake 0.5s;
}

.plu-property-badge {
    width: 48px;
    height: 48px;
}

.plu-lgbtq-badge {
    width: 48px !important;
}

.plu-member-map-image {
    border: 3px solid #fff;
    border-radius: 100%;
    object-fit: cover;
}

.plu-member-image {
    width: 128px !important;
    height: 128px !important;
    margin-top: -80px;
    border: 3px solid #fff;
    border-radius: 100%;
    object-fit: cover;
}

.plu-member-image-small {
    width: 60px !important;
    height: 60px !important;
    margin-top: -150px;
    border: 2px solid #fff;
    border-radius: 100%;
    object-fit: cover;
}

.plu-member-image-no-margin-top {
    width: 128px !important;
    height: 128px !important;
    border: 3px solid #fff;
    border-radius: 100%;
    object-fit: cover;
}

.plu-message-thumbnail {
    width: 128px !important;
    height: 128px !important;
    /*border: 3px solid #fff;*/
    border-radius: 10%;
    object-fit: cover;
}

.plu-rounded-photo-48px {
    width: 48px !important;
    height: 48px !important;
    border-radius: 100%;
    object-fit: cover;
}

.plu-rounded-photo-36px {
    width: 36px !important;
    height: 36px !important;
    border-radius: 100%;
    object-fit: cover;
}

.plu-frontpage-video {
    background-position: center bottom;
}

.plu-dropzone {
    border-style: dashed !important;
}

/* Added because images in media boxes could go wider than their containers */
img {
    max-width: 100%;
}

.plu-menu-badge {
    position: relative;
    left: -8px;
    top: -7px;
}

/* Deal with pre tags copied into text boxes so they don't exceed the width of the containing block */
pre {
    white-space: pre-wrap;
}

/* 21 Apr 2023 - Added as, for some reason, a couple of the dropdown menus were suddenly not wide enough for their content. */
.dropdown-menu {
    width: max-content;
}

.plu-nav-photo {
    margin-top: -16px !important;
}

.plu-nav-icon {
    margin-top: -5px !important;
}

.plu-flag-icon {
    margin-top: -1px !important;
}

.plu-nav-spacer {
    margin-top: 2px !important;
}

.plu-invisible-button {
    background-color: white;
    padding: 0;
    outline: none;
    border-width: 0;
}

.plu-hdiw-image {
    max-height: 150px;
}

.plu-color-swatch {
    border-width: 1px;
    height: 20px;
    width: 20px;
    padding: 0;
}

.list-group-item {
    border-top-width: 1px !important;
    border-bottom-width: 0px !important;
    height: 50px;
}

/* Bottom popup drawer for Send Enquiry on mobile */
.plu-mobile-nav {
    background: var(--plu-blue);
    position: fixed;
    bottom: 0;
    height: 65px;
    width: 100%;
    display: flex;
    justify-content: space-around;
    z-index: 1000;
}

@media screen and (min-width: 992px) {
    .plu-mobile-nav {
        display: none;
    }
}

.bloc-icon {
    color: var(--plu-white);
    display: flex;
    justify-content: center;
    align-items: center;
}

.bloc-icon i {
    width: 30px;
}

/* Trim the modal size as it goes off the bottom of the ipad */
.modal-body {
    max-height: calc(100vh - 300px) !important;
}

.font-size-2rem {
    font-size: 2rem;
}
.font-size-1-5rem {
    font-size: 1.5rem;
}
.font-size-1-2-rem {
    font-size: 1.2rem;
}
.font-size-1-rem {
    font-size: 1rem;
}
.plu-carousel-vertical-centre {
    top: 50%;
}

.plu-width-370px {
    width: 370px;
}

#component-media .media-carousel .carousel-cell {
    position: relative;
    height: 200px;
    padding: 0 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#component-media .media-carousel .carousel-cell img {
    max-height: 80%;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    position: static;
    transform: none;
}

@media screen and (max-width: 767px) {
    #component-testimonials {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    #component-media {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    #component-media .media-carousel .carousel-cell {
        height: 120px;
        padding: 0 15px;
    }

    #component-media .media-carousel .carousel-cell img {
        max-height: 70%;
    }
}

.plu-btn-tall {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    min-width: 12rem;
    max-width: 12rem;
    min-height: 16rem;
    word-wrap: break-word;
    background-color: #fff;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    border: 2px;
    border-radius: 20px !important;
}

.token-swap-card:hover {
    background-color: var(--plu-light-blue);
}

.card.plu-suggestion {
    box-shadow:
            rgba(50, 50, 93, 0.33) 0px 8px 16px -3px,
            rgba(0, 0, 0, 0.35) 0px 3px 6px -3px,
            rgba(53, 178, 169, 0.35) 0px 0px 0px 2px;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.favourite-toggle {
    width: 32px;
    height: 32px;
}

.favourite-toggle i {
    font-size: 1.1rem; /* replaces fa-lg manually */
}

.favourite-toggle:hover {
    transform: scale(1.05);
}

.favourite-toggle.is-favourite {
    color: var(--plu-coral);
}

.favourite-toggle.is-unfavourite {
    color: var(--plu-grey);
}

.card.plu-suggestion:hover {
    transform: translateY(-2px);
    box-shadow:
            rgba(50, 50, 93, 0.4) 0px 14px 28px -4px,
            rgba(0, 0, 0, 0.4) 0px 8px 10px -5px,
            rgba(53, 178, 169, 0.5) 0px 0px 0px 2px;
}

/* Focusable cards for things like homes and member profiles */
.card-focusable {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-focusable:hover {
    transform: translateY(-2px);
    box-shadow:
            rgba(50, 50, 93, 0.25) 0px 14px 28px -4px,
            rgba(0, 0, 0, 0.25) 0px 8px 10px -5px;
}

.card-focusable:focus-visible {
    outline: none;
    transform: translateY(-2px);
    box-shadow:
            rgba(50, 50, 93, 0.25) 0px 14px 28px -4px,
            rgba(0, 0, 0, 0.25) 0px 8px 10px -5px;
}

.card-focusable:active, .card.plu-suggestion:active {
    transform: translateY(0);
    box-shadow:
            rgba(50, 50, 93, 0.15) 0px 6px 12px -6px,
            rgba(0, 0, 0, 0.15) 0px 3px 6px -6px;
}

@media (prefers-reduced-motion: reduce) {
    .card-focusable {
        transition: none;
    }

    .card-focusable:hover,
    .card-focusable:focus-visible {
        transform: none;
    }
}
