/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

@media (min-width:767px) {
    html body {
        font-size: 18px!important;
    }}

@media (min-width:797px) {
    .dk-none {
        display: none
    }

}
@media (max-width:767px) {
    body {
        font-size: 14px!important;
    }
    .page-hero__skyline-holder {
        display:none;
    }

    .heart-bkgd-mob {
        margin: 0;
        position: relative;
        background-image: url(../resources/assets/img/logomark.svg);
        background-size: auto 50%;
        background-position: 150% 130%;
        background-repeat: no-repeat;
    }
    .page-hero__visual {
        display:block;
        padding: 1.5rem;
    }
}

  /* ==========================================================================
     Desktop Styles (1200px and above) - CONSOLIDATED BLOCK
     ========================================================================== */
     @media (min-width: 1200px) {
  

        body {
          padding-top: 7.25rem; /* Desktop padding-top */
        }
      
        .header__container {
          height: 4.75rem; /* Desktop header height */
        }
      
        .branding__logo {
          width: 8rem; /* Desktop logo size */
        }
      
        .header__menu-toggle {
          display: none; /* Hide hamburger toggle on desktop */
        }
      
        .header__links {
          display: flex; /* Show nav on desktop */
          align-items: center;
          justify-content: space-between;
          height: 100%;
          position: relative; /* Changed from fixed, as it's within the header */
          background: #cb1a55; /* Desktop nav background */
          top: 0; /* Reset top */
          margin: 0; /* Reset margin */
        }
      
        .header__links > nav {
          max-width: 1400px;
          margin: 0 auto;
          height: 100%;
          width: 100%;
        }
      
        .header__links > nav > ul {
          display: flex; /* Horizontal top-level menu */
          height: 100%;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          padding: 0 1rem;
        }
      
        /* Parent menu items: relative positioning for absolute children */
        .header__links > nav > ul > li {
          position: relative; /* THIS IS CRITICAL FOR SUBMENU POSITIONING */
          height: 100%; /* Ensure full height for hover area */
        }
      
        /* First-level submenu: Hidden by default, absolute positioning */
        .header__links ul ul {
          display: none; /* <-- This is the main rule to hide it initially */
          position: absolute;
          top: 100%; /* Positions submenu directly below parent */
          left: 0; /* Aligns left edge with parent */
          background: #574596; /* Desktop submenu background */
          min-width: 200px; /* Ensure enough width */
          padding: 1.5rem 0 1rem;
          z-index: 1000; /* Stacking context */
          /* Add any other specific styles for this level */
        }
      
        /* Third-level submenu: Hidden by default, absolute positioning relative to its direct parent (the second-level li) */
        .header__links ul ul ul {
          display: none; /* <-- This hides third-level submenus initially */
          position: absolute;
          top: 0; /* Aligns top of third-level with its parent (second-level li) */
          left: 100%; /* Positions it to the right of its parent */
          background: #574596; /* Different background for clear distinction */
          min-width: 200px;
          z-index: 1100; /* Higher z-index for this level */
          padding: 0.5rem 0; /* Adjust padding as needed */
        }
      
        /* --- Rules to SHOW submenus on hover/focus --- */
        /* When parent LI is hovered, show its direct UL child (first-level submenu) */
        .header__links ul li:hover > ul {
          display: block;
        }
      
        /* When a top-level link is focused, show its direct UL child (first-level submenu) */
        /* Also applies to second-level link for third-level submenu */
        .header__nav > ul > li > a.focus + ul,
        .header__nav > ul > li > a:focus + ul, /* More general focus */
        .header__nav > ul > li > a:focus-visible + ul, /* Modern focus state */
        .header__links ul ul li:hover > ul { /* For third-level dropdown on second-level hover */
            display: block;
        }
      
      
        /* Submenu list items (first and second level) */
        .header__nav ul ul li {
          padding: 0 1rem; /* Adjust padding here */
          font-weight: 700;
          max-width: 66.5rem; /* This max-width seems odd for a list item, reconsider */
          margin-left: auto;
          margin-right: auto;
          white-space: nowrap; /* Prevents text wrapping */
          position: relative; /* Crucial for third-level dropdown parent */
        }
      
        /* Space between submenu items */
        .header__links ul ul li + li {
          margin-top: 0.2rem!important;
        }
      
        /* Submenu links (first and second level) */
        .header__links ul ul a {
          color: #fff;
          font-size: 1.1rem;
          height: auto; /* Allow content to dictate height */
          display: block; /* Make link fill list item for easier clicking */
          padding: 0.5rem 0; /* Add padding to links for better click area */
          text-decoration: none;
        }
      
      
        /* Top-level links styling */
        .header__nav ul a {
          height: 45px;
          display: flex;
          align-items: center;
          padding: 0 0.75em;
          text-decoration: none;
          font-size: 0.85rem;
          color: #fff;
          font-weight: 700;
          text-transform: uppercase;
          position: relative; /* Not strictly needed for top-level if no absolute children, but harmless */
        }
      
        /* Active/hover/focus state for top-level links */
        .header__nav > ul > li > a.focus,
        .header__nav > ul > li.current > a,
        .header__nav > ul > li:hover > a {
          color: #fff;
          background: #574596;
        }
      
        /* Other desktop utilities */
        .header__social {
          display: flex; /* Show social icons on desktop */
        }
      
        .header__branding {
          display: flex;
          width: 100%;
          justify-content: space-between;
          align-items: center;
        }
      
        .header__utils {
          flex-grow: 1;
          display: flex;
          align-items: center;
          justify-content: flex-end;
          margin-right: 1rem;
        }
      
        .header__constants {
          list-style: none;
          margin: 0 2.5rem 0 0;
          padding: 0;
          display: flex;
        }
      
        .header__constants li + li {
          margin-left: 1.5rem;
        }
      
        .header__constants li a {
          font-weight: 600;
          color: #404041;
          text-decoration: none;
          text-transform: uppercase;
          font-size: 0.85rem;
        }
      
        .header__search {
          margin-right: 2.5rem;
        }
      
        .nav .menu-item-has-children > ul.nav .menu-item-has-children > a::after {
            content: "";
            display: inline-block;
            width: 10px;
            height: 10px;
            background-image: url('/wp-content/themes/adoptlondon/resources/assets/img/gap-chevron-right.svg');
            background-size: contain;
            background-repeat: no-repeat;
            margin-left: 16px;
            vertical-align: middle;
        }
    } /* End media query */

main {
    display: block;
}

h1, h2.link-portal__content--title {
    font-size: 2em;
    margin: .67em 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

img {
    border-style: none;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: .35em .75em .625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0;
}

[type=number] {
    &::-webkit-inner-spin-button,
    &::-webkit-outer-spin-button {
        height: auto;
    }
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
    &::-webkit-search-decoration {
        -webkit-appearance: none;
    }
}

.search__control::placeholder {
    color: black;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

[hidden],
template {
    display: none;
}

a,
button,
details,
input,
select,
textarea {
    touch-action: manipulation;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

fieldset {
    margin: 0;
    border-style: solid;
    border-width: 1px;
}

textarea {
    resize: vertical;
}

img,
svg {
    max-width: 100%;
    vertical-align: middle;
}

dl,
ol,
ul {
    margin-top: 1.5rem;
    margin-bottom: 0;
    padding-inline-start: 20px;
}

.center-block {
    margin-left: auto;
    margin-right: auto;
}

.align-center {
    text-align: center !important;
}

.align-left {
    text-align: left !important;
}

.align-right {
    text-align: right !important;
}

.pull-left {
    float: left !important;
}

.pull-right {
    float: right !important;
}

.pull-none {
    float: none !important;
}

.no-margin {
    margin: 0 !important;
}

.no-padding {
    padding: 0 !important;
}

.no-vspace {
    padding-top: 0;
    padding-bottom: 0;
}

.hidden {
    display: none;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

html {
    font: 400 112.5%/1.5 Quicksand, apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
    color: #666;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::-moz-selection,
::selection {
    background-color: #5d4a9d;
    color: #fff;
}

a {
    color: #cb1a55;
    text-decoration: underline;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: Quicksand, apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
    font-weight: 700;
    color: #404041;
}

h1 {
    font-size: 3rem;
    line-height: 1.1;
}

h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
    line-height: 1.2;
}

h3 {
    line-height: 1.2;
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
    line-height: 1.2;
}

h5 {
    line-height: 1.2;
    font-size: 1.1rem;
}

h6 {
    font-size: 1rem;
    line-height: 1.2;
}

.lead {
    font-size: 2rem;
    line-height: 1;
}

.hd-bd {
    font-size: 1rem;
}

.txt--yellow {
    color: #d6de23;
}

.txt--red {
    color: #cb1a55;
}

.txt--purple {
    color: #5d4a9d;
}

p {
    margin: 0;
}

.container--slim {
    h2+p,
    h3+p,
    h4+p,
    h5+p {
        margin-top: 1.5rem;
        margin-bottom: 0;
    }
}

.title+*,
img+*,
p+* {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

ul+ {
    .title,
    h3,
    h4,
    p {
        margin-top: 1.5rem;
        margin-bottom: 0;
    }
}

.container--slim {
    p+ {
        h2,
        h3,
        h4,
        h5 {
            margin-top: 3rem;
        }
    }
    ul+ {
        h3,
        h4 {
            margin-top: 3rem;
        }
    }
}

.content-page *+p {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

html {
    box-sizing: border-box;
}

*,
:after,
:before {
    box-sizing: inherit;
}

@media (min-width: 768px) {
    .half-width {
        max-width: 55%;
    }
}

@media (max-width: 768px) {
    .mb-centre {
      text-align: center;
    }
  }
  
  @media (min-width: 768px) {
    .mb-centre {
      text-align: left;
    }
  }
  

.container {
    margin: auto;
    padding: 0 1em;
    width: 100%;
    max-width: 66.5rem;
}

.container--slim {
    max-width: 40rem;
}

.container--md {
    max-width: 50rem;
}

.container--fluid {
    max-width: none;
}

.btn {
        display: inline-block;
        padding: 1rem 2em;
        min-width: 180px;
        border: none;
        border-radius: 90px!important;
        background-color: #d91c5c;
        font-weight: 700;
        font-size: .875rem;
        text-transform: uppercase;
        color: #fff;
        text-align: center;
        text-decoration: none;
        margin-bottom: 0.5rem;

    &:focus {
        outline: 2px solid rgba(0, 0, 0, 0.5);
    }
}

.btn__icon {
    display: inline-block;
    margin-left: .5em;
    width: 1em;
    height: 1em;
    fill: currentcolor;
}

.link--more {
    display: block;
    font-size: .888rem;
    text-transform: uppercase;
    font-weight: 700;
}

.content-block__header .link--more {
    font-size: 1rem;
}

.link--more+.link--more {
    margin-top: 1rem;
}

.btn--block {
    width: 100%;
}

.btn--ghost {
    border: 1px solid;
    background-color: transparent;
    color: inherit;
}

.btn--rounded {
    border-radius: 1.5rem;
}

.download {
    display: flex;
    align-items: center;
    width: 26rem;
    max-width: 100%;
    border: 1px solid #eee;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    padding: 1rem;
    text-decoration: none;
    margin-top: 1.5rem;
    background: #fff;
    position: relative;
    z-index: 2;
}

.download__info {
    width: 75%;
    flex-shrink: 0;
    span {
        display: block;
        text-transform: uppercase;
        color: #444;
        font-size: .7rem;
    }
    .download__title {
        text-transform: none;
        color: #5d4a9d;
        font-size: .88rem;
        font-weight: 700;
        margin: .5em 0;
    }
}

.download:hover .download__title {
    text-decoration: underline;
}

.download__icon img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.grid {
    position: relative;
    margin-left: -1em;
    margin-right: -1em;
}

.grid__cell {
    float: left;
    width: 100%;
    padding-left: 1em;
    padding-right: 1em;
    min-height: 1px;
}

.grid:not(.grid--flex):after {
    content: "";
    display: block;
    clear: both;
}

.grid--flex {
    display: flex;
    flex-wrap: wrap;
    &.grid--reversed {
        flex-direction: row-reverse;
    }
    >.grid__cell {
        float: none !important;
    }
}

.grid--collapsed {
    margin-left: 0;
    margin-right: 0;
    >.grid__cell {
        padding-left: 0;
        padding-right: 0;
    }
}

.grid--reversed>.grid__cell {
    float: right;
}

.grid__cell--xs-1 {
    width: 8.33333%;
}

.grid__cell--xs-2 {
    width: 16.66667%;
}

.grid__cell--xs-3 {
    width: 25%;
}

.grid__cell--xs-4 {
    width: 33.33333%;
}

.grid__cell--xs-5 {
    width: 41.66667%;
}

.grid__cell--xs-6 {
    width: 50%;
}

.grid__cell--xs-7 {
    width: 58.33333%;
}

.grid__cell--xs-8 {
    width: 66.66667%;
}

.grid__cell--xs-9 {
    width: 75%;
}

.grid__cell--xs-10 {
    width: 83.33333%;
}

.grid__cell--xs-11 {
    width: 91.66667%;
}

.grid__cell--xs-12 {
    width: 100%;
}

@media (min-width: 768px) {
    .grid__cell--sm-1 {
        width: 8.33333%;
    }
    .grid__cell--sm-2 {
        width: 16.66667%;
    }
    .grid__cell--sm-3 {
        width: 25%;
    }
    .grid__cell--sm-4 {
        width: 33.33333%;
    }
    .grid__cell--sm-5 {
        width: 41.66667%;
    }
    .grid__cell--sm-6 {
        width: 50%;
    }
    .grid__cell--sm-7 {
        width: 58.33333%;
    }
    .grid__cell--sm-8 {
        width: 66.66667%;
    }
    .grid__cell--sm-9 {
        width: 75%;
    }
    .grid__cell--sm-10 {
        width: 83.33333%;
    }
    .grid__cell--sm-11 {
        width: 91.66667%;
    }
    .grid__cell--sm-12 {
        width: 100%;
    }
}

@media (min-width: 1024px) {
    .grid__cell--md-1 {
        width: 8.33333%;
    }
    .grid__cell--md-2 {
        width: 16.66667%;
    }
    .grid__cell--md-3 {
        width: 25%;
    }
    .grid__cell--md-4 {
        width: 33.33333%;
    }
    .grid__cell--md-5 {
        width: 41.66667%;
    }
    .grid__cell--md-6 {
        width: 50%;
    }
    .grid__cell--md-7 {
        width: 58.33333%;
    }
    .grid__cell--md-8 {
        width: 66.66667%;
    }
    .grid__cell--md-9 {
        width: 75%;
    }
    .grid__cell--md-10 {
        width: 83.33333%;
    }
    .grid__cell--md-11 {
        width: 91.66667%;
    }
    .grid__cell--md-12 {
        width: 100%;
    }
}

@media (min-width: 1440px) {
    .grid__cell--lg-1 {
        width: 8.33333%;
    }
    .grid__cell--lg-2 {
        width: 16.66667%;
    }
    .grid__cell--lg-3 {
        width: 25%;
    }
    .grid__cell--lg-4 {
        width: 33.33333%;
    }
    .grid__cell--lg-5 {
        width: 41.66667%;
    }
    .grid__cell--lg-6 {
        width: 50%;
    }
    .grid__cell--lg-7 {
        width: 58.33333%;
    }
    .grid__cell--lg-8 {
        width: 66.66667%;
    }
    .grid__cell--lg-9 {
        width: 75%;
    }
    .grid__cell--lg-10 {
        width: 83.33333%;
    }
    .grid__cell--lg-11 {
        width: 91.66667%;
    }
    .grid__cell--lg-12 {
        width: 100%;
    }
}

.form__group {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

.form__label {
    display: inline-block;
}

.form__control {
    display: block;
    width: 100%;
    margin: .75rem 0;
    padding: 0 1rem;
    height: 3rem;
    line-height: 3rem;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #fff;
    font-family: inherit;
    color: #666;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    &:focus {
        outline: none;
        border-color: #aaa;
    }
}

select.form__control[multiple],
textarea.form__control {
    padding: 1rem;
    height: auto;
    line-height: 1.5;
}

.form__control[type=color] {
    width: 4rem;
}

.contact-block {
    padding: 3rem 2rem;
    background-image: url(../resources/assets/img/contact-block-bg.jpg);
    background-size: cover;
    max-width: 53.333rem;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    box-shadow: 0 0 10px 3px rgba(0,0,0,0.1);
    text-align: center;
    color: #fff;
    position: relative;
    z-index: 2
}

.contact-block__icon {
    display: block;
    width: 40px;
    margin-left: auto;
    margin-right: auto
}

.contact-block__title {
    margin: 1rem 0;
    font-size: 1.666rem;
    color: #fff
}

.contact-block__form {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto
}

.contact-block__form .custom-select-control {
    border: 0
}

.boroughs-sm {
    display: none
}

@media (max-width: 639px) {
    .contact-block__form button {
        width:100%
    }

    .boroughs-sm {
        display: block
    }

    .boroughs-lg {
        display: none
    }
}

@media (min-width: 640px) {
    .contact-block__form {
        display:flex
    }

    .contact-block__form>* {
        margin: 0
    }

    .contact-block__form>:not(:last-child) {
        flex-grow: 1;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .contact-block__form>:last-child {
        /* border-top-left-radius:0; */
        border-bottom-left-radius: 0;
    }

    .contact-block__form button {
        min-width: none
    }
}


.custom-select-control {
    overflow: hidden;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='27.713'%3E%3Cpath d='M16 27.713L32 0H0z'/%3E%3C/svg%3E");
    background-position: calc(100% - 15px) 50%;
    background-repeat: no-repeat;
    background-size: 8px auto;
  }
  
  .custom-select-control:focus-within {
    border-color: #aaa;
  }
  

  .custom-select-control>select {
    display: block;
    width: 100%;
    padding: 0 1rem;
    height: 3rem;
    line-height: 3rem;
    border-radius: 3px;
    background-color: #fff;
    font-family: inherit;
    color: #666;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent
}
  
  .custom-select-control > select:focus {
    outline: 0;
  }
  
  .custom-select-control > select::-ms-expand {
    display: none;
  }

  button.search-btn {
    display: inline-block;
    padding: 0 2em;
    min-width: 180px;
    height: 3rem;
    line-height: 3rem;
    border: 0;
    border-radius: 3px;
    background-color: #d91c5c;
    font-family: inherit;
    font-weight: 700;
    font-size: .875rem;
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    text-decoration: none
  }
  
.custom-file-control {
    margin: .75rem 0;
}

.custom-file-control__btn {
    position: relative;
    display: inline-block;
    [type=file] {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
    }
}

.nav {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.nav--inline {
    li {
        display: inline-block;
    }
    >li+li {
        margin-left: 20px;
    }
}

.nav--stacked a {
    display: block;
    padding-top: .75rem;
    padding-bottom: .75rem;
    border-bottom: 0;
}

.responsive-media {
    position: relative;
    padding-bottom: 56.25%;
    > {
        * {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
        img {
            -o-object-fit: cover;
            object-fit: cover;
        }
    }
}

.responsive-media--spaced {
    margin: 2rem auto;
}

.responsive-media--4x3 {
    padding-bottom: 75%;
}

.responsive-media--1x1 {
    padding-bottom: 100%;
}

.rule {
    margin: 1.5rem auto;
    border-width: 0;
    border-bottom: 2px solid #eee;
}

.content-block {
    padding: 4rem 0;
    position: relative;
}

.content-block--flush {
    margin: 0;
    padding: 4rem 0;
}

.content-block--grey {
    background: #f0eef6;
}

.content-block--purple {
    margin: 0;
    padding: 4rem 0;
    background: linear-gradient(162deg, #6d45e1, #544198);
    color: #fff;
    .title {
        color: #fff;
    }
}

.content-block__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: .3;
    z-index: 0;
}

@media (min-width: 768px) {
    .content-block--overlap {
        .container .img--full {
            margin-bottom: -12rem;
            position: relative;
            z-index: 2;
        }
        +.content-block {
            padding-top: 12rem;
        }
    }
}

@media (max-width: 767px) {
    .content-block__header .link--more {
        margin-top: 1rem;
        margin-bottom: 1.5rem;
    }
}

.content-block__header {
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .content-block__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

@media (min-width: 768px) {
    .colums-block__title {
        max-width: calc(50% - 1em);
    }
    .columns {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        grid-column-gap: 2em;
        -webkit-column-gap: 2em;
        -moz-column-gap: 2em;
        column-gap: 2em;
        div,
        p {
            -webkit-column-break-inside: avoid;
            page-break-inside: avoid;
            -moz-column-break-inside: avoid;
            break-inside: avoid;
        }
    }
}

@media (min-width: 768px) {
    .content-grid {
        display: flex;
        margin-left: -1em;
        margin-right: -1em;
    }
    .content-grid__item {
        padding-left: 1em;
        padding-right: 1em;
        width: 50%;
    }
}

.img--full {
    border-radius: 5px;
    overflow: hidden;
    margin: 3rem auto;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    img {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .img--full {
        margin: 2rem auto 0;
    }
}

.columns img {
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    width: 100%;
}

.overflow-media {
    position: relative;
    left: 50%;
    padding: 5vw 0;
    margin-top: 0;
    margin-left: -50vw;
    width: 100vw;
    img {
        display: block;
        margin: auto;
        height: auto;
        border-radius: 5px;
        box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    }
}

@media (min-width: 768px) {
    .overflow-image img {
        margin-left: calc(-50vw + 1em);
        max-width: calc(100vw - 2em);
    }
}

.article-details+.rte>.overflow-media:first-child {
    img {
        width: 1100px;
        margin: 0 auto;
        max-width: 100%;
    }
    padding-top: 0;
}

@media (max-width: 1100px) {
    .article-details+.rte>.overflow-media:first-child img {
        border-radius: 0;
    }
}

.related-link {
    a {
        color: #5d4a9d;
        text-decoration: none;
        font-weight: 700;
        +p {
            margin-top: 1rem;
        }
    }
    +.related-link {
        margin-top: 2rem;
    }
}

.testimonial__quote {
    background: #fff;
    padding: 1.5rem 1.25rem;
    font-size: 1rem;
    color: #5d4a9d;
    border-radius: 10px;
    font-weight: 700;
    position: relative;
    &:after {
        content: "";
        position: absolute;
        left: 15px;
        bottom: -15px;
        width: 0;
        height: 0;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 20px solid #fff;
    }
}

.testimonial__author {
    position: relative;
    margin-top: 25px;
    display: flex;
    align-items: center;
    img {
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
        margin-right: 1rem;
    }
    p {
        margin-top: 0;
        font-size: .88rem;
        span {
            display: block;
            font-size: 1rem;
            font-weight: 700;
        }
    }
}

@media (min-width: 768px) {
    .testimonial {
        max-width: 26rem;
        float: right;
    }
    .columns .testimonial {
        margin-top: 0;
    }
}

.content-portal {
    overflow: hidden;
    position: relative;
    margin: 0;
    padding: 4rem 0;
    background-image: linear-gradient(162deg, #6d45e1, #544198);
    color: #fff;
    &:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url(../resources/assets/img/faq-bg.png) no-repeat 50% 0;
        background-size: cover;
        opacity: .3;
    }
    a {
        color: #d6de23;
        font-weight: 800;
    }
    >* {
        position: relative;
        z-index: 2;
    }
    .title {
        color: #fff !important;
    }
}

.skip-link {
    position: fixed;
    width: 100%;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    font-size: .83em;
    line-height: 1.1;
    text-align: center;
    border-bottom: none;
    padding: 1em .25em;
    color: #fff;
    background: #5d4a9d;
    z-index: 9999;
    font-weight: 700;
    &:focus {
        top: 0;
        outline: none;
        border: none;
    }
}

.search {
    display: flex;
    width: 400px;
    height: 45px;
    border-radius: 5px;
    border: 2px solid transparent;
    background-color: #5d4a9d14;
    color: #000;
    &[focus-within],
    &:focus-within {
        border-color: rgba(255, 255, 255, 0.3);
    }
}

.search__control {
    flex-grow: 1;
    padding: 0 1rem;
    color: currentcolor;
    border: none;
    box-shadow: none;
    background: transparent;
    font-family: inherit;
    font-size: .85rem;
    font-weight: 600;
    &:focus {
        outline: 0;
    }
    &::-webkit-input-placeholder,
    &::-moz-placeholder,
    &:-ms-input-placeholder,
    &::-ms-input-placeholder,
    &::placeholder {
        color: #fff;
    }
}

.search__btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .25rem;
    width: 45px;
    color: currentcolor;
    &:focus {
        outline: 0;
    }
    svg {
        width: 1rem;
        height: 1rem;
        fill: currentcolor;
    }
}

.announcement-bar {
    padding: .66rem 0;
    background-color: #000;
    color: #fff;
    text-align: center;
    font-size: 16px;
    >* {
        margin: auto;
        padding: 0 1em;
        width: 100%;
        max-width: 1400px;
    }
    a {
        font-weight: 600;
        color: currentcolor;
        text-decoration: underline;
        &:hover {
            text-decoration: none;
        }
    }
}

.contact-card {
    border-radius: 5px;
    border: 1px solid #eee;
    background-color: #fff;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
}

.contact-card__header {
    position: relative;
    padding: 1rem 1.25rem 0;
}

.contact-card__logo {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 120px;
}

.contact-card__title {
    width: calc(100% - 120px - .5rem);
}

.contact-card__body {
    padding: .5rem 1.25rem 1.25rem;
    font-size: .925rem;
    font-weight: 600;
    a {
        color: currentcolor;
        text-decoration: none;
        &:hover {
            color: #cb1a55;
            text-decoration: underline;
        }
    }
}

.contact-card__info-row {
    list-style: none;
    padding-left: 0;
    margin: .25rem 0 0;
    display: flex;
    flex-wrap: wrap;
    >li {
        padding-right: 2rem;
    }
}

.contact-card__footer {
    padding: 1rem 1.25rem;
    border-top: 1px solid #ccc;
}

.contact-card--sm {
    .contact-card__logo {
        display: none;
    }
    .contact-card__title {
        width: 100%;
    }
}

.tool-pagination {
    margin-top: 4rem;
    text-align: center;
}

ul.pagination-pages {
    li {
        display: inline;
        margin: 0 1rem;
    }
    .current {
        font-weight: 700;
    }
}

.rtool-category {
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    position: relative;
    &.disabled {
        background: #eee;
        cursor: not-allowed;
        box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
        &:hover {
            box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
        }
        a {
            display: none;
        }
    }
    &.complete {
        background: #fff;
        pointer-events: auto;
        &:after {
            content: "\2713";
            width: 50px;
            height: 50px;
            background: #cb1a55;
            border-radius: 50%;
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            color: #fff;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
        }
        a {
            display: inline-block;
        }
    }
    &:hover {
        box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.2);
    }
    +.rtool-category {
        margin-top: 2rem;
    }
    a {
        margin-top: 1rem;
        font-weight: 600;
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
        &:after {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }
    }
}

.rtool-category__title {
    background: #5d4a9d;
    font-size: 1rem;
    color: #fff;
    padding: 3px 20px 3px 3px;
    border-radius: 50px;
    display: inline-block;
    margin-bottom: 1rem;
    span {
        font-size: 1.2rem;
        display: inline-block;
        height: 44px;
        width: 44px;
        margin-right: 5px;
        background: #291765;
        border-radius: 50%;
        line-height: 2.375rem;
        text-align: center;
    }
}

.rtool-responses__question {
    font-size: 1.2rem;
    margin-top: 2.5rem;
}

.results-form {
    margin-top: 3rem;
    text-align: center;
    input {
        height: 54px;
        line-height: 3.375rem;
        padding: 0 1rem;
        width: 260px;
        position: relative;
        top: 1px;
    }
    .title {
        font-size: 1.7rem;
    }
}

@media (max-width: 767px) {
    .rtool-category {
        .rtool-category__media {
            position: relative;
            padding-bottom: 60%;
            img {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                object-fit: cover;
            }
        }
        .rtool-category__body {
            padding: 1rem;
        }
    }
}

@media (min-width: 768px) {
    .rtool-category {
        display: flex;
        .rtool-category__media {
            width: 50%;
            flex-shrink: 0;
            flex-grow: 0;
            position: relative;
            padding-bottom: 30%;
            img {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                object-fit: cover;
            }
        }
        .rtool-category__body {
            padding: 2rem;
            display: flex;
            align-items: flex-start;
            flex-direction: column;
            justify-content: center;
        }
    }
}

.container--oh {
    overflow: hidden;
    padding: 0;
}

.rtool-questions {
    display: flex;
    flex-basis: 1;
    transition: all .25s ease-out;
    .rtool-question {
        flex: 1 1 0px;
    }
    .rtool-responses {
        position: relative;
        padding-bottom: 20px;
    }
    .question-controls {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
    }
    .question-controls__btn {
        padding: 10px 25px;
        background: #cb1a55;
        color: #fff;
        font-weight: 800;
        border-radius: 30px;
        cursor: pointer;
    }
    .question-controls__btn--prev {
        position: absolute;
        right: auto;
        left: 0;
        top: 0;
    }
    .question-controls__btn--next {
        position: absolute;
        left: auto;
        right: 0;
        top: 0;
    }
    .topic-complete {
        position: absolute;
        bottom: -50px;
        left: 50%;
        transform: translateX(-50%);
    }
}

.rtool-question {
    text-align: center;
    padding-bottom: 4rem;
    padding-top: 4rem;
    border-bottom: 1px solid #ccc;
}

.rtool-answers {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 850px;
    margin: 3rem auto 0;
    button {
        width: 30%;
        margin: 0 1.5%;
        border: none;
        height: 60px;
        line-height: 3.3125rem;
        text-align: center;
        font-weight: 800;
        background: #d8dde0;
        border-radius: 50px;
        color: #000;
        cursor: pointer;
        &.active {
            background: #222;
            color: #fff;
        }
    }
}

.rtool-responses {
    max-width: 850px;
    margin: 0 auto;
    text-align: left;
}

.rtool-content {
    margin: 2rem auto;
    padding-left: 2rem;
    border-left: 5px solid #000;
    display: none;
}

.topic-complete-holder {
    text-align: center;
    margin-top: 3rem;
    >span {
        display: block;
        text-align: center;
        margin-bottom: 2rem;
        margin-top: -1rem;
        font-size: 1.5rem;
        font-weight: 800;
    }
}

.return-home,
.topic-complete {
    display: inline-block;
    border: none;
    height: 60px;
    line-height: 3.3125rem;
    padding: 0 2rem;
    text-align: center;
    font-weight: 800;
    background: #d8dde0;
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    background: #cb1a55;
    text-decoration: none;
}

.complete .hidden {
    display: block !important;
}

.topic-complete-holder--home {
    display: none;
    margin-top: 0;
    margin-bottom: 3rem;
}

.reset {
    position: fixed;
    top: 1.25rem;
    right: 1rem;
    z-index: 999999;
    background: #ccc;
    color: #000;
    border-radius: 50px;
    cursor: pointer;
    padding: .4rem 1.5rem .5rem;
    font-weight: 800;
}

.view-explain {
    cursor: pointer;
    color: #cb1a55;
    font-weight: 700;
    display: block;
    margin-top: .7rem;
    i {
        display: none;
        font-style: normal;
    }
    &.active i,
    i:first-child {
        display: block;
    }
    &.active {
        i:first-child {
            display: none;
        }
        +.view-explain__video {
            display: block;
        }
    }
}

.view-explain__video {
    display: none;
}

body {
    padding-top: 4.4444444rem;
    overflow-x: hidden;
}

@media (min-width: 1200px) {
    body {
        padding-top: 7.25rem;
    }
}

.header {
    position: relative;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 4.4444444rem;
    margin: 0 auto;
    width: 100%;
    max-width: 1320px;
}

.branding__logo {
    width: 7.2rem;
    display: inline-block;
    margin-left: 1em;
}

.header__links {
    display: none;
    position: fixed;
    bottom: 0;
    top: 4.4444444rem;
    width: 100%;
    background: #794ee6;
}

@media (max-width: 1199px) {
    .header__links {
        overflow: scroll;
    }
}

.mobile-menu-visible .header__links {
    display: flex;
    flex-direction: column;
}

.header__nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (max-width: 1199px) {
    .header__nav {
        order: 2;
       
        ul {
            ul li {
                border-top-color: #9369ff;
            }
            a {
                display: block;
                text-decoration: none;
                font-size: 1.1rem;
                color: #fff;
                font-weight: 700;
                text-transform: uppercase;
            }
            ul {
                a {
                    position: relative;
                    padding-left: 3em;
                    &:before {
                        content: "";
                        display: block;
                        position: absolute;
                        left: 1.5em;
                        top: 50%;
                        margin-top: -7px;
                        width: 10px;
                        height: 10px;
                        border-left: 2px solid #ddd;
                        border-bottom: 2px solid #ddd;
                    }
                }
                li span {
                    display: none;
                }
            }
        }
    }
    .header__menu-toggle {
        padding: .25em;
        border: none;
        background: transparent;
        margin-right: 1em;
    }
}

.header__social {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    a {
        display: inline-block;
        height: 1.25rem;
        img {
            height: 100%;
        }
    }
    li+li {
        margin-left: 1.5rem;
    }
}

@media (max-width: 1199px) {
    .header__utils {
        display: none;
    }
}

@media (min-width: 1200px) {
    .header__container {
        height: 4.75rem;
    }
    .branding__logo {
        width: 8rem;
    }
    .header__menu-toggle {
        display: none;
    }
    .header__links {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 100%;
        position: relative;
        background: transparent;
        top: 0;
        margin: 0;
        background: #cb1a55;
        >nav {
            height: 100%;
            width: 100%;
            max-width: 1320px;
            margin: 0 auto;
            >ul {
                display: flex;
                height: 100%;
                align-items: center;
                justify-content: space-between;
                width: 100%;
                padding: 0 1rem;
                >li {
                    height: 100%;
                    position: relative;
                }
            }
        }
        ul {
            ul {
                display: none;
                position: absolute;
                top: 45px;
                z-index: 2;
                background: #cb1a55;
                left: 0;
                width: auto;
                background: #5d4a9d;
                color: #fff;
                font-size: .85rem;
                padding-top: 1.5rem;
                padding-bottom: 1rem;
                li {
                    padding-left: 1rem;
                    padding-right: 1rem;
                    font-weight: 700;
                    max-width: 66.5rem;
                    margin-left: auto;
                    margin-right: auto;
                    white-space: nowrap;
                    +li {
                        margin-top: 1.3rem;
                    }
                }
                a {
                    color: #fff;
                    font-size: .9rem;
                    height: auto;
                }
                li span {
                    display: block;
                    color: #fff;
                    font-weight: 400;
                }
            }
       /* First-level submenu (desktop) */
.header__links > nav > ul > li:hover > ul {
    display: block;
  }
  
  /* Second-level submenu (third-level menu) */
  .header__links ul ul li:hover > ul {
    display: block;
  }
        }
    }
    .header__nav {
        >ul>li>a.focus+ul {
            display: block;
        }
        ul a {
            height: 45px;
            display: flex;
            align-items: center;
            padding: 0 .75em;
            text-decoration: none;
            font-size: .85rem;
            color: #fff;
            font-weight: 700;
            text-transform: uppercase;
            position: relative;
        }
        >ul>li {
            &.current>a,
            &:hover>a,
            >a.focus {
                color: #fff;
                background: #574596;
            }
        }
    }
    .header__social {
        display: flex;
    }
    .header__branding {
        width: 100%;
        justify-content: space-between;
        display: flex;
        align-items: center;
    }
    .header__utils {
        display: flex;
        align-items: center;
        flex-grow: 1;
        justify-content: flex-end;
        margin-right: 1rem;
    }
    .header__constants {
        list-style: none;
        margin-right: 15px;
        padding: 0;
        display: flex;
        li {
            +li {
                margin-left: 1.5rem;
            }
            a {
                font-weight: 600;
                color: #404041;
                text-decoration: none;
                text-transform: uppercase;
                font-size: .85rem;
            }
        }
    }
    .header__search {
        margin-right: 2.5rem;
    }
}

.admin-bar .header {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .header {
        top: 46px;
    }
}

.footer {
    font-size: .88rem;
    border-top: .25rem solid #cb1a55;
    padding-top: 2.5rem;
}

.footer__logo {
    display: block;
    width: 11.11rem;
}

@media (max-width: 767px) {
    .footer__column+.footer__column {
        margin-top: 3rem;
    }
}

.footer__column__title {
    font-size: 1rem;
    margin-bottom: 1.5rem;
}

.footer__links li {
    +li {
        margin-top: 1rem;
    }
    a {
        color: #737373;
        text-transform: none;
        font-weight: 700;
    }
}

.footer__regions {
    background: #cb1a55;
    margin-top: 2rem;
    padding: 1rem 0;
}

.footer__region--grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: -1em;
    margin-right: -1em;
}

.footer__region {
    text-align: center;
    padding: 1em;
    width: 50%;
    text-decoration: none;
    img {
        display: block;
        width: 6.5rem;
        max-width: 100%;
        margin: 0 auto .75em;
    }
}

.footer__region__tel {
    display: block;
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: .8rem;
    text-decoration: none;
    margin-top: 0;
}

.footer__support {
    padding: 1em 0;
    font-size: .888rem;
}

.footer__support__links {
    span {
        display: block;
        margin-bottom: .5rem;
    }
    a {
        padding-right: 1em;
        color: #737373;
        text-decoration: none;
        font-weight: 700;
        +a {
            padding-left: 1em;
            border-left: 2px solid #cb1a55;
        }
    }
}

.footer__social {
    list-style: none;
    padding: 0;
    display: flex;
    margin: 1rem 0 0;
    a {
        display: inline-block;
        height: 1.25rem;
        img {
            height: 100%;
        }
    }
    li+li {
        margin-left: 1.5rem;
    }
}

@media (min-width: 768px) {
    .footer__columns {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-left: -1em;
        margin-right: -1em;
    }
    .footer__column {
        padding-left: 1em;
        padding-right: 1em;
        width: 25%;
    }
    .footer__column__title {
        margin-top: 1.5rem;
    }
    .footer__region {
        width: 25%;
    }
    .footer__region__tel {
        font-size: 1rem;
    }
    .footer__region+.footer__region {
        border-left: 1px solid rgba(255, 255, 255, 0.18039);
    }
    .footer__support {
        margin-top: .5em;
        margin-bottom: .5em;
        .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
    }
    .footer__support__links span {
        display: inline-block;
        margin-right: 1em;
        margin-bottom: 0;
    }
}

.home-hero {
    margin: 0;
    padding: 2rem 0 28vw;
    position: relative;
}

.home-hero__skyline-holder {
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 66.5rem;
    height: 100%;
    background-image: url(../resources/assets/img/skyscrape.png);
    background-size: 105% auto;
    background-position: bottom;
    background-repeat: no-repeat;
    z-index: -1;
}

.home-hero__visual {
    display: none;
}

@media (min-width: 1200px) {
    .home-hero__skyline-holder {
        background-size: 80% auto;
        background-position: 0 100%;
    }
    .home-hero__content {
        width: 50%;
        max-width: 31rem;
        margin-top: -15vh;
    }
    .home-hero__title {
        font-size: 4.16rem;
    }
    .home-hero {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 2rem 0;
        height: calc(100vh - 5.55556rem);
        min-height: 600px;
        background-image: url(../resources/assets/img/large-heart-crop.png);
        background-size: auto 100%;
        background-position: 52vw top;
        background-repeat: no-repeat;
        position: relative;
    }
    .home-hero__visual {
        display: block;
        position: absolute;
        right: 0;
        height: 80%;
        bottom: 0;
    }
}

@media (max-height: 859px) and (min-width: 768px) {
    .home-hero__content {
        margin-top: -25vh;
    }
}

@media (max-height: 739px) and (min-width: 768px) {
    .home-hero__content {
        margin-top: -10vh;
    }
    .home-hero__skyline-holder {
        background-position: 100% bottom;
    }
}

.link-portal {
    position: relative;
    margin: 0;
    padding: 4rem 0;
    background: linear-gradient(162deg, #6d45e1, #544198);
    color: #fff;
    overflow: hidden;
    .title {
        color: #fff;
    }
}

.link-portal__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: .3;
}

@media (max-width: 767px) {
    .link-portal__bg {
        display: none;
    }
}

.link-portal__content--title {
    font-size: 2.6rem;
}

.link-portal__link--title+P {
    margin-top: .5rem;
}

.link-portal__links__list {
    .link--more {
        margin-top: .5rem;
    }
    list-style: none;
    padding: 0;
    margin: 0;
    li+li {
        margin-top: 2rem;
    }
}

@media (max-width: 767px) {
    .link-portal__bg {
        display: none;
    }
    .link-portal__links__list {
        margin-top: 3rem;
    }
}

@media (min-width: 768px) {
    .link-portal__grid {
        display: flex;
        justify-content: space-between;
        >div {
            position: relative;
            z-index: 2;
            width: calc(50% - 2em);
        }
    }
}

.case-study__card {
    text-decoration: none;
    color: currentcolor;
}

.case-study__card__holder {
    border: 1px solid #eee;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    height: 100%;
    position: relative;
}

.case-study__card__img {
    position: relative;
    padding-bottom: 45%;
    img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

.card__tags {
    position: absolute;
    top: -2px;
    left: 1rem;
    right: 1rem;
    text-align: right;
    z-index: 3;
    >span {
        display: inline-block;
        background: #cb1a55;
        color: #fff;
        font-weight: 600;
        font-size: .8rem;
        padding: .25em .75em;
        border-radius: 0 0 5px 5px;
    }
}

@media (max-width: 767px) {
    .case-study__card+.case-study__card {
        margin-top: 2rem;
    }
}

.case-study__card__content {
    padding: 1rem;
    margin-top: 0;
}

.case-study__card__title {
    font-size: 1.66rem;
}

@media (min-width: 768px) {
    .case-studies-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: -1em;
    }
    .case-study__card {
        padding: 1em;
        width: 50%;
    }
    .case-study__card--featured {
        position: relative;
        display: block;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        .case-study__card__content {
            display: block;
            position: absolute;
            bottom: 1rem;
            left: 1rem;
            background: rgba(255, 255, 255, 0.95);
            width: calc(50% - 3rem);
            border-radius: 5px;
        }
    }
    .post-type {
        display: inline-block;
        background: #cb1a55;
        color: #fff;
        padding: .25rem .5rem;
        border-radius: 5px;
        font-weight: 600;
        margin-bottom: 1rem;
        font-size: .88rem;
        margin-top: 0 !important;
        align-self: flex-start;
    }
    .case-study__card__content,
    .case-study__card__holder {
        display: flex;
        flex-direction: column;
    }
    .case-study__card__content {
        flex-grow: 1;
        span {
            margin-top: auto;
        }
        p {
            margin-bottom: 1.5rem;
        }
    }
    .case-study__card--featured .case-study__card__content p {
        margin-bottom: 0;
    }
}

.article__card {
    text-decoration: none;
    color: currentcolor;
    display: flex;
}

.article__card__holder {
    border: 1px solid #eee;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    height: 100%;
    position: relative;
}

.article__card__img {
    position: relative;
    padding-bottom: 45%;
    img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

.post-type {
    display: inline-block;
    background: #cb1a55;
    color: #fff;
    padding: .25rem .5rem;
    border-radius: 5px;
    font-weight: 600;
    margin-bottom: 1rem;
    font-size: .88rem;
    margin-top: 0 !important;
    align-self: flex-start;
    text-decoration: none;
}

.article__card--featured .card__tags {
    text-align: left;
}

@media (max-width: 767px) {
    .article__card+.article__card {
        margin-top: 2rem;
    }
}

.article__card__content {
    padding: 1rem;
    margin-top: 0;
}

.article__card__title {
    font-size: 1.66rem;
}

@media (min-width: 768px) {
    .articles-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: -1em;
    }
    .article__card {
        padding: 1em;
        width: 50%;
    }
    .article__card--featured {
        position: relative;
        display: block;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        .article__card__content {
            display: block;
            position: absolute;
            bottom: 1rem;
            left: 1rem;
            background: rgba(255, 255, 255, 0.95);
            width: calc(50% - 4rem);
            min-width: 400px;
            border-radius: 5px;
        }
    }
    .article__card__holder {
        width: 100%;
    }
    .article__card__content,
    .article__card__holder {
        display: flex;
        flex-direction: column;
    }
    .article__card__content {
        flex-grow: 1;
        span {
            margin-top: auto;
        }
        p {
            margin-bottom: 1.5rem;
        }
    }
    .article__card--featured {
        .article__card__content p {
            margin-bottom: 0;
        }
        .article__card__holder {
            flex-direction: row;
            .article__card__img {
                position: relative;
                padding-bottom: 35%;
                width: 60%;
            }
            .article__card__content {
                padding: 2rem;
                position: static;
                span {
                    margin-top: 1.5rem;
                }
            }
        }
    }
}

.contact-block {
    padding: 3rem 2rem;
    background-image: url(../resources/assets/img/contact-block-bg.jpg);
    background-size: cover;
    max-width: 53.333rem;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    text-align: center;
    color: #fff;
    position: relative;
    z-index: 2;
}

.contact-block__icon {
    display: block;
    width: 40px;
    margin-left: auto;
    margin-right: auto;
}

.contact-block__title {
    margin: 1rem 0;
    font-size: 1.666rem;
    color: #fff;
}

.contact-block__form {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    .custom-select-control {
        border: 0;
    }
}

.boroughs-sm {
    display: none;
}

@media (max-width: 639px) {
    .contact-block__form button {
        width: 100%;
    }
    .boroughs-sm {
        display: block;
    }
    .boroughs-lg {
        display: none;
    }
}

@media (min-width: 640px) {
    .contact-block__form {
        display: flex;
        > {
            * {
                margin: 0;
            }
            :not(:last-child) {
                flex-grow: 1;
                border-top-right-radius: 0;
                border-bottom-right-radius: 0;
            }
            :last-child {
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
            }
        }
        button {
            min-width: none;
        }
    }
}

@media (min-width: 1000px) {
    .home-contact-offset {
        margin-bottom: -13rem;
        position: relative;
        +div>.container {
            margin-top: 9rem;
        }
    }
}

.contact-map svg path {
    opacity: .6;
}

.event__title {
    font-size: 2.22rem;
    line-height: 1.25;
}

.events-block {
    padding: 4rem 0;
    margin-bottom: 0;
}

.event-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: #404041;
    background: #fff;
}

@media (max-width: 767px) {
    .event-card+.event-card {
        margin-top: 2rem;
    }
}

.event-card__schedule {
    background: #AA519C;
    color: #fff;
    font-weight: 700;
    text-align: center;
    order: 2;
    >div {
        padding: 1.5rem;
    }
}

@media (max-width: 767px) {
    .event-card__schedule__time {
        display: none;
    }
}

.event-card__schedule__date {
    font-size: 1.4rem;
}

.event-card__schedule__time {
    border-top: 1px solid #fff;
}

.event-card__info {
    padding: 1rem;
}

.event-card__info__type {
    font-weight: 700;
    font-size: .88rem;
    text-transform: uppercase;
    color: #bc3f96;
    margin-bottom: .75rem;
}

.event-card__info__title {
    font-size: 1.25rem;
}

.event-card__region {
    background: #fafafa;
    padding: 1rem;
    img {
        display: block;
        width: 10rem;
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .event-card__region img {
        display: none;
    }
}

.event-card__location {
    background: #e7e7e7;
    border-radius: 5px;
    padding: .5rem 1rem;
    font-size: .88rem;
    font-weight: 700;
    color: #404041;
    text-align: center;
}

@media (max-width: 767px) {
    .event-card__location {
        margin-top: 0;
    }
}

.event-info {
    margin-bottom: 1.5rem;
    >div {
        +div {
            margin-top: 1rem;
        }
        img {
            height: 1.2rem;
            margin-right: .25rem;
        }
        span {
            font-size: .8rem;
            margin-top: 0;
        }
    }
}

@media (min-width: 1200px) {
    .event-info {
        display: flex;
        align-items: center;
        >div+div {
            margin-top: 0;
            margin-left: 1.5rem;
        }
    }
}

.event-registration__holder {
    display: inline-block;
    background-color: #f0eef6;
    width: 100%;
    max-width: 100%;
    border-top: 3px solid #cb1a55;
    text-align: left;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
}

.event-registration__content {
    padding: 1.5rem;
}

.event-registration__content__header {
    text-align: center;
    .title {
        font-size: 1.5rem;
    }
    p {
        margin-top: .5rem;
    }
}

.event-registration__content {
    input,
    label {
        display: block;
    }
}

.form .event-registration__content {
    input,
    textarea {
        margin: .25rem 0;
        box-shadow: none;
        border: 1px solid #999;
        padding: 0 .75rem;
    }
}

.event-registration__content {
    .custom-select-control {
        margin: .25rem 0;
        border-color: #999;
    }
    label {
        margin-top: 1.25rem;
        font-size: .77rem;
        font-weight: 700;
        margin-bottom: .25em;
        color: #444;
    }
}

.event-registration .btn--full {
    width: 100%;
    border-radius: 0;
}

@media (max-width: 767px) {
    .event-registration {
        margin-top: 1.5rem;
    }
}

@media (min-width: 768px) {
    .event-registration {
        text-align: right;
        width: 50%;
    }
    .event-registration__holder {
        width: 20rem;
        max-width: 20rem;
        object-fit: cover;
    }
	.event-registration__holder img {
		width: 20rem;
        max-width: 20rem;
        height: 15rem;
		object-fit: cover;
	}
	
    .event-card {
        flex-direction: row;
        +.event-card {
            margin-top: 2rem;
        }
    }
    .event-card__schedule {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        order: 0;
        width: 16.25rem;
        flex-shrink: 0;
        span,
        strong {
            display: block;
        }
        span {
            font-size: 3rem;
        }
    }
    .event-card__info {
        padding: 1.5rem;
    }
    .event-card__region {
        width: 16.25rem;
        flex-shrink: 0;
        padding: 1.5rem;
    }
}

.event-card__notice {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: .5rem 1rem;
    background: #5d4a9d;
    color: #fff;
    font-weight: 600;
    border-radius: 5px 5px 0 0;
}

.event-filters {
    padding: 1.5rem 0 2rem;
}

.event__filters label {
    display: block;
    margin-bottom: .25em;
    font-weight: 700;
    opacity: .7;
}

.event__filter {
    margin-bottom: 1.5rem;
    >* {
        margin: 0;
    }
}

@media (min-width: 768px) {
    .event__filters {
        width: 100%;
        display: flex;
        align-items: flex-end;
    }
    .event__filter {
        margin-bottom: 0;
        width: 300px;
        margin-right: 2rem;
    }
}
body.page-id-2 .page-hero {
    margin: 0;
    padding:0;
    position: relative;
}

.page-hero {
    margin: 0;
    padding: 2rem 0 28vw;
    position: relative;
}
@media (max-width: 767px) {
    .page-hero.page-hero--contact {
        padding-bottom: 3rem;
    }
}
.page-hero__skyline-holder {
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 66.5rem;
    height: 100%;
    background-image: url(../resources/assets/img/skyscrape.png);
    background-size: 105% auto;
    background-position: bottom;
    background-repeat: no-repeat;
    z-index: -1;
}

@media (min-width: 768px) {
    .page-hero__visual {
        display: none;
    }
    .page-hero__skyline-holder {
        background-size: 80% auto;
        background-position: 20rem bottom;
    }
    .page-hero__content {
        width: 50%;
    }
    .page-hero__content--process {
        margin-top: -3rem;
    }
    .page-hero__title {
        font-size: 3rem;
    }
    .page-hero {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 2rem 0 120px;
        min-height: calc(100vh - 7.25rem);
        position: relative;
        overflow: hidden;
    }
    body.page-id-2 .page-hero {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 1rem 0rem 1rem 0rem;
        min-height: calc(100vh - 17.25rem);
        position: relative;
        overflow: hidden;
    }
    .page-hero--event,
    .page-hero--heart {
        background-image: url(../resources/assets/img/logomark.svg);
        background-size: auto 140%;
        background-position: 52vw 50%;
        background-repeat: no-repeat;
    }

    body.page-id-2 
    .page-hero--heart {
        background-image: url(../resources/assets/img/logomark.svg);
        background-size: auto 140%;
        background-position: 62vw 50%;
        background-repeat: no-repeat;
    }

    body.page-id-2 .page-hero .btn {
        min-width: 215px;
    }
    
    .page-hero--contact .container,
    .page-hero--event .container {
        display: flex;
        align-items: center;
    }
    .page-hero--contact .container .page-hero__content {
        width: 40%;
    }
    .page-hero--contact .container .contact-map {
        margin-left: auto;
        width: 50%;
    }
    .page-hero__visual {
        display: block;
        position: absolute;
        left: 55%;
        top: -10%;
        width: 75%;
        height: 120%;
    }
    .page-hero__visual > img,
    .page-hero__visual > svg {
        display: block;
        width: auto;
        max-width: none;
        height: 100%;
    }
    .page-hero__visual > img {
        display: none;
        -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='514' height='400' viewBox='0 0 514.05 400.18'%3E%3Cpath d='M508.65 156.43c3.63-12 5.51-24.58 5.39-37.27-.31-32.81-13.26-63.17-36.45-85.5C451.64 8.67 416.97-2.28 383.29.52l.01.01h-.05l.04-.02c-.22.02-.43.05-.65.07-6.9.51-13.49 1.66-19.62 3.36a120.5 120.5 0 00-41.42 19.64l.37-.14-.28.19-.08-.06c-4.49 3.3-8.83 6.86-12.91 10.86-.31.3-.64.55-.94.85L257.4 85.64l-28.92-28.68c-.02-.11-.05-.21-.07-.31l-3.84-3.84c-.1.11-.21.21-.31.33 0 0-.45.68-.83.86.32-.27.9-1.19.9-1.19l-17.27-16.88C168.24-2.88 108.6-11.22 62.03 15.66 27.87 35.39 5.59 68.63.91 106.88c-.91 7.42-1.12 14.8-.7 22.08h.04c1.83 29.34 14.2 56.91 35.54 78.11l.06.06h.01l58.2 58.2L208.8 380.09c13.4 13.4 30.99 20.1 48.59 20.1 6.11 0 12.2-.86 18.14-2.48 6.96-1.9 13.69-4.86 19.88-8.98 3.74-2.49 7.29-5.36 10.57-8.65l149.1-149.1 22.64-22.64c11.38-11.38 20.3-24.94 26.49-39.67.46-1.1.88-2.21 1.31-3.32 1.14-2.94 2.22-5.9 3.13-8.92.01 0 0 0 0 0z'/%3E%3C/svg%3E")
            top left/cover;
        mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='514' height='400' viewBox='0 0 514.05 400.18'%3E%3Cpath d='M508.65 156.43c3.63-12 5.51-24.58 5.39-37.27-.31-32.81-13.26-63.17-36.45-85.5C451.64 8.67 416.97-2.28 383.29.52l.01.01h-.05l.04-.02c-.22.02-.43.05-.65.07-6.9.51-13.49 1.66-19.62 3.36a120.5 120.5 0 00-41.42 19.64l.37-.14-.28.19-.08-.06c-4.49 3.3-8.83 6.86-12.91 10.86-.31.3-.64.55-.94.85L257.4 85.64l-28.92-28.68c-.02-.11-.05-.21-.07-.31l-3.84-3.84c-.1.11-.21.21-.31.33 0 0-.45.68-.83.86.32-.27.9-1.19.9-1.19l-17.27-16.88C168.24-2.88 108.6-11.22 62.03 15.66 27.87 35.39 5.59 68.63.91 106.88c-.91 7.42-1.12 14.8-.7 22.08h.04c1.83 29.34 14.2 56.91 35.54 78.11l.06.06h.01l58.2 58.2L208.8 380.09c13.4 13.4 30.99 20.1 48.59 20.1 6.11 0 12.2-.86 18.14-2.48 6.96-1.9 13.69-4.86 19.88-8.98 3.74-2.49 7.29-5.36 10.57-8.65l149.1-149.1 22.64-22.64c11.38-11.38 20.3-24.94 26.49-39.67.46-1.1.88-2.21 1.31-3.32 1.14-2.94 2.22-5.9 3.13-8.92.01 0 0 0 0 0z'/%3E%3C/svg%3E")
            top left/cover;
    }
}
@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
    .page-hero__visual > svg {
        display: none !important;
    }
    .page-hero__visual > img {
        display: block !important;
    }
}
.adoption-steps {
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    ul {
        display: flex;
        flex-wrap: nowrap;
        list-style: none;
        margin: 0;
        padding: 0;
        width: 100%;
        position: relative;
        left: 0;
        transition: left .25s ease-out;
    }
}

@media (max-width: 767px) {
    .adoption-process__steps {
        margin-top: 1.5rem;
    }
    body.page-id-2 .page-hero__content {
padding:2rem 0rem;
    }
    
}

.adoption-step {
    width: 100%;
    flex-shrink: 0;
}

.adoption-step__img {
    position: relative;
    padding-bottom: 30%;
    img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

.adoption-step__content {
    padding: 1.5rem;
}

.adoption-step__stage {
    display: block;
    font-size: .77rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #cb1a55;
    margin-bottom: .75em;
}

.adoption-step__title {
    font-size: 1rem;
}

.adoption-steps__controls {
    background: #f2f1f4;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
    >div {
        flex: 1;
    }
}

.adoption-steps__controls__next {
    text-align: right;
}

.adoption-steps__controls__progress {
    text-align: center;
    span {
        display: inline-block;
        width: 8px;
        height: 8px;
        background: #cb1a55;
        opacity: .5;
        border-radius: 50%;
        margin: 0 .1em;
        &.active {
            opacity: 1;
        }
    }
}

.adoption-steps__progress {
    width: 100%;
    height: .4rem;
}

.adoption-steps__progress__bar {
    display: block;
    height: 100%;
    background: #cb1a55;
    width: 0;
    transition: width .25s ease-out;
}

.adoption-steps__progess__count {
    display: none;
}

@media (min-width: 768px) {
    .adoption-process__steps {
        margin-top: 3rem;
        width: calc(100% - 150px);
        margin-left: auto;
        margin-right: auto;
        position: relative;
    }
    .adoption-step {
        display: flex;
    }
    .adoption-step__img {
        width: 50%;
        padding-bottom: 43%;
    }
    .adoption-step__content {
        width: 50%;
        padding: 2rem;
    }
    .adoption-steps__progress {
        height: 40px;
        background: #d0cdcd;
        position: relative;
    }
    .adoption-steps__progess__count {
        display: flex;
        flex: 1;
        align-items: center;
        height: 100%;
        position: absolute;
        width: 100%;
        color: #fff;
        >span {
            width: 20%;
            text-align: center;
            font-weight: 600;
            font-size: .9rem;
            height: 100%;
            line-height: 2.1875rem;
            +span {
                border-left: 1px solid #fff;
            }
        }
    }
    .adoption-step__content {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        p {
            text-align: left;
            font-weight: 600;
            font-size: 1.1rem;
        }
    }
    .adoption-step__content-title {
        display: flex;
        background: #5d4a9d;
        height: 50px;
        align-items: center;
        border-radius: 50px;
        padding-right: 1rem;
        margin-bottom: 2.5rem;
    }
    .adoption-step__title {
        color: #fff;
        margin-left: .5rem;
    }
    .adoption-step__stage {
        width: 40px;
        height: 40px;
        background: #291765;
        color: #fff;
        border-radius: 50%;
        line-height: 2.375rem;
        display: inline-block;
        font-size: 1.2rem;
        margin: 0 0 0 5px;
    }
    .adoption-steps__controls__next,
    .adoption-steps__controls__prev {
        position: absolute;
        top: 50%;
        margin-top: -25px;
        height: 60px;
        width: 60px;
        left: -80px;
        border-radius: 50%;
        color: #fff;
        background: #5d4a9d;
        line-height: 2.875rem;
        overflow: hidden;
        cursor: pointer;
    }
    .adoption-steps__controls__next {
        left: auto;
        right: -80px;
        b {
            display: none;
        }
    }
    .adoption-steps__controls__prev b {
        display: none;
    }
    .adoption-steps__controls__next:after {
        content: ">";
        position: absolute;
        top: 10px;
        margin-top: -10px;
        left: 21px;
        font-size: 2rem;
    }
    .adoption-steps__controls__prev:after {
        content: ">";
        position: absolute;
        top: 10px;
        margin-top: -10px;
        left: 21px;
        font-size: 2rem;
        content: "<";
    }
    .adoption-steps__controls {
        height: 0;
    }
    .adoption-steps__controls__progress {
        display: none;
    }
}

.contact-boroughs {
    width: 100%;
    margin-top: 0;
    .adoption-steps {
        box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.02);
    }
    .adoption-steps__progress {
        display: none;
    }
    .adoption-step {
        padding: 1rem 2rem;
    }
    .adoption-steps__controls__next,
    .adoption-steps__controls__prev {
        background: rgba(93, 74, 157, 0.74118);
    }
}

.support-chapter+.support-chapter {
    margin-top: 2rem;
}

.support-chapter__list {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
    li+li {
        margin-top: .5rem;
    }
    a {
        color: #777;
        font-weight: 600;
    }
}

@media (min-width: 768px) {
    .support-chapters {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -2rem;
    }
    .support-chapter {
        +.support-chapter {
            margin-top: 0;
        }
        width: 50%;
        padding-right: 2rem;
        padding-left: 2rem;
        margin-bottom: 2.5rem;
    }
}

@media (min-width: 1200px) {
    .support-chapter {
        width: 33.333%;
    }
}

.support-container .support-chapter {
    width: 100%;
    background: #f0eef6;
    padding: 1rem 2rem;
}

@media (max-width: 767px) {
    .support-sidebar {
        margin-bottom: 2rem;
    }
    .support-container .container {
        padding: 0;
    }
}

@media (min-width: 768px) {
    .support-container {
        display: flex;
        justify-content: space-between;
    }
    .support-sidebar {
        width: 30%;
        .support-chapter .title {
            font-size: 1.5rem;
        }
    }
    .support-container .container--slim {
        width: calc(70% - 2rem);
        max-width: none;
    }
}

.faqs {
    max-width: 54.444rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    position: relative;
    z-index: 2;
    .title {
        color: #fff;
    }
    >p {
        max-width: 40rem;
        margin-left: auto;
        margin-right: auto;
    }
}

.faqs__content {
    margin-top: 2rem;
}

.faq {
    background: #fff;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    color: #444;
    text-align: left;
    a {
        font-weight: 700;
        text-transform: uppercase;
        color: #cb1a55;
    }
    +.faq {
        margin-top: .5rem;
    }
}

.faq__question {
    position: relative;
    font-weight: 700;
    padding: 1rem;
    color: #5d4a9d;
    &[aria-expanded] {
        cursor: pointer;
        &:after {
            content: "";
            width: 10px;
            height: 10px;
            border-bottom: 2px solid #5d4a9d;
            border-right: 2px solid #5d4a9d;
            position: absolute;
            right: 1rem;
            top: 50%;
            margin-top: -.4rem;
            transform: rotate(45deg);
        }
    }
    &[aria-expanded=true]:after {
        transform: rotate(225deg);
    }
}

.faq__answer {
    padding: .5rem 1rem 1rem;
    font-size: .88rem;
}

.faq__tags {
    margin-top: 2rem;
    span {
        color: #cb1a55;
        font-size: .8rem;
        padding: .3rem .75rem;
        font-weight: 600;
        border-radius: 5px;
    }
}

.media-block+.media-block {
    margin-top: 3rem;
}

.media-block__media {
    margin: 1.5rem auto;
}

.media__responsive {
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
    +.media__responsive {
        margin-top: 1.5rem;
    }
    >* {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

.media-block__content .title {
    font-size: 1rem;
}

@media (min-width: 768px) {
    .media-block {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-left: -1em;
        margin-right: -1em;
        padding-top: 3rem;
        padding-bottom: 3rem;
        align-items: center;
        position: relative;
        +.media-block {
            margin-top: 0;
            &:before {
                position: absolute;
                top: 0;
                display: block;
                left: 1em;
                right: 1em;
                content: "";
                border-top: 1px solid #e0dbdb;
            }
        }
    }
    .media-block__content {
        padding-left: 1em;
        padding-right: 6em;
        width: 60%;
        flex-grow: 0;
        flex-shrink: 0;
    }
    .media-block__media {
        padding-left: 1em;
        padding-right: 1em;
        width: 40%;
        margin: 0;
        align-self: flex-start;
    }
}

.resource-article-filters {
    margin: 4rem 0 2rem;
    padding: 0;
    list-style: none;
    display:flex;
    justify-content: center;
}

@media (max-width: 768px) {
    .article-filters,
    .resource-article-filters {
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        &::-webkit-scrollbar {
            display: none; /* Chrome/Safari */
        }
    }

    .article-filters__item {
        flex-shrink: 0;
    }
}

.article-filters__item {
    display: inline-block;
    font-weight: 700;
    font-size: 1.26rem;
    color: #737373;
    &:not(:first-child) {
        margin-left: 3rem;
    }
    a {
        color: inherit;
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
    }
}

.article-filters {
    margin: 4rem 0 2rem;
    padding: 0;
    list-style: none;
}

.article-filters__item {
    display: inline-block;
    font-weight: 700;
    font-size: 1.26rem;
    color: #737373;
    &:not(:first-child) {
        margin-left: 3rem;
    }
    a {
        color: inherit;
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
    }
}

.article-filters__item--active {
    color: #cb1a55;
}

.article-details {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
    font-size: .88rem;
    .post-type {
        margin-bottom: 0;
        background: transparent;
        border: 1px solid #cb1a55;
        color: #cb1a55;
        font-weight: 600;
        padding: .1rem .4rem;
        margin-left: 1rem;
    }
}

.article-navigation {
    margin-top: 4rem;
    display: flex;
    justify-content: flex-end;
    >a:after {
        content: "";
        display: inline-block;
        width: 12px;
        height: 12px;
        border-top: 2px solid;
        border-right: 2px solid;
        transform: rotate(45deg);
        margin-left: .5rem;
    }
}

.rte .responsive-media {
    margin: 3rem auto;
}

.content-page {
    overflow-x: hidden;
}

.content__tags {
    margin-top: 2rem;
    span {
        background: #cb1a55;
        color: #fff;
        font-size: .9rem;
        padding: .3rem .75rem;
        font-weight: 600;
        border-radius: 5px;
    }
}

.support-redirect {
    margin: 2.5rem 0;
    max-width: 500px;
}

#event-filters {
    scroll-margin-top: 4.4444444rem;
}

@media (min-width: 1200px) {
    #event-filters {
        scroll-margin-top: 5.5555555rem;
    }
}

@media (max-width: 767px) {
    .contact-map {
        margin-top: 2rem;
    }
}

* {
    --color-primary: #cb1a55;
    --color-secondary: #5d4a9d;
    --color-highlight: #ffd100;
}

.feedback-link {
    color: #000;
}

.feedback__sticky {
    position: fixed;
    bottom: 40%;
    right: -2rem;
    transform: rotate(90deg);
    font-weight: 800;
    font-size: 1.1em;
    color: #000;
    background-color: var(--color-highlight);
    padding: 1rem;
    border-radius: 0 0 1rem 1rem;
}

.feedback.inactive {
    display: none;
}

.feedback-show {
    align-items: flex-start;
    background-color: var(--color-secondary);
    display: flex;
    justify-content: space-between;
    padding: 1rem;
    border-radius: 1rem 1rem 0 0;
    margin-top: 4rem;
}

.feedback-show__button {
    align-items: center;
    background: none;
    border: none;
    display: flex;
    font-size: 1.1rem;
    font-weight: 700;
    padding: 0;
    text-decoration: underline;
    margin: 0;
    color: #fff;
    cursor: pointer;
    svg {
        height: 1.125rem;
        margin-left: .5rem;
        width: 1.125rem;
    }
}

.feedback-show p {
    font-size: 1.2rem;
    margin-bottom: 0;
    color: #fff;
}

.feedback-show__badge {
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: 800;
    padding: 0 .25rem;
}

.feedback__form {
    background-color: #fff;
    border-top: 3px solid var(--color-secondary);
    padding: 4rem;
    margin-top: 4rem;
    &.inactive {
        display: none;
    }
    h3 {
        font-size: 1.1rem;
        margin-top: 1rem;
    }
}

.feedback__content {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.feedback-close__button {
    align-items: center;
    background-color: transparent;
    border: none;
    color: #000;
    display: flex;
    font-size: .8rem;
    text-decoration: underline;
    svg {
        height: 1.5rem;
        margin-left: .5rem;
    }
}

.content-block--flush.no-vspace {
    padding-top: 0;
    padding-bottom: 0;
}

.container img.size-full {
    height: auto;
}

.cookie-fallback {
    border: 2px solid #333;
    font-weight: 700;
    padding: 2rem;
    text-align: center;
}

p.cookie-fallback+div.responsive-media {
    margin-top: 1.5rem;
}

.footer_feedback {
    background: #f0eef6;
    margin-bottom: 2rem;
    padding: 1.5rem;
    .wpforms-container {
        margin-top: 0;
    }
}

.basic-card {
    background: #fff;
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 2rem;
    padding: 1rem 2.5rem 1rem 1rem;
}

.basic-card-image {
    flex-basis: 30%;
    margin-right: 4rem;
}

.basic-card-text {
    flex-basis: 70%;
}

.flex {
    display: flex;
    &.resource-meta {
        align-items: center;
    }
}

.support_resources-list {
    padding-bottom: 2rem;
    .resource-meta {
        margin-top: .5rem;
        padding-top: 1.5rem;
    }
    .resource-summary {
        margin-top: 1rem;
    }
    +.support_resources-list {
        margin-top: 2rem;
    }
}
@media (max-width: 767px) {
  .resource-meta img {
    width: 100px!important;
    height: 100px!important;
  }
}

.resource-meta {
    .item-meta {
        padding-right: 2rem;
        .details {
            margin-top: 1rem;
            .txt--red {
                padding-left: 1rem;
            }
        }
    }
    img {
        width: 250px;
        height: 250px;
        object-fit: cover;
        border-radius: 6px;
    }
}

.resource-item-card audio {
    width: 100%;
    -webkit-filter: invert(15%);
    filter: invert(15%);
}

.inline-icon,
.resource-item-card figcaption {
    font-weight: 700;
}

.inline-icon {
    color: #6a489c;
    font-size: 100%;
    padding-right: .5rem;
}

.resource-link {
    font-size: 1rem;
}

.event-sidebar img {
    max-width: 50%;
}

.resource-item-card {
    border-bottom: 1px solid #ddd;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    &:last-of-type {
        border-bottom: none;
    }
}

.resource-summary .summary {
    padding-top: 1rem;
}

.resource-external-link {
    margin-top: 1rem;
}

.resource-summary figure {
    margin-top: 2rem;
}

.basic-card h3,
.cards-container h3 {
    margin-bottom: 1rem;
}

.grid {
    display: grid;
}

.grid-33-66 {
    grid-template-columns: 1fr 2fr;
}

.grid-20-80 {
    grid-template-columns: 1fr 4fr;
}

.resource-meta.grid.grid-33-66 {
    background-color: #bb3392;
    padding: 2rem 0rem;
    color:white;
    border-radius: 10px;
}

.resource-meta.grid.grid-33-66 h5, .resource-meta.grid.grid-33-66 a{
    color: white;
}


.event-card__schedule.bap-event {
    background: #58a4b0;
}

.event-card__region.bap-event {
    background: #fcfeff;
}

.card .btn {
    margin: 20px auto;
}
.sticky-column {
    position: sticky;
    top: 12rem;
    align-self: start;
  }
@media only screen and (min-width: 768px) {
  .content-block--white {
    background: white;
  }
}

.content-block--white h3 {
    margin-bottom: 1rem;
}
  .content-block--lightgrey {
    background: #F8F7FB;
  }

  .br-30 {
    border-radius: 20px;
  }

  .list-content ul {
      padding-inline-start: 0px;
  }

  .list-content ul li {
    background: #F8F7FB;
    border-radius: 10px;
    margin-bottom: 1rem;
    padding: 20px;
    list-style: none;
    text-align: left;
  }

@media only screen and (max-width: 768px) {
  .list-content ul li {
    background: white;
  }
}

  .p-full {
    padding: 4rem 0rem;
  }

  .card.global-link {
    min-height: 0px;
    padding:20px;
}
.card.global-link h3{
  margin-bottom:0.2rem;
  margin-top:0.5rem;
}

  .text-link {
    font-family: Quicksand, apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
    font-weight:700;
    margin-bottom:0.5rem;
    text-decoration:none;
}

.text-link::after {
content: url('/wp-content/themes/adoptlondon/resources/assets/img/gap-chevron-right.svg');
display: inline-block;
margin-left: 0.5em; /* optional spacing */
vertical-align: middle; /* aligns with text */
}

/* direct action points */

@media (max-width: 767px) {


    .carousel-cell {
      /* This is critical for showing previews */
      width: 80%; /* Example: main card takes 80% of the width */
      margin-right: 10px; /* Optional: add some spacing between cards */
      /* Add other styling for your cards (height, background, border, etc.) */
      box-sizing: border-box; /* Include padding and border in the element's total width and height */
    }
    
    /* For the Flickity viewport to show the centered card correctly */
    .flickity-viewport {
      overflow: hidden; /* Important for hiding the overflowing parts of cards */
    }
    
    /* Adjust the previous/next buttons if you have them, to not overlap cards */
    .flickity-button {
        /* Example positioning */
        top: 50%;
        transform: translateY(-50%);
        opacity: 0.7; /* Adjust as needed */
    }
    
    .flickity-prev-next-button.previous {
        left: 10px; /* Position to the left */
    }
    
    .flickity-prev-next-button.next {
        right: 10px; /* Position to the right */
    }
    
    .flickity-viewport {
      touch-action: pan-y; /* Only allow vertical scrolling */
    }
    }
    .card-link-wrapper {
      text-decoration: none;
      color: inherit;
      display: block;
    }
    
    .card-link-wrapper:focus,
    .card-link-wrapper:hover {
      outline: 3px solid #36BAE9; /* visible focus */
      outline-offset: 3px;
      text-decoration: none;
    }
    
    .card {
      margin-top: 1.5rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: stretch;
      padding: 20px 20px 40px 20px;
      border-radius: 8px;
      text-align: center;
      color: white;
      box-sizing: border-box;
      min-height: 350px;
      position: relative;
      overflow: hidden;
      transition: transform 0.6s ease, box-shadow 0.6s ease;
      z-index: 2;
    }
    
    @media (max-width:767px) {
      .card h3 {
        max-width:200px;
        margin:auto;
      }
      .card .custom-text {
        max-width:none;
      }
    }
    
    @media (min-width: 767px) {
    .card {
      box-shadow: 0 12px 24px #4b44391a, 0 3rem 3rem #4b44391a;
    }
    }
    .card-link-wrapper:hover .card {
      transform: translateY(-6px);
    }
    
    .card::before {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      background: rgba(45, 45, 45, 0.1);
      border-radius: 50%;
      transform: translate(-50%, -50%);
      transition: width 0.5s ease, height 0.5s ease, background-color 0.5s ease;
      z-index: 1;
    }
    
    .card-link-wrapper:hover .card::before {
      width: 300%;
      height: 300%;
      background-color: rgba(45, 45, 45, 0.2);
    }
    
    img.mb-3.img-fluid {
      border-radius: 5px;
      max-height: 200px;
      height: 200px;
      object-fit: cover;
      position: relative;
      z-index: 3;
    }
    
    .card h3, .card .custom-text, .btn, .text-link{
      position: relative;
      z-index: 3;
      color:white;
    }
    
    .btn.btn--rounded.white {
        background: white;
    }
    
    /* Focusable non-link cards */
    .card[tabindex="0"]:focus {
      outline: 3px solid #36BAE9;
      outline-offset: 3px;
    }
    
    .carousel-cell:nth-child(3n+1) .card {
      background: #87358F;
    }
    .carousel-cell:nth-child(3n+2) .card {
      background: #B93891;
    }
    .carousel-cell:nth-child(3n+3) .card {
      background: #A855A9;
    }
    
    .carousel-cell:nth-child(3n+1) .card .btn.btn--rounded.white {
      color: #87358F;
    }
    .carousel-cell:nth-child(3n+2) .card .btn.btn--rounded.white {
      color: #B93891;
    }
    .carousel-cell:nth-child(3n+3) .card .btn.btn--rounded.white {
      color: #A855A9;
    }
    
    .p-bottom {
      padding-bottom:4rem;
    }
    blockquote {
        border-left: 3px solid #cb1b55;
        padding-left: 20px;
        font-weight: 700;
        margin-bottom: 1.5rem;
    }

    img.img-fluid {
        object-fit: cover;
        max-height: 500px;
        border-radius: 10px;
    }

    .text-center {
        text-align: center;
    }




    .resource__card {
        text-decoration: none;
        color: currentcolor;
    }
    
    .resource__card__holder {
        border: 1px solid #eee;
        box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
        border-radius: 5px;
        overflow: hidden;
        background: #fff;
        height: 100%;
        position: relative;
    }
    
    .resource__card__img {
        position: relative;
        padding-bottom: 80%;
        border-radius: 10px;
        background-color: #f9f9f9;
		
        img {
   		position: absolute;
		border-radius: 10px;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
		object-position: top;
        }
    }
    


span.article__badge_category {  
        z-index: 2;
        padding:10px 10px;
        border-radius: 90px;
        min-width: 75px;
        background:white;
        text-align: center;
        font-size: 13px;
        border: solid 1px #a855aa
    } 

span.article__badge {
    position: absolute;
    z-index: 2;
    top:15px;
    right:15px;
    padding:10px 10px;
    border-radius: 90px;
    min-width: 75px;
    background:white;
    text-align: center;
    font-size: 13px;
    border: solid 1px #a855aa}
} 


#resource-hub-controls {
    display: none;
}



.card.global-link .text-link {
    margin-top: auto;
  }
  
.row.d-flex > div:nth-child(3n+1) .card.global-link {
background: #87358F;
}
.row.d-flex > div:nth-child(3n+2) .card.global-link {
background: #B93891;
}
.row.d-flex > div:nth-child(3n+3) .card.global-link {
background: #A855A9;
}

.back-to-top {
    position: fixed;
    bottom: 0.5rem;
    right: 1rem;
    font-size: 14px !important;
    background: #e7e7e7;
    border-radius: 5px;
    padding: .5rem 1rem;
    font-weight: 700;
    color: #404041;
    text-align: center;
    height: 44px;
    border: none;
    cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 1000;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Optional: hide on very small screens */
@media (max-width: 480px) {
  .back-to-top {
    bottom: 1rem;
    right: 1rem;
  }
}
/** ------------------------------
    Mobile Nav Accordion
    ------------------------------ */

.header__nav--mobile .nav--mobile .nav--mobile {
    display: none;
}

.header__nav--mobile li.is-open > .nav--mobile {
    display: block;
}

.header__nav--mobile .nav--mobile a {
    text-transform: none;
}

@media (max-width: 1199px) {

    .nav__row {
        display: flex;
        align-items: center;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }

    .nav__row a {
        flex: 1;
    }

    .nav__chevron {
        flex-shrink: 0;
        background: none;
        border: none;
        color: #fff;
        cursor: pointer;
        padding: 0.9rem 1.25rem;
        display: flex;
        align-items: center;
        transition: transform 0.25s ease;
    }

    .nav__chevron[aria-expanded="true"] {
        transform: rotate(180deg);
    }

    .header__nav--mobile .nav--mobile .nav--mobile > li > a,
    .header__nav--mobile .nav--mobile .nav--mobile > li > .nav__row > a {
        position: relative;
        padding-left: 2.5rem;
    }

    .header__nav--mobile .nav--mobile .nav--mobile > li > a::before,
    .header__nav--mobile .nav--mobile .nav--mobile > li > .nav__row > a::before {
        content: "";
        position: absolute;
        left: 0.9rem;
        top: 70%;
        transform: translateY(-65%);
        width: 8px;
        height: 8px;
    }

    .header__nav--mobile .nav--mobile .nav--mobile .nav--mobile > li > a,
    .header__nav--mobile .nav--mobile .nav--mobile .nav--mobile > li > .nav__row > a {
        padding-left: 3rem;
    }

    .header__nav--mobile .nav--mobile .nav--mobile .nav--mobile > li > a::before,
    .header__nav--mobile .nav--mobile .nav--mobile .nav--mobile > li > .nav__row > a::before {
        content: "-";
        border: none;
        width: auto;
        height: auto;
        transform: translateY(-50%);
        font-weight: 400;
        left: 1.25rem;
    }
}

/** ------------------------------
    Mobile/Desktop nav visibility
    ------------------------------ */
.header__nav--desktop {
    display: none;
}

.header__nav--mobile {
    display: block;
}

@media (width >= 1200px) {
    .header__nav--desktop {
        display: block;
    }

    .header__nav--mobile {
        display: none;
    }
}
