
/* hero banner */
.pdr-hero-banner{
    background: var(--prodog-yellow);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    position: relative;
    padding: 0 25px;
}

.pdr-hero-banner .pdr-container{
    position: relative;
    z-index: 2;
}

.pdr-hero {
    position: relative;
    width: 100%;
    min-height: 540px;
    overflow: hidden;
}

.pdr-hero-inner {
    position: relative;
    z-index: 2;
}

.pdr-hero-banner-content-right {
    display: flex;
    justify-content: flex-end;
}

.pdr-hero-banner-right {
	padding: 50px 0 75px 0;
	width: 605px;
    max-width: 100%;
    z-index: 1;
}

.pdr-hero-banner h1 {
	color: var(--color-white);
	font-size: 94px;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
	line-height: 80px;
	margin-bottom: 10px;
    padding-bottom: 30px;
	display: block;
    text-transform: uppercase;
    position: relative;
}

.pdr-hero-banner h1 span {
    color: var(--prodog-yellow);
}

.pdr-hero-banner h1:after {
	content: '';
	display: block;
	left: -20px;
	position: absolute;
	bottom: 0;
	width: 640px;
	height: 21px;
	background: url('../img/festival/hero-underline.png') no-repeat left center;
	background-size: contain;
}

.pdr-hero-banner p.pdr-hero-banner-subtitle {
	color: var(--color-white);
	font-size: 53px;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
	line-height: 45px;
	margin-bottom: 20px;
    text-transform: uppercase;
}

.pdr-hero-banner p.pdr-hero-banner-subtitle span {
	color: var(--prodog-yellow);
}

.pdr-hero-banner-pdr-logo {
    width: 530px;
}

.pdr-hero-banner-logos {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    margin-bottom: 15px;
    position: relative;
    transition: opacity 0.4s ease;
    max-width: 100%;
}

.pdr-hero-banner-logos.is-fading {
    opacity: 0;
}

.pdr-hero-banner-logo {
    display: none;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.pdr-hero-banner-logo.is-active {
    display: flex;
}

.pdr-hero-banner-logo,
.pdr-hero-banner-logo.is-active {
    flex: 0 0 calc((100% - 64px) / 5);
    max-width: calc((100% - 64px) / 5);
    width: calc((100% - 64px) / 5);
}

.pdr-hero-banner-logo.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.pdr-hero-banner-logo img {
    width: 100%;
    max-width: 100%;
}

.pdr-section p.pdr-hero-banner-logo-title {
    background: var(--prodog-black);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    padding: 5px 16px;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 15px;
    line-height: 22px;
    text-transform: uppercase;
    margin-bottom: 0;
    color: var(--color-white);
}

.pdr-hero-banner-date-location {
    background: url('../img/festival/date-and-address-brush.svg');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    width: 605px;
    height: 150px;
    position: relative;
    left: -30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 65px;
    margin-bottom: 20px;
    max-width: 100%;
}

.pdr-hero-banner-date {
    color: var(--color-white);
	font-size: 55px;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
	line-height: 45px;
	margin-bottom: 10px;
    text-transform: uppercase;
}

.pdr-hero-banner-date span {
    color: var(--prodog-yellow);
}

.pdr-hero-banner-location {
    color: var(--color-white);
    font-size: 21px;
    line-height: 22px;
    margin-bottom: 0;
    text-transform: uppercase;
}

.pdr-hero-banner-date,
.pdr-hero-banner-location {
    display: flex;
    align-items: center;
    gap: 20px;
}

a.pdr-hero-button {
    box-shadow: inset 0 0 0 5px var(--prodog-black);
    font-size: 45px;
    line-height: 30px;
    width: 560px;
    height: 86px;
    border-radius: 45px;
    position: relative;
    z-index: 1;
    overflow: visible;
    animation: pdr-combo 4s ease-in-out infinite;
    max-width: 100%;
}

.pdr-festival-button::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 40px;
    box-shadow: 0 0 0 0 rgba(255, 204, 0, 0.5);
    animation: pdr-pulse-ring 2s ease-out infinite;
    z-index: -1;
}

@keyframes pdr-combo {
    0% {
        transform: scale(1) rotate(0deg);
    }
    10% {
        transform: scale(1.04) rotate(0deg);
    }
    20% {
        transform: scale(1) rotate(-1deg);
    }
    30% {
        transform: rotate(1deg);
    }
    40% {
        transform: rotate(0deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
    }
}

.pdr-hero-banner-roundel {
    position: absolute;
    bottom: 20px;
    left: -155px;
    width: 310px;
}

.pdr-hero-banner-roundel img {
    width: 100%;
}

/* Calendar icon */
.pdr-hero-banner-date::before {
    content: "";
    width: 34px;
    height: 40px;
    flex-shrink: 0;
    background: url('../img/festival/calendar-check.svg') no-repeat center;
    background-size: contain;
}

/* Pin icon */
.pdr-hero-banner-location::before {
    content: "";
    width: 30px;
    height: 42px;
    flex-shrink: 0;
    background: url('../img/festival/location-pin.svg') no-repeat center;
    background-size: contain;
}

/* pdr-hero-banner-lower */

.pdr-hero-banner-lower {
    position: relative;
    padding: 25px;
}

.pdr-hero-banner-lower:before {
    background: url('../img/festival/white-rough-edge1.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 21px;
    width: 100%;
    top: -21px;
    content: '';
    left: 0;
}

.pdr-hero-banner-lower:after {
    background: url('../img/festival/white-rough-edge2.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 14px;
    width: 100%;
    bottom: -14px;
    content: '';
    left: 0;
}

.pdr-hero-banner-lower .pdr-container {
    max-width: none;
    width: 100%;
    padding: 0;
}

.pdr-hero-banner-lower-items {
    max-width: 1545px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pdr-divider {
    width: 4px;
    height: 76px;
    background: var(--prodog-yellow);
    flex-shrink: 0;
}

.pdr-hero-banner-lower-box-1 {
    width: 210px;
}

.pdr-hero-banner-lower-box-2 {
    width: 275px;
}

.pdr-hero-banner-lower-logos-wrap {
    display: flex;
    flex-direction: column;
}

.pdr-section .pdr-hero-banner-lower-logos-wrap p {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 22px;
    line-height: 20px;
    text-transform: uppercase;
    margin-bottom: 5px;
    color: var(--prodog-black);
}

.pdr-hero-banner-lower-logos {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 45px;
}

.pdr-hero-banner-lower-logos img:last-of-type {
    height: 65px;
    width: auto;
}

/* pdr-festival-countdown */

.pdr-festival-countdown {
    background: url('../img/festival/black-texture.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 60px 25px;
}

.pdr-festival-countdown .pdr-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pdr-festival-countdown h2 {
    color: var(--prodog-yellow);
	font-size: 52px;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
	line-height: 40px;
	margin-bottom: 10px;
    text-transform: uppercase;
}

.pdr-festival-countdown-content {
    color: var(--color-white);
    font-size: 30px;
    line-height: 30px;
    width: 100%;
    max-width: 400px;
}

.pdr-countdown-button {
    border: none;
    width: 100%;
    max-width: 418px;
    display: inline-block;
}

.pdr-countdown-button img {
    width: 100%;
}

.pdr-countdown-button-wrap {
    position: relative;
}

.pdr-festival-countdown-wrap {
    max-width: 100%;
}

.pdr-festival-countdown-wrap .pdr-countdown-button-wrap {
    display: none;
}

.pdr-countdown-arrow {
    position: absolute;
    right: -90px;
    bottom: 0;
}

.pdr-festival-countdown-time {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    max-width: 100%;
}

.pdr-festival-countdown-time > div {
    background: var(--prodog-yellow);
    border-radius: 25px;
    width: 118px;
    height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 28px;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
	line-height: 30px;
    text-transform: uppercase;
}

.pdr-festival-countdown-time span {
    font-size: 60px;
	line-height: 50px;
    display: inline-block;
}

.pdr-festival-countdown-time span.is-changing {
    animation: pdr-countdown-tick 0.25s ease;
}

@keyframes pdr-countdown-tick {
    0% {
        transform: translateY(-4px);
        opacity: 0.4;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* overview */

.pdr-festival-overview {
    position: relative;
}

.pdr-festival-overview:before {
    background: url('../img/festival/yellow-rough-edge1.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 21px;
    width: 100%;
    top: -21px;
    content: '';
    left: 0;
}

.pdr-festival-overview:after {
    background: url('../img/festival/white-rough-edge2.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 14px;
    width: 100%;
    bottom: -14px;
    content: '';
    left: 0;
}

.pdr-festival-overview-inner {
    background: url('../img/festival/yellow-textured-background.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 0 25px;
}

.pdr-festival-overview .pdr-container {
    display: flex;
    justify-content: space-between;
}

.pdr-festival-overview-left {
    width: 100%;
    max-width: 560px;
    padding: 55px 0 90px;
}

.pdr-festival-overview-left h2 {
    font-size: 62px;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
	line-height: 52px;
    text-transform: uppercase;
    max-width: 500px;
    width: 100%;
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 30px
}

.pdr-festival-overview-left h2:after {
	content: '';
	position: absolute;
	left: -20px;
	bottom: -7px;
	width: 520px;
	height: 20px;
	background: url('../img/festival/black-underline-overview.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-overview-content {
    width: 100%;
    max-width: 510px;
    margin-bottom: 135px;
}

.pdr-festival-overview-content p,
.pdr-festival-overview-content li {
    font-size: 30px;
    line-height: 30px;
}

.pdr-festival-overview-content > :last-child {
    margin-bottom: 0;
}

a.pdr-festival-overview-button {
	box-shadow: inset 0 0 0 5px var(--prodog-black);
	font-size: 45px;
	line-height: 30px;
	width: 100%;
    max-width: 560px;
	height: 86px;
	border-radius: 45px;
	position: relative;
	z-index: 1;
	overflow: visible;
	animation: pdr-combo 4s ease-in-out infinite;
    margin-bottom: 25px;
}

.pdr-festival-overview-right {
    width: calc(100% - 740px);
    padding-top: 95px;
    position: relative;
}

.pdr-festival-overview-right img {
    position: absolute;
    bottom: 0;
    max-width: 1200px;
}

/* pdr-festival-active */

.pdr-festival-active {
    position: relative;
    z-index: 3;
}

.pdr-festival-active:before {
    background: url('../img/festival/dark-textured-background-edge.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 53px;
    width: 100%;
    top: -52px;
    content: '';
    left: 0;
}

.pdr-festival-active:after {
    background: url('../img/festival/dark-textured-background-edge-2-flipped.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 53px;
    width: 100%;
    bottom: -52px;
    content: '';
    left: 0;
    z-index: 1;

    bottom: -52px;
    height: 53px;
}

.pdr-festival-active .pdr-container {
    position: relative;
    z-index: 5;
}

.pdr-festival-active-inner {
    background: url('../img/festival/black-textured-wall.jpg');
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 40px 0 0;
}

.pdr-festival-active h2 {
    color: var(--color-white);
    text-transform: uppercase;
    font-size: 78px;
    line-height: 65px;
    margin: 0 auto 35px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
    transform: rotate(-1deg);
    text-align: center;
}

.pdr-festival-active h2 span {
    color: var(--prodog-yellow);
    font-size: 78px;
    line-height: 65px;
    display: inline;
}

.pdr-festival-active h2:after {
	content: '';
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
	bottom: -7px;
	width: 370px;
	height: 20px;
	background: url('../img/festival/yellow-underline.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-active-content {
    width: 100%;
    max-width: 630px;
    margin: 0 auto 45px;
    text-align: center;
}

.pdr-festival-active-content p,
.pdr-festival-active-content li {
    color: var(--color-white);
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 30px;
	line-height: 30px;
}

.pdr-festival-active-content strong {
    color: var(--prodog-yellow);
}

.pdr-festival-active-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-active-icons {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin: 0 auto 60px;
}

.pdr-festival-active-icons img {
    width: calc(20% - 9px);
    max-width: 145px;
}

.pdr-festival-active-polaroids {
    position: relative;
    z-index: 10;
    transform: translateY(110px);
    margin-top: -110px;
    padding: 0 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 45px 35px;
}

.pdr-festival-active-polaroid {
    width: 320px;
    background: var(--color-white);
    border-radius: 10px;
    padding: 16px 16px 28px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.25);
    text-align: center;
    transform: rotate(-3deg);
}

.pdr-festival-active-polaroid:nth-child(1) {
    transform: rotate(-2deg);
}

.pdr-festival-active-polaroid:nth-child(2) {
    transform: rotate(3deg);
}

.pdr-festival-active-polaroid:nth-child(3) {
    transform: rotate(-4deg);
}

.pdr-festival-active-polaroid:nth-child(4) {
    transform: rotate(0deg);
}

.pdr-festival-active-polaroid:nth-child(5) {
    transform: rotate(-2deg);
}

.pdr-festival-active-polaroid:nth-child(6) {
    transform: rotate(1deg);
}

.pdr-festival-active-polaroid:nth-child(7) {
    transform: rotate(4deg);
}

.pdr-festival-active-polaroid-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 18px;
}

.pdr-festival-active-polaroid-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.pdr-festival-active-polaroid-content h3 {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 22px;
    line-height: 25px;
    text-transform: uppercase;
    color: var(--prodog-black);
    margin-bottom: 4px;
}

.pdr-festival-active-polaroid-button {
    display: inline-block;
    position: relative;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 16px;
    line-height: 25px;
    text-transform: uppercase;
    color: var(--prodog-black);
    text-decoration: none;
    border: none;
}

.pdr-festival-active-polaroid-button::after {
    content: "";
    display: block;
    width: 100px;
    height: 10px;
    background: url('../img/festival/read-more-underline.png') no-repeat center;
    background-size: contain;
}

.pdr-festival-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.75);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.pdr-festival-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 92%;
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    background: #f3f3f3;
    border-radius: 30px;
    z-index: 9999;

    transform: translate(-50%, -50%) scale(0.96);

    opacity: 0;
    visibility: hidden;

    transition: all 0.3s ease;
    padding: 30px 30px 55px;
}

/* Active state */
.pdr-festival-popup.is-active,
.pdr-festival-popup-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

.pdr-festival-popup.is-active {
    transform: translate(-50%, -50%) scale(1);
}

.pdr-festival-active-popup-inner {
    padding: 25px 70px 0;
}

.pdr-festival-active-popup-image {
    height: 318px;
    overflow: hidden;
    border-radius: 16px;
}

.pdr-festival-active-popup-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.pdr-festival-active-popup-inner h2 {
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 30px;
    font-size: 30px;
    line-height: 25px;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
}

.pdr-festival-active-popup-text {
    max-width: 920px;
    margin: 0 auto 40px;
}

.pdr-festival-active-popup-text p {
    margin-bottom: 20px;
}

.pdr-festival-active-popup-text p,
.pdr-festival-active-popup-text li {
    font-size: 18px;
    line-height: 22px;
}

.pdr-festival-active-popup-text strong {
    font-size: 16px;
    line-height: 20px;
}

.pdr-festival-active-popup-text > :last-child {
    margin-bottom: 0;
}

.pdr-festival-learn-popup-content,
.pdr-festival-active-popup-content,
.pdr-festival-relax-popup-content {
    display: none;
}

body.pdr-popup-open {
    overflow: hidden;
}

.pdr-festival-popup-close {
    position: absolute;
    top: 15px;
    right: 15px;
    border: none;
    cursor: pointer;
}

a.pdr-popup-button {
	display: flex;
	margin: 0 auto;
	max-width: 280px;
}


/* pdr-festival-learn */

.pdr-festival-learn {
    background-color: var(--prodog-yellow);
    background-image: url('../img/festival/darker-yellow-textured-background.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0;
    padding-top: 0;
    overflow: hidden;
}

.pdr-festival-learn::before,
.pdr-festival-learn::after {
    content: "";
    position: absolute;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 6;
    pointer-events: none;
}

.pdr-festival-learn::before {
    left: -150px;
    background-image: url('../img/festival/rottie-head.png');
    background-position: left bottom;
    background-size: contain;
    width: 900px;
    height: 815px;
}

.pdr-festival-learn::after {
    right: -150px;
    background-image: url('../img/festival/malinois-head.png');
    background-position: right bottom;
    background-size: contain;
    width: 900px;
    height: 1000px;
}

.pdr-festival-learn .pdr-container {
    position: relative;
    z-index: 2;
}

.pdr-festival-learn-inner {
    padding-top: 175px;
    padding-bottom: 130px;
}

.pdr-festival-learn h2 {
    color: var(--prodog-black);
    text-transform: uppercase;
    font-size: 78px;
    line-height: 65px;
    margin: 0 auto 20px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
    transform: rotate(-1deg);
    text-align: center;
}

.pdr-festival-learn h2 span {
    color: var(--color-white);
    font-size: 78px;
    line-height: 65px;
    display: inline;
}

.pdr-festival-learn h2:after {
	content: '';
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
	bottom: -7px;
	width: 615px;
	height: 20px;
	background: url('../img/festival/white-underline.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-learn-content {
    width: 100%;
    max-width: 700px;
    margin: 0 auto 60px;
    text-align: center;
}

.pdr-festival-learn-content p,
.pdr-festival-learn-content li {
    color: var(--prodog-black);
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 30px;
	line-height: 30px;
}

.pdr-festival-learn-content strong {
    color: var(--color-white);
}

.pdr-festival-learn-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-learn-polaroids {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 45px 35px;
}

.pdr-festival-learn-polaroid {
    width: 320px;
    background: var(--color-white);
    border-radius: 10px;
    padding: 16px 16px 28px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.25);
    text-align: center;
    transform: rotate(-3deg);
    position: relative;
}

.pdr-festival-learn-polaroid:first-child::before {
    content: "";
    position: absolute;
    top: -55px;
    left: -60px;
    width: 150px;
    height: 150px;
    background: url('../img/festival/special-guest.png') no-repeat center;
    background-size: contain;
    z-index: 5;
    pointer-events: none;
}

.pdr-festival-learn-polaroid:nth-child(1) {
    transform: rotate(-1deg);
}

.pdr-festival-learn-polaroid:nth-child(2) {
    transform: rotate(-1deg);
}

.pdr-festival-learn-polaroid:nth-child(3) {
    transform: rotate(2deg);
}

.pdr-festival-learn-polaroid-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 13px;
}

.pdr-festival-learn-polaroid-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.pdr-festival-learn-polaroid-content h3 {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 19px;
    line-height: 25px;
    text-transform: uppercase;
    color: var(--prodog-black);
    margin-bottom: 4px;
}

.pdr-festival-learn-polaroid-button {
    display: inline-block;
    position: relative;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 16px;
    line-height: 25px;
    text-transform: uppercase;
    color: var(--prodog-black);
    text-decoration: none;
    border: none;
}

.pdr-festival-learn-polaroid-button::after {
    content: "";
    display: block;
    width: 100px;
    height: 10px;
    background: url('../img/festival/read-more-underline.png') no-repeat center;
    background-size: contain;
}

/* pdr-festival-active */

.pdr-festival-relax {
    position: relative;
}

.pdr-festival-relax:before {
    background: url('../img/festival/dark-textured-background-edge.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 53px;
    width: 100%;
    top: -52px;
    content: '';
    left: 0;
    z-index: 7;
}


.pdr-festival-relax::after {
    content: "";
    position: absolute;
    bottom: 0;
    background-repeat: no-repeat;
    pointer-events: none;
    right: -150px;
    background-image: url('../img/festival/border-collie.png');
    background-position: right bottom;
    background-size: contain;
    width: 675px;
    height: 730px;
}

.pdr-festival-relax-inner {
    background: url('../img/festival/black-textured-wall.jpg');
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 50px 0 130px;
}

.pdr-festival-relax h2 {
    color: var(--color-white);
    text-transform: uppercase;
    font-size: 78px;
    line-height: 65px;
    margin: 0 auto 35px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
    transform: rotate(-1deg);
    text-align: center;
}

.pdr-festival-relax h2 span {
    color: var(--prodog-yellow);
    font-size: 78px;
    line-height: 65px;
    display: inline;
}

.pdr-festival-relax h2:after {
	content: '';
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
	bottom: -7px;
	width: 370px;
	height: 20px;
	background: url('../img/festival/yellow-underline.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-relax-content {
    width: 100%;
    max-width: 630px;
    margin: 0 auto 45px;
    text-align: center;
}

.pdr-festival-relax-content p,
.pdr-festival-relax-content li {
    color: var(--color-white);
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 30px;
	line-height: 30px;
}

.pdr-festival-relax-content strong {
    color: var(--prodog-yellow);
}

.pdr-festival-relax-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-relax-icons {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin: 0 auto 60px;
}

.pdr-festival-relax-icons img {
    width: calc(20% - 9px);
    max-width: 145px;
}

.pdr-festival-relax-polaroids {
    display: grid;
    grid-template-columns: repeat(6, 160px);
    justify-content: center;
    gap: 35px 20px;
    position: relative;
    padding-bottom: 0;
}

.pdr-festival-relax-polaroid {
    width: 320px;
    background: var(--color-white);
    border-radius: 10px;
    padding: 16px 16px 28px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.25);
    text-align: center;
    transform: rotate(-3deg);
}

/* first row: 3 cards */
.pdr-festival-relax-polaroid:nth-child(1) {
    grid-column: 1 / span 2;
    transform: rotate(-2deg);
}

.pdr-festival-relax-polaroid:nth-child(2) {
    grid-column: 3 / span 2;
    transform: rotate(3deg);
}

.pdr-festival-relax-polaroid:nth-child(3) {
    grid-column: 5 / span 2;
    transform: rotate(-4deg);
}

/* second row: 2 cards centred */
.pdr-festival-relax-polaroid:nth-child(4) {
    grid-column: 2 / span 2;
    transform: rotate(1deg);
}

.pdr-festival-relax-polaroid:nth-child(5) {
    grid-column: 4 / span 2;
    transform: rotate(-2deg);
}

.pdr-festival-relax-polaroid-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 18px;
}

.pdr-festival-relax-polaroid-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.pdr-festival-relax-polaroid-content h3 {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 19px;
    line-height: 22px;
    text-transform: uppercase;
    color: var(--prodog-black);
    margin-bottom: 4px;
}

.pdr-festival-relax-polaroid-button {
    display: inline-block;
    position: relative;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 16px;
    line-height: 25px;
    text-transform: uppercase;
    color: var(--prodog-black);
    text-decoration: none;
    border: none;
}

.pdr-festival-relax-polaroid-button::after {
    content: "";
    display: block;
    width: 100px;
    height: 10px;
    background: url('../img/festival/read-more-underline.png') no-repeat center;
    background-size: contain;
}

/* pdr-festival-whatson */

.pdr-festival-whatson {
    background: var(--prodog-yellow);
    position: relative;
}

.pdr-festival-whatson:before {
    background: url('../img/festival/yellow-rough-edge1new.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 49px;
    width: 100%;
    top: -49px;
    content: '';
    left: 0;
}

.pdr-festival-whatson:after {
    background: url('../img/festival/yellow-rough-edge1-flipped.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    bottom: -28px;
    content: '';
    z-index: 2;
    left: 0;
}

.pdr-festival-whatson-inner {
    padding: 50px 0;
}

.pdr-festival-whatson h2 {
    color: var(--prodog-black);
    text-transform: uppercase;
    font-size: 65px;
    line-height: 55px;
    margin: 0 auto 35px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
    text-align: center;
}

.pdr-festival-whatson h2:after {
	content: '';
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
	bottom: -7px;
	width: 300px;
	height: 20px;
	background: url('../img/festival/whats-on-black-underline.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-whatson-content {
	margin: 0 auto 30px;
    width: 700px;
    max-width: 100%;
    text-align: center;
}

.pdr-festival-whatson-content li,
.pdr-festival-whatson-content p {
    color: var(--prodog-black);
    font-size: 20px;
    line-height: 30px;
}

.pdr-festival-whatson-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-whatson-form form {
    width: 100%;
    max-width: 1240px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 0 auto;
}

.pdr-festival-whatson-form .hs-submit,
.pdr-festival-whatson-form .hs-form-field {
    width: 100%;
}

.pdr-festival-whatson-form input.hs-input {
    max-width: 400px;
    width: 100%;
    border: 4px solid var(--prodog-black);
    border-radius: 10px;
    font-size: 20px;
    line-height: 25px;
    display: flex;
    align-items: center;
    padding: 0 25px;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    height: 60px;
}

.pdr-festival-whatson-form .hs-button {
    max-width: 405px;
    width: 100%;
	position: relative;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 30px;
	padding: 5px 20px;
	background: var(--prodog-black);
	color: var(--prodog-yellow);
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	font-size: 27px;
	line-height: 24px;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: inset 0 0 0 3px var(--prodog-yellow);
	transition: all 0.3s ease;
	border: 8px solid var(--prodog-black);
    cursor: pointer;
}

.pdr-festival-whatson-form .hs-button:hover {
	background: var(--prodog-black);
	color: var(--prodog-yellow);
	border-color: var(--prodog-black);
    box-shadow: inset 0 0 0 3px var(--prodog-black);
}

.hs-error-msg {
    margin-top: 10px;
    display: block;
}

/* Remove browser focus/active styles */
.pdr-festival-whatson-form input,
.pdr-festival-whatson-form textarea,
.pdr-festival-whatson-form select,
.pdr-festival-whatson-form button {
    outline: none;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Remove focus ring/highlight */
.pdr-festival-whatson-form input:focus,
.pdr-festival-whatson-form textarea:focus,
.pdr-festival-whatson-form select:focus,
.pdr-festival-whatson-form button:focus,
.pdr-festival-whatson-form input:focus-visible,
.pdr-festival-whatson-form textarea:focus-visible,
.pdr-festival-whatson-form select:focus-visible,
.pdr-festival-whatson-form button:focus-visible,
.pdr-festival-whatson-form input:active,
.pdr-festival-whatson-form textarea:active,
.pdr-festival-whatson-form select:active,
.pdr-festival-whatson-form button:active {
    outline: none !important;
    box-shadow: none !important;
    border-color: inherit;
}

/* iOS tap highlight */
.pdr-festival-whatson-form * {
    -webkit-tap-highlight-color: transparent;
}

.pdr-festival-whatson-form input:focus {
    outline: 0;
    box-shadow: none;
}

/* Placeholder colour */
.pdr-festival-whatson-form input::placeholder,
.pdr-festival-whatson-form textarea::placeholder {
    color: var(--prodog-black);
    opacity: 1;
}

/* Safari */
.pdr-festival-whatson-form input::-webkit-input-placeholder,
.pdr-festival-whatson-form textarea::-webkit-input-placeholder {
    color: var(--prodog-black);
    opacity: 1;
}

/* Firefox */
.pdr-festival-whatson-form input::-moz-placeholder,
.pdr-festival-whatson-form textarea::-moz-placeholder {
    color: var(--prodog-black);
    opacity: 1;
}

/* Edge/old browsers */
.pdr-festival-whatson-form input:-ms-input-placeholder,
.pdr-festival-whatson-form textarea:-ms-input-placeholder {
    color: var(--prodog-black);
}


/* take part */

.pdr-festival-take-part .pdr-container {
    max-width: 100%;
}

.pdr-festival-take-part-book {
    background: url('../img/festival/sea-textured-background-extended-if-needed.jpg');
    background-size: contain;
    background-position: center -200px;
    background-repeat: no-repeat;
    padding: 100px 25px 120px;
    position: relative;
    overflow: visible;
}

.pdr-festival-take-part-book:after {
    background: url('../img/festival/white-rough-edge2.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 18px;
    width: 100%;
    bottom: -18px;
    content: '';
    z-index: 2;
    left: 0;
}

.pdr-festival-take-part-book-container {
    position: relative;
    z-index: 2;
}

.pdr-festival-take-part-dog {
    position: absolute;
    right: -300px;
    bottom: -205px;
    width: 100%;
    max-width: 1400px;
    height: auto;
    z-index: 3;
    pointer-events: none;
}

.pdr-festival-take-part-book h2 {
    color: var(--color-white);
    text-transform: uppercase;
    font-size: 100px;
    line-height: 75px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
    transform: rotate(-1deg);
}

.pdr-festival-take-part-book h2 span {
    font-size: 100px;
    line-height: 75px;
    color: var(--prodog-yellow);
    display: inline;
}

.pdr-festival-take-part-book h2:after {
	content: '';
	position: absolute;
	left: -20px;
	bottom: -7px;
	width: 470px;
	height: 20px;
	background: url('../img/festival/underline-book-now.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-take-part-content-wrap {
    position: relative;
    z-index: 1;
    padding: 45px 70px 0 0;
}

.pdr-festival-take-part-content-wrap:before {
    content: '';
    position: absolute;
    z-index: -1;

    width: 1220px;
    height: 340px;

    left: -325px;
    top: 0;

    background-image: url('../img/festival/book-now-brush-stroke.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    pointer-events: none;
}

.pdr-festival-take-part-content {
    width: 100%;
    max-width: 505px;
    margin-bottom: 100px;
}

.pdr-festival-take-part-content h3 {
    color: var(--color-white);
    font-size: 45px;
    line-height: 40px;
    transform: rotate(-1deg);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.pdr-festival-take-part-content p,
.pdr-festival-take-part-content li {
    color: var(--prodog-yellow);
    font-size: 28px;
    line-height: 28px;
}

.pdr-festival-take-part-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-take-part-bottom-content {
    width: 100%;
    max-width: 630px;
    margin-bottom: 40px;
}

.pdr-festival-take-part-bottom-content strong {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 22px;
}

.pdr-festival-take-part-bottom-content p {
    font-size: 18px;
    line-height: 22px;
}

.pdr-festival-take-part-bottom-content > :last-child {
    margin-bottom: 0;
}

a.pdr-festival-take-part-button {
	box-shadow: inset 0 0 0 5px var(--prodog-black);
	font-size: 45px;
	line-height: 30px;
	width: 560px;
	height: 86px;
	border-radius: 45px;
	position: relative;
	z-index: 1;
	overflow: visible;
	animation: pdr-combo 4s ease-in-out infinite;
    margin-bottom: 0;
}

a.pdr-festival-take-part-button svg {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	right: 25px;
	position: absolute;
}

.pdr-festival-take-part-button-wrap {
    display: flex;
    justify-content: flex-start;
    position: relative;
    max-width: 560px;
    width: 100%;
}

.pdr-black-arrow {
    position: absolute;
    right: -170px;
    bottom: 0;
}

.pdr-festival-take-part-passes {
    position: relative;
    left: -35px;
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
}

.pdr-festival-take-part-pass-left,
.pdr-festival-take-part-pass-right {
    position: relative;
    z-index: 1;
    width: 485px;
    height: 485px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 70px 55px 55px;
}

.pdr-festival-take-part-pass-left:before,
.pdr-festival-take-part-pass-right:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

.pdr-festival-take-part-pass-left:before {
    background-image: url('../img/festival/black-circle.svg');
}

.pdr-festival-take-part-pass-right:before {
    background-image: url('../img/festival/yellow-circle.svg');
}

.pdr-festival-take-part-pass-left h3,
.pdr-festival-take-part-pass-right h3 {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 92px;
    line-height: 80px;
    margin: 0 0 20px;
}

.pdr-festival-take-part-pass-left h3,
.pdr-festival-take-part-pass-left .pdr-festival-take-part-pass-price {
    color: var(--prodog-yellow);
}

.pdr-festival-take-part-pass-right h3,
.pdr-festival-take-part-pass-right .pdr-festival-take-part-pass-price {
    color: var(--prodog-black);
}

.pdr-festival-take-part-pass-content {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 22px;
    max-width: 275px;
    margin-bottom: 20px;
}

.pdr-festival-take-part-pass-left .pdr-festival-take-part-pass-content {
    color: var(--color-white);
}

.pdr-festival-take-part-pass-right .pdr-festival-take-part-pass-content {
    color: var(--prodog-black);
}

.pdr-festival-take-part-pass-price {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    font-size: 90px;
    line-height: 80px;
}

.pdr-festival-take-part-location-map-wrap {
	position: relative;
}

.pdr-festival-take-part-location-overlay-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	pointer-events: none;
	z-index: 5;
}

.pdr-festival-take-part-location-overlay-wrap {
    margin: 0 auto;
    padding: 0 25px;
}

.pdr-festival-take-part-location-overlay {
	width: 360px;
	min-height: 430px;
	background-image: url('../img/festival/address-pin.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 170px 55px 115px;
	pointer-events: auto;
}

.pdr-festival-take-part-location-title {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    font-size: 42px;
    line-height: 38px;
	margin: 0 0 15px;
    text-transform: uppercase;
}

.pdr-festival-take-part-location-address {
	margin: 0;
}

.pdr-festival-take-part-location-address p {
    font-size: 20px;
    line-height: 25px;
    margin-bottom: 0;
}

.acf-map {
	width: 100%;
	height: 675px;
	margin: 0;
}

.acf-map img {
	max-width: inherit !important;
}

/* great day out */

.pdr-festival-day-out {
    padding: 50px 25px;
    position: relative;
}

.pdr-festival-day-out .pdr-container {
	display: flex;
	align-items: center;
	gap: 210px;
    position: relative;
}

.pdr-festival-day-out:before {
    background: url('../img/festival/white-rough-edge-1.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    top: -28px;
    content: '';
    left: 0;
}

.pdr-festival-day-out:after {
    background: url('../img/festival/white-rough-edge-1-flipped.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    bottom: -28px;
    content: '';
    z-index: 2;
    left: 0;
}

.pdr-festival-day-out h2 {
    color: var(--prodog-black);
    text-transform: uppercase;
    font-size: 65px;
    line-height: 55px;
    margin: 0 auto 35px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
    transform: rotate(-1deg);
}

.pdr-festival-day-out h2 span {
    font-size: 65px;
    line-height: 55px;
    display: block;
}

.pdr-festival-day-out h2:after {
	content: '';
	position: absolute;
	left: -20px;
	bottom: -7px;
	width: 550px;
	height: 20px;
	background: url('../img/festival/black-underline-great-day-out.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-day-out-content-wrap {
	flex: 0 0 630px;
	max-width: 630px;
	position: absolute;
	right: 0;
}

.pdr-festival-day-out-image {
	flex: 0 0 935px;
	max-width: 935px;
	width: 935px;
	margin-left: -200px;
	position: relative;
}

.pdr-festival-day-out-image img {
	display: block;
	width: 100%;
	height: auto;
}

.pdr-festival-day-out-content p,
.pdr-festival-day-out-content li {
    font-size: 20px;
    line-height: 25px;
}

.pdr-festival-day-out-content > :last-child {
    margin-bottom: 0;
}

/* celebrate */

.pdr-festival-celebrate {
    background: var(--color-black);
    position: relative;
    overflow: hidden;
    padding: 0 25px;
}

.pdr-festival-celebrate .pdr-container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    padding: 50px 0 30px;
}

.pdr-festival-celebrate-image-left {
    width: 340px;
    margin-right: 40px;
    flex: 0 0 340px;
}

.pdr-festival-celebrate-image-left img {
    width: 100%;
    display: block;
}

.pdr-festival-celebrate-content-wrap {
    width: 590px;
    position: relative;
    z-index: 3;
}

.pdr-festival-celebrate-image-right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    z-index: 1;
}

.pdr-festival-celebrate-image-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.pdr-festival-celebrate-content-wrap h2 {
    color: var(--prodog-yellow);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 57px;
    line-height: 47px;
    margin-bottom: 15px;
}

.pdr-festival-celebrate-content-wrap h2 span {
    color: var(--color-white);
    font-size: 57px;
    line-height: 47px;
}

.pdr-festival-celebrate-content p,
.pdr-festival-celebrate-content li {
    color: var(--prodog-yellow);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 40px;
    line-height: 35px;
    margin-bottom: 10px;
}

.pdr-festival-celebrate-content strong {
    color: var(--color-white);
}

.pdr-festival-celebrate-content > :last-child {
    margin-bottom: 0;
}

/* partners */

.pdr-festival-partners {
    background: var(--prodog-yellow);
    padding: 45px 25px 60px;
    position: relative;
}

.pdr-festival-partners:before {
    background: url('../img/festival/yellow-rough-edge1.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    top: -28px;
    content: '';
    left: 0;
    z-index: 2;
}

.pdr-festival-partners:after {
    background: url('../img/festival/yellow-rough-edge1-flipped.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    bottom: -28px;
    content: '';
    z-index: 2;
    left: 0;
}

.pdr-festival-partners h2 {
    color: var(--prodog-black);
    text-transform: uppercase;
    font-size: 65px;
    line-height: 55px;
    margin: 0 auto 25px;
    text-align: center;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 30px;
}

.pdr-festival-partners h2 span {
    font-size: 65px;
    line-height: 55px;
    display: block;
}

.pdr-festival-partners h2:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -10px;
	width: 730px;
	height: 20px;
	background: url('../img/festival/black-underline-partners.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-partners-content {
	margin: 0 auto 55px;
    width: 630px;
    max-width: 100%;
    text-align: center;
}

.pdr-festival-partners-content h3 {
    color: var(--prodog-black);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 45px;
    line-height: 35px;
    margin-bottom: 20px;
}

.pdr-festival-partners-content li,
.pdr-festival-partners-content p {
    color: var(--prodog-black);
    font-size: 20px;
    line-height: 25px;
    margin-bottom: 15px;
}

.pdr-festival-partners-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-partners-loop {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 70px;
}

.pdr-festival-partner {
    background: var(--color-white);
	border-radius: 30px;
	overflow: hidden;
    text-align: center;
    width: 100%;
}

.pdr-festival-partner-image {
    border: 12px solid var(--color-white);
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 30px 30px 0 0;
}

.pdr-festival-partner-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pdr-festival-partner-content-wrap {
    padding: 20px 35px 40px;
}

.pdr-festival-partner h3 {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 30px;
    line-height: 35px;
    text-transform: uppercase;
    margin-bottom: 5px;
    color: var(--prodog-black);
}

.pdr-festival-partner h3 span {
    display: block;
}

.pdr-section p.pdr-festival-partner-intro-line {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 25px;
    margin: 0 auto 10px;
    width: 100%;
    max-width: 570px;
}

.pdr-section p.pdr-festival-partner-intro-content {
    margin: 0 auto 15px;
    width: 100%;
    max-width: 570px;
}

.pdr-festival-partner h3.no-intro-line {
    margin-bottom: 25px;
}

.pdr-section p.pdr-festival-partner-intro-content.no-intro-line {
    margin-bottom: 30px;
}

.pdr-festival-partner-logo img {
    max-width: 385px;
}

.pdr-festival-partner-donate-button {
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 16px;
    line-height: 25px;
    text-transform: uppercase;
    border: none;
    margin-bottom: 35px;
    display: inline-block;
    position: relative;
}

.pdr-festival-partner-donate-button:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -7px;
	width: 140px;
	height: 4px;
	background: url('../img/festival/black-underline-find-out-more.svg') no-repeat center;
	background-size: contain;
}

/* donations */

.pdr-festival-donations {
    background-size: cover;
    background-repeat: no-repeat;
    padding: 100px 25px 100px;
}

.pdr-festival-donations h2 {
    color: var(--prodog-black);
    text-transform: uppercase;
    font-size: 62px;
    line-height: 52px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 550px;
    position: relative;
    padding-bottom: 30px;
}

.pdr-festival-donations h2 span {
    font-size: 62px;
    line-height: 52px;
}

.pdr-festival-donations h2:after {
	content: '';
	position: absolute;
	left: -10px;
	bottom: -7px;
	width: 530px;
	height: 20px;
	background: url('../img/festival/donation-line.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-donations-content-wrap {
    position: relative;
    z-index: 1;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 50px;
    height: 355px;
    max-width: 100%;
}

.pdr-festival-donations-content-wrap:before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 1480px;
    height: 355px;
    left: -520px;
    top: 0;
    background-image: url('../img/festival/large-white-brush-stroke.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

.pdr-festival-donations-content {
	margin-bottom: 0;
    width: 550px;
    max-width: 100%;
}

.pdr-festival-donations-content li,
.pdr-festival-donations-content p {
    color: var(--prodog-black);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 45px;
    line-height: 37px;
}

.pdr-festival-donations-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-donations-suggested {
    padding-top: 40px;
    width: 100%;
    max-width: 930px;
}

.pdr-festival-donations-suggested-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;

	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 32px;
	line-height: 32px;

	text-align: center;
}

.pdr-festival-donations-suggested-title::before,
.pdr-festival-donations-suggested-title::after {
	content: '';
	flex: 1;
	height: 4px;
	background-image: url('../img/festival/donation-line.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	max-width: 600px;
}

.pdr-festival-donations-suggested-loop {
	display: flex;
	justify-content: center;
	gap: 6px;

	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	text-align: center;
    padding-top: 30px;
    margin-bottom: 40px;
}

.pdr-festival-donations-suggested-item {
	width: 317px;
	height: 317px;
	flex: 0 0 317px;

	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

	display: flex;
	flex-direction: column;
	align-items: center;

	padding: 60px 45px 45px;
	box-sizing: border-box;
}

.pdr-festival-donations-suggested-item:nth-child(1) {
	background-image: url('../img/festival/white-donate-circle.svg');
	color: #231f20;
}

.pdr-festival-donations-suggested-item:nth-child(2) {
	background-image: url('../img/festival/black-donate-circle.svg');
	color: #fff;
}

.pdr-festival-donations-suggested-item:nth-child(3) {
	background-image: url('../img/festival/green-donate-circle.svg');
	color: #fff;
}

p.pdr-festival-donations-suggested-amount {
	margin: 0 0 22px;
	font-size: 95px;
	line-height: 85px;
}

p.pdr-festival-donations-suggested-content {
	margin: 0;
	font-size: 33px;
	line-height: 30px;
	min-height: 120px;
}

p.pdr-festival-donations-suggested-content span {
    display: block;
}

.pdr-festival-donations-button-wrap {
	position: relative;

	width: 100%;
	max-width: 930px;

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

.pdr-festival-donations-button-wrap::before,
.pdr-festival-donations-button-wrap::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	width: 140px;
	height: 130px;

	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
    display: block;
}

.pdr-festival-donations-button-wrap::before {
	left: 75px;
    top: 85px;
	background-image: url('../img/festival/black-arrow-left.svg');
}

.pdr-festival-donations-button-wrap::after {
	right: 75px;
    top: 85px;
	background-image: url('../img/festival/black-arrow-right.svg');
}

a.pdr-festival-donations-button {
    font-size: 38px;
    line-height: 30px;
    max-width: 430px;
    height: 90px;
    border-radius: 45px;
    box-shadow: inset 0 0 0 5px var(--prodog-yellow);
    margin-top: 50px;
}

a.pdr-festival-donations-button span {
	position: absolute;
	right: 34px;
	top: 20px;
	z-index: 20;
}

a.pdr-festival-donations-button span svg {
	fill: var(--prodog-yellow);
	width: 36px;
}

.pdr-festival-donations-bottom {
    width: 100%;
    max-width: 930px;
}

.pdr-festival-donations-details {
    background: var(--color-white);
    border-radius: 66px;
    margin-bottom: 30px;
    padding: 30px 290px 30px 75px;
    background-image: url('../img/festival/peeking-husky.jpg');
    background-position: right 50px bottom;
    background-repeat: no-repeat;
    background-size: 145px 123px;
}

.pdr-festival-donations-bottom-line {
    margin: 0;
    text-align: center;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 18px;
    line-height: 25px;
}

p.pdr-festival-donations-raised {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 30px;
    line-height: 40px;
    text-transform: uppercase;
    gap: 10px;
    margin-bottom: 0;
}

p.pdr-festival-donations-raised span {
    background: var(--prodog-bright-green);
    border-radius: 22px;
    color: var(--color-white);
    padding: 0 20px;
}

p.pdr-festival-donations-made {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 40px;
    text-transform: uppercase;
    gap: 10px;
    margin-bottom: 0;
}

p.pdr-festival-donations-made span {
    background: var(--prodog-bright-green);
    border-radius: 22px;
    color: var(--color-white);
    padding: 0 20px;
    line-height: 30px;
}

/* cta */

.pdr-festival-cta {
    padding: 55px 25px;
    position: relative;
}

.pdr-festival-cta .pdr-container {
    max-width: 1130px;
}

.pdr-festival-cta:before {
    background: url('../img/festival/white-rough-edge1.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    top: -28px;
    content: '';
    left: 0;
}

.pdr-festival-cta:after {
    background: url('../img/festival/white-rough-edge-flipped.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 28px;
    width: 100%;
    bottom: -28px;
    content: '';
    z-index: 2;
    left: 0;
}

.pdr-festival-cta .pdr-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1130px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.pdr-festival-cta h2 {
    color: var(--prodog-black);
    font-family: "Gotham", sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 25px;
    margin-bottom: 0;
}

.pdr-festival-cta-content-wrap {
    width: 700px;
    max-width: 100%;
}

.pdr-festival-cta-content li,
.pdr-festival-cta-content p {
    font-size: 20px;
    line-height: 25px;
}

.pdr-festival-cta-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-cta-button {
    width: 278px;
}

/* pdr-festival-help */

.pdr-festival-help {
    position: relative;
}

.pdr-festival-help .pdr-container {
	max-width: 1595px;
}

.pdr-festival-help:after {
    background: url('../img/festival/black-rough-edge1.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 18px;
    width: 100%;
    bottom: -16px;
    content: '';
    left: 0;
}

.pdr-festival-help-inner {
    background: url('../img/festival/black-texture.jpg');
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

.pdr-festival-help-blocks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
    padding: 75px 25px;
}

.pdr-festival-help-block {
    background: var(--color-white);
	border-radius: 30px;
	overflow: hidden;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.pdr-festival-help-block-image img {
    display: block;
    width: 100%;
}

.pdr-festival-help-block-content-wrap {
    display: flex;
    flex-direction: column;
    padding: 25px 35px 50px;
    height: 100%;
}

.pdr-festival-help-block h3 {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    font-size: 45px;
    line-height: 38px;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: var(--prodog-black);
}

.pdr-festival-help-block h3 span {
    display: block;
}

.pdr-festival-help-block-content {
    margin-bottom: 20px;
}

.pdr-festival-help-block-content p,
.pdr-festival-help-block-content li {
    font-size: 20px;
    line-height: 25px;
}

.pdr-festival-help-block-content > :last-child {
    margin-bottom: 0;
}

a.pdr-festival-help-block-link {
    width: auto;
    margin-top: auto;
}

/* welfare */

.pdr-festival-welfare {
    background-size: cover;
    background-repeat: no-repeat;
    padding: 65px 25px 50px;
    position: relative;
}

.pdr-festival-welfare:after {
    background: url('../img/festival/white-rough-edge-1-flipped.png');
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    height: 18px;
    width: 100%;
    bottom: -16px;
    content: '';
    left: 0;
}

.pdr-festival-welfare .pdr-container {
    display: flex;
    justify-content: space-between;
}

.pdr-festival-welfare-content-wrap {
    width: 100%;
    max-width: 560px;
}

.pdr-festival-welfare-content {
	margin-bottom: 30px;
    width: 100%;
    max-width: 500px
}

.pdr-festival-welfare h2 {
    padding-bottom: 20px;
}

.pdr-festival-welfare h2,
.pdr-festival-welfare h2 span {
    font-size: 65px;
    line-height: 55px;
    margin: 0 auto 20px;
    width: 700px;
    max-width: 100%;
    text-transform: uppercase;
    position: relative;
}

.pdr-festival-welfare h2 span {
    display: block;
}

.pdr-festival-welfare h2:after {
	content: '';
	display: block;
    left: -40px;
    position: absolute;
    bottom: 0;
	width: 580px;
	height: 20px;
	background: url('../img/festival/black-underline-welfare.png') no-repeat left center;
	background-size: contain;
}

.pdr-festival-welfare-content strong {
    font-weight: 900;
    font-family: "Gotham", sans-serif;
}

.pdr-festival-welfare-content li,
.pdr-festival-welfare-content p {
    font-size: 20px;
    line-height: 25px;
}

.pdr-festival-welfare-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-welfare-image {
	width: calc(100% - 620px);
	overflow: hidden;
	border-radius: 30px;
}

.pdr-festival-welfare-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* connected */

.pdr-festival-connected {
    background: var(--prodog-yellow);
    background-image: url('../img/festival/party-dogs.jpg');
    background-repeat: no-repeat;
    background-position: right -200px bottom;
    background-size: contain;
    padding: 75px 25px 65px;
}

.pdr-festival-connected h2 {
    color: var(--prodog-black);
    text-transform: uppercase;
    font-size: 105px;
    line-height: 80px;
    margin-bottom: 60px;
    width: 100%;
    max-width: 730px;
    position: relative;
    padding-bottom: 35px;
    transform: rotate(-1deg);
}

.pdr-festival-connected h2 span {
    font-size: 105px;
    line-height: 80px;
}

.pdr-festival-connected h2:after {
	content: '';
	position: absolute;
	left: -20px;
	bottom: -7px;
	width: 680px;
	height: 20px;
	background: url('../img/festival/underline-dog-weekender.png') no-repeat center;
	background-size: contain;
}

.pdr-festival-connected-content {
	margin: 0 auto 30px;
    width: 580px;
    max-width: 100%;
    text-align: center;
}

.pdr-festival-connected-content strong {
    font-weight: 900;
    font-family: "Gotham", sans-serif;
}

.pdr-festival-connected-content li,
.pdr-festival-connected-content p {
    font-size: 20px;
    line-height: 25px;
}

.pdr-festival-connected-content > :last-child {
    margin-bottom: 0;
}

.pdr-festival-connected-follow a {
    border: none;
}

.pdr-festival-connected-follow svg {
    height: 30px;
    width: auto;
}

a.pdr-festival-connected-button {
	font-size: 38px;
	line-height: 30px;
	max-width: 575px;
	height: 90px;
	border-radius: 45px;
	box-shadow: inset 0 0 0 5px var(--prodog-yellow);
	margin: 0 0 50px;
    transform: rotate(-1deg);
}

a.pdr-festival-connected-button:hover {
	background: var(--prodog-black);
	color: var(--prodog-yellow);
	border-color: var(--prodog-black);
    box-shadow: inset 0 0 0 5px var(--prodog-black);
}

a.pdr-festival-connected-button svg {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	right: 20px;
	position: absolute;
    fill: var(--prodog-yellow);
}

.pdr-festival-connected-form {
	width: 460px;
	max-width: 100%;
	padding: 35px 35px 30px;
	background: #fff;
	border-radius: 30px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.16);
	transform: rotate(-1deg);
	box-sizing: border-box;
    margin-bottom: 45px;
}

.pdr-festival-connected-form > p {
	margin: 0 0 30px;
	font-family: "Gotham", sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	font-size: 22px;
	line-height: 25px;
	color: var(--prodog-black);
    text-align: center;
}

.pdr-festival-connected-form .hs-form-field {
	margin: 0 0 12px;
}

.pdr-festival-connected-form .hs-form-field.hs-email {
    margin-bottom: 20px;
}

.pdr-festival-connected-form label {
	display: none;
}

.pdr-festival-connected-form .input {
	margin: 0;
}

.pdr-festival-connected-form .hs-input {
	width: 100% !important;
	height: 60px;

	border: 4px solid var(--prodog-black);
	border-radius: 10px;
	background: transparent;

	padding: 0 22px;
	box-sizing: border-box;

	font-family: "Gotham", sans-serif;
	font-weight: 900;
	text-transform: none;
	font-size: 20px;
	line-height: 25px;
	color: var(--prodog-black);

	outline: none;
	box-shadow: none;
}

.pdr-festival-connected-form .hs-input::placeholder {
	color: var(--prodog-black);
	opacity: 1;
}

.pdr-festival-connected-form .hs-button {
    max-width: 100%;
    width: 405px;
	position: relative;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 30px;
	padding: 5px 20px;
	background: var(--prodog-black);
	color: var(--prodog-yellow);
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	font-size: 27px;
	line-height: 24px;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: inset 0 0 0 3px var(--prodog-yellow);
	transition: all 0.3s ease;
	border: 8px solid var(--prodog-black);
    cursor: pointer;
}

.pdr-festival-connected-form .hs-button:hover {
	background: var(--prodog-black);
	color: var(--prodog-yellow);
	border-color: var(--prodog-black);
    box-shadow: inset 0 0 0 3px var(--prodog-black);
}

.pdr-festival-connected-follow {
    width: 460px;
	max-width: 100%;
}

.pdr-festival-connected-follow-inner {
    width: 100%;
    max-width: 225px;
    margin: 0 auto;
}

p.pdr-festival-connected-follow-title {
    font-family: "Gotham", sans-serif;
	font-weight: 900;
	font-size: 25px;
	line-height: 30px;
    text-align: center;
    margin-bottom: 30px;
}

.pdr-festival-connected-follow ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.pdr-festival-connected-follow ul li {
    margin-bottom: 0;
}

p.pdr-festival-connected-hash {
    font-family: "Gotham", sans-serif;
	font-weight: 900;
	font-size: 18px;
	line-height: 25px;
    text-align: center;
    margin-bottom: 0;
}

/* faq */

.pdr-festival-faqs {
    background-size: cover;
    background-repeat: no-repeat;
    padding: 45px 25px 75px;
    position: relative;
}

.pdr-festival-faqs:before {
    background: url('../img/festival/blue-rough-edge1.png');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    height: 17px;
    width: 100%;
    top: -17px;
    content: '';
    left: 0;
}

.pdr-festival-faqs h2 {
	color: var(--color-white);
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	font-size: 65px;
	line-height: 55px;
	text-align: center;
	margin: 0 auto 70px;
	text-transform: uppercase;
	position: relative;
}

.pdr-festival-faqs h2:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -35px;
	width: 110px;
	height: 20px;
	background: url('../img/festival/small-white-underline-faq.svg') no-repeat center;
	background-size: contain;
}

.pdr-faqs .pdr-faqs-wrap{
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: 800px;
    max-width: 100%;
}

.pdr-festival-faqs-section {
    clear: both;
    margin-bottom: 40px;
}

.pdr-festival-faqs-section:last-of-type {
    margin-bottom: 0
}

.pdr-festival-faqs-section > h3 {
	color: var(--color-white);
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	font-size: 40px;
	line-height: 45px;
    margin-bottom: 20px;
    text-align: center;
}

.pdr-festival-faq {
    width: 100%;
    margin: 0 0 15px 0;
    position: relative;
}

.pdr-festival-faqs-wrap {
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}

.pdr-festival-faq > .pdr-festival-faq-question:after {
    align-items: center;
    content: '';
    background: url('../img/festival/cross.svg') no-repeat center;
	background-size: contain;
    display: flex;
    height: 24px;
    justify-content: center;
    position: absolute;
    right: 30px;
    top: calc(50% - 12px);
    width: 24px;
}

.pdr-festival-faq > .pdr-festival-faq-question:hover:after {
    background: url('../img/festival/cross-white.svg') no-repeat center;
}

.pdr-festival-faq > .pdr-festival-faq-question.open:after {
    background: url('../img/festival/minus-white.svg') no-repeat center;
}

.pdr-festival-faq > .pdr-festival-faq-question {
	align-items: center;
	background: var(--color-white);
	border: none;
	border-radius: 50px;
	color: var(--prodog-black);
    cursor: pointer;
	display: flex;
	font-family: "Gotham", sans-serif;
	font-size: 20px;
	font-weight: 900;
	min-height: 65px;
	justify-content: center;
	line-height: 30px;
	padding: 10px 70px 10px 25px;
	position: relative;
	text-align: center;
	width: 100%;
}

.pdr-festival-faq:last-of-type {
    margin-bottom: 0;
}

.pdr-festival-faq > .pdr-festival-faq-question.open,
.pdr-festival-faq > .pdr-festival-faq-question:hover{
    background: var(--prodog-black);
    color: var(--color-white);
}

.pdr-festival-faq > .pdr-festival-faq-question.open:after,
.pdr-festival-faq > .pdr-festival-faq-question:hover:after {
    color: var(--color-white);
}

.pdr-festival-faq-answer {
	border-radius: 50px;
	background: var(--color-white);
	padding: 40px;
	margin-top: 10px;
    text-align: left;
    display: none;
}

.pdr-festival-faq-answer ol,
.pdr-festival-faq-answer ul {
    list-style: disc;
    padding: 0 0 0 20px;
}

.pdr-festival-faq-answer ul {
    margin-bottom: 20px;
}

.pdr-festival-faqs-content {
	margin: 0 auto 30px;
    width: 640px;
    max-width: 100%;
    text-align: center;
}

.pdr-festival-faqs-content strong {
    font-weight: 900;
    font-family: "Gotham", sans-serif;
}

.pdr-section .pdr-festival-faq-answer li,
.pdr-section .pdr-festival-faq-answer p {
    font-size: 18px;
    line-height: 22px;
}

.pdr-festival-faq-answer > :last-child,
.pdr-festival-faqs-content > :last-child {
    margin-bottom: 0;
}

/* ticket popup */

body.pdr-popup-open {
	overflow: hidden;
}

.pdr-ticket-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(35, 31, 32, 0.92);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.pdr-ticket-popup-overlay.is-active {
	opacity: 1;
	pointer-events: auto;
}

.pdr-ticket-popup {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 9999;
	width: 1000px;
	max-width: calc(100vw - 40px);
	background: #fff;
	border-radius: 12px;
	transform: translate(-50%, -50%) scale(0.96);
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.pdr-ticket-popup.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, -50%) scale(1);
}

.pdr-ticket-popup-close {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 20;
	width: 42px;
	height: 42px;
	cursor: pointer;
    border: none;
}

.pdr-ticket-popup-top {
	position: relative;
	height: 340px;
}

.pdr-ticket-popup-top:before {
    position: absolute;
    content: '';
    height: 60%;
    background: var(--prodog-yellow);
    width: 100%;
}

.pdr-ticket-popup-brush {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	width: 100%;
	height: 150px;
	object-fit: cover;
	object-position: bottom center;
	z-index: 2;
}

.pdr-ticket-popup-dog {
	position: absolute;
	left: 50%;
	bottom: -75px;
	z-index: 3;
	width: 480px;
	max-width: 65%;
	transform: translateX(-50%);
}

.pdr-ticket-popup-content {
	position: relative;
	z-index: 4;
	padding: 65px 150px 60px;
	text-align: center;
}

.pdr-ticket-popup-content h2 {
	margin: 0 0 15px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 42px;
	line-height: 42px;
	color: var(--prodog-black);
}

.pdr-ticket-popup-intro {
	margin: 0 0 35px;
	font-size: 16px;
	line-height: 20px;
	color: var(--prodog-black);
}

.pdr-ticket-popup-ticket {
	display: grid;
	grid-template-columns: 1fr 150px;
	gap: 30px;
	align-items: center;
	margin-bottom: 22px;
	text-align: left;
}

.pdr-ticket-popup-ticket > span {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 25px;
	line-height: 20px;
	color: var(--prodog-black);
}

.pdr-ticket-qty {
	height: 42px;
	border: 2px solid var(--prodog-black);
	border-radius: 10px;
	display: grid;
	grid-template-columns: 45px 1fr 32px;
	align-items: center;
	padding: 0 10px;
}

.pdr-ticket-qty strong {
	font-family: "Gotham", sans-serif;
	font-weight: 900;
	font-size: 16px;
	line-height: 20px;
}

.pdr-ticket-qty input {
	width: 100%;
	border: 0;
	text-align: center;
	font-size: 16px;
	background: transparent;
	outline: none;
}

.pdr-ticket-qty button {
	border: 0;
	background: transparent;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
    top: -3px;
    position: relative;
}

.pdr-ticket-qty .qty-minus {
	display: none;
}

.pdr-ticket-popup-btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.pdr-ticket-popup-add {
	margin-top: 25px;
	width: 270px;
	height: 60px;
	border: 8px solid var(--prodog-black);
	border-radius: 30px;
	background: var(--prodog-black);
	box-shadow: inset 0 0 0 4px var(--prodog-yellow);
	color: var(--prodog-yellow);
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 24px;
	line-height: 24px;
	cursor: pointer;
}

.pdr-ticket-popup-add:hover {
	border: 8px solid var(--prodog-black);
	background: var(--prodog-black);
	box-shadow: inset 0 0 0 4px var(--prodog-black);
	color: var(--prodog-yellow);
}

.pdr-ticket-popup-btn-wrap .added_to_cart {
    background: var(--prodog-yellow);
    border-radius: 40px;
    color: var(--prodog-black);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 30px;
    text-transform: uppercase;
    text-decoration: none;
    width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    position: relative;
    overflow: visible;
    border: none;
}

.pdr-ticket-popup-btn-wrap .added_to_cart:hover {
    background: var(--prodog-black);
    color: var(--prodog-yellow);
}

@media only screen and (max-width: 1999px) {

    .pdr-festival-take-part-dog {
        right: -500px;
    }

    .pdr-festival-learn:before {
    	left: -215px;
    	width: 600px;
    }

    .pdr-festival-learn:after {
    	right: -215px;
    	width: 600px;
    }

}

@media only screen and (max-width: 1899px) {

    .pdr-festival-learn:before {
        left: -250px;
        width: 600px;
    }

    .pdr-festival-learn:after {
        right: -250px;
        width: 600px;
    }

}

@media only screen and (max-width: 1799px) {

    .pdr-festival-learn:before {
        left: -150px;
        width: 400px;
    }

    .pdr-festival-learn:after {
        right: -150px;
        width: 400px;
    }

    .pdr-festival-overview-inner {
        background-image: url('../img/festival/yellow-textured-background-full-size-if-needed.png');
        background-position: top -200px center;
    }

    .pdr-hero-banner-roundel {
    	left: -105px;
    }

    .pdr-festival-donations {
        background-position: bottom right;
    }

}

@media only screen and (max-width: 1699px) {

    .pdr-festival-connected {
        background-position: right -250px bottom;
    }

    .pdr-festival-overview-inner {
        background-image: url('../img/festival/yellow-textured-background-full-size-if-needed.png');
        background-position: top -100px center;
    }

    .pdr-countdown-arrow {
        display: none;
    }

    .pdr-hero-banner-roundel {
    	left: 0;
    }

}

@media only screen and (max-width: 1599px) {

    .pdr-festival-connected {
        background-position: right -350px bottom;
    }

    .pdr-festival-take-part-dog {
    	right: -400px;
    	bottom: -175px;
    	max-width: 1200px;
    }

    .pdr-festival-relax:after {
    	right: -180px;
    	width: 630px;
    }

}

@media only screen and (max-width: 1499px) {

    .pdr-festival-learn:before,
    .pdr-festival-learn:after {
        display: none;
    }

    .pdr-festival-relax:after {
    	right: -180px;
    	width: 550px;
    }

    .pdr-festival-donations {
        background-position: bottom right -200px;
    }

}

@media only screen and (max-width: 1459px) {

    .pdr-festival-connected {
        background-position: right -450px bottom;
    }

    .pdr-festival-day-out-image {
    	flex: 0 0 60%;
    	max-width: 60%;
    	width: 60%;
    }

    .pdr-festival-take-part-dog {
    	right: -300px;
    	bottom: -145px;
    	max-width: 1000px;
    }

    .pdr-festival-overview-right img {
    	max-width: 1000px;
    }

    .pdr-festival-overview-right {
    	width: calc(100% - 600px);
        padding-top: 0;
    }

    .pdr-countdown-button-wrap-right {
        display: none;
    }

    .pdr-festival-countdown-wrap .pdr-countdown-button-wrap {
        display: block;
        margin-top: 20px;
    }

    .pdr-festival-countdown .pdr-container {
    	justify-content: flex-start;
        gap: 50px;
    }

    .pdr-festival-countdown-content {
    	max-width: 100%;
    }

}

@media only screen and (max-width: 1359px) {

    .pdr-festival-connected {
        background-position: right -550px bottom;
    }

    .pdr-festival-day-out-image {
    	flex: 0 0 calc(50% - 50px);
    	max-width: calc(50% - 50px);
    	width: calc(50% - 50px);
        margin-left: 0;
    }

    .pdr-festival-day-out-image img {
        width: 170%;
        margin-left: -70%;
    }

    .pdr-festival-day-out-content-wrap {
    	flex: 0 0 50%;
    	max-width: 50%;
    	position: static;
    }

    .pdr-festival-day-out .pdr-container {
    	gap: 50px;
    }

    .pdr-festival-take-part-book {
    	background-position: center -400px;
        background-size: cover;
    	padding: 100px 25px 120px;
    }

    .pdr-festival-overview-inner {
        background-image: url('../img/festival/yellow-textured-background-full-size-if-needed.png');
        background-position: top center;
    }

}

@media only screen and (max-width: 1299px) {

    .pdr-impact-still-working-block-content-wrap,
    .pdr-impact-recycling-block-content-wrap {
        flex-direction: column;
    }

    .pdr-impact-still-working-block-content,
    .pdr-impact-recycling-block-content {
    	width: 100%;
    	padding-top: 0;
        padding-bottom: 40px;
    }

    .pdr-impact-still-working-block-image,
    .pdr-impact-recycling-block-image {
    	width: 100%;
        display: flex;
        justify-content: center;
        margin-top: auto;
    }

    .pdr-impact-still-working-block-image img,
    .pdr-impact-recycling-block-image img {
    	max-width: 200px;
    }

    .pdr-festival-help-block-content-wrap {
    	padding: 25px 25px 50px;
    }

    .pdr-festival-help-block h3 {
    	font-size: 40px;
    	line-height: 35px;
    	margin-bottom: 15px;
    }

    .pdr-festival-connected h2,
    .pdr-festival-connected h2 span {
        font-size: 90px;
        line-height: 70px;
    }

    .pdr-festival-connected h2 {
    	margin-bottom: 40px;
    	padding-bottom: 35px;
    }

    .pdr-festival-connected h2:after {
    	width: 600px;
    }

    a.pdr-festival-connected-button {
    	font-size: 35px;
    	line-height: 25px;
    	margin: 0 0 40px;
    }

    .pdr-festival-celebrate-image-left {
    	width: 250px;
    	margin-right: 30px;
    	flex: 0 0 250px;
    }

    .pdr-festival-celebrate-image-right img {
    	object-position: 75px center;
    }

    .pdr-festival-take-part-pass-left h3, .pdr-festival-take-part-pass-right h3 {
    	font-size: 80px;
    	line-height: 65px;
    	margin: 0 0 15px;
    }

    .pdr-festival-take-part-pass-content {
    	max-width: 275px;
    	margin-bottom: 10px;
    }

    .pdr-festival-take-part-pass-price {
    	font-size: 75px;
    	line-height: 75px;
    }

    .pdr-festival-take-part-pass-left, .pdr-festival-take-part-pass-right {
    	width: 450px;
    	height: 450px;
    }

    .pdr-festival-relax:after,
    .pdr-festival-learn:before,
    .pdr-festival-learn:after{
        display: none;
    }

}

@media only screen and (max-width: 1250px) {

    .pdr-hero-banner,
    .pdr-festival-countdown,
    .pdr-festival-overview-inner,
    .pdr-festival-take-part .pdr-container,
    .pdr-festival-partners,
    .pdr-festival-connected,
    .pdr-festival-cta,
    .pdr-festival-help-blocks,
    .pdr-festival-help,
    .pdr-festival-welfare,
    .pdr-festival-faqs {
        padding-left: 0;
        padding-right: 0;
    }

    .pdr-festival-welfare-image {
    	width: calc(100% - 580px);
    }

    .pdr-festival-connected {
    	background-position: right -650px bottom;
    }

    .pdr-festival-partners-loop {
    	gap: 25px;
    }

    .pdr-festival-take-part-dog {
    	right: -250px;
    	bottom: -120px;
    	max-width: 800px;
    }

    .pdr-festival-donations {
        background-position: bottom left;
    }

}

@media only screen and (max-width: 1199px) {

    .pdr-festival-take-part-location-overlay {
    	width: 300px;
    	min-height: 430px;

    	padding: 170px 55px 115px;
    	pointer-events: none;
    }

    .pdr-festival-take-part-location-title {
    	font-size: 30px;
    	line-height: 30px;
    }

    .pdr-festival-take-part-location-address p {
    	font-size: 18px;
    	line-height: 22px;
    }

    .pdr-festival-take-part-dog {
        display: none;
    }

    .pdr-festival-take-part-book {
    	padding: 100px 25px 50px;
    }

    .pdr-festival-relax-inner,
    .pdr-festival-learn-inner {
    	padding-bottom: 80px;
    }

    .pdr-hero-banner {
    	background-position: bottom right -350px;
    }

    .pdr-hero-banner-lower-box-1 {
    	width: 175px;
    }

    .pdr-hero-banner-lower-box-2 {
    	width: 240px;
    }

    .pdr-hero-banner-lower-logos-wrap {
        width: calc(100% - 575px);
    }

    .pdr-hero-banner-lower-logos {
    	gap: 30px;
        width: 100%;
        justify-content: flex-start;
    }

    .pdr-hero-banner-lower-logos img {
    	display: block;
    	width: auto;
    	max-width: calc(50% - 15px);
    	max-height: 55px;
    	height: auto;
    	object-fit: contain;
    }

}

@media only screen and (max-width: 1099px) {

    .pdr-festival-celebrate-content-wrap h2,
    .pdr-festival-celebrate-content-wrap h2 span,
    .pdr-festival-welfare h2,
    .pdr-festival-welfare h2 span {
    	font-size: 55px;
    	line-height: 45px;
    	margin: 0 auto 10px;
    }

    .pdr-festival-welfare h2::after {
    	left: -20px;
    	width: 90%;
    }

    .pdr-festival-welfare-content-wrap,
    .pdr-festival-welfare-image {
    	max-width: 50%;
    }

    .pdr-festival-welfare-image {
    	width: calc(50% - 20px);
    }

    .pdr-festival-help-blocks {
		grid-template-columns: repeat(2, minmax(0, 50%));
		justify-content: center;
	}

	.pdr-festival-help-block:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: 100%;
		max-width: 50%;
	}

    .pdr-festival-connected {
    	background-image: none;
    }

    .pdr-festival-connected .pdr-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .pdr-festival-take-part-book h2,
    .pdr-festival-take-part-book h2 span {
    	font-size: 85px;
    	line-height: 65px;
    	padding-bottom: 30px;
    }

    .pdr-festival-connected h2 {
        text-align: center;
    }

    .pdr-festival-connected h2:after {
    	left: 50%;
        transform: translateX(-50%);
    }

    .pdr-festival-celebrate-image-left {
        width: 200px;
        margin-right: 25px;
        flex: 0 0 200px;
    }

    .pdr-festival-celebrate-image-right img {
        object-position: 100px center;
    }

    .pdr-festival-celebrate .pdr-container {
    	padding: 50px 0;
    }

    .pdr-festival-celebrate-content p, .pdr-festival-celebrate-content li {
    	font-size: 35px;
    	line-height: 30px;
    }

    .pdr-festival-celebrate-content p br {
    	display: none;
    }

    .pdr-festival-day-out h2 span {
        display: inline;
    }

    .pdr-festival-day-out h2::after {
    	width: 100%;
    }

    .pdr-festival-take-part-content h3 {
    	font-size: 40px;
    }

    .pdr-festival-take-part-content p, .pdr-festival-take-part-content li {
    	font-size: 22px;
    	line-height: 25px;
    }

    .pdr-festival-relax-polaroids {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 45px 35px;
    }

    .pdr-festival-overview-inner {
        background-color: var(--prodog-yellow);
    }

    .pdr-festival-overview .pdr-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .pdr-festival-overview-right img {
        position: static;
        width: 100%;
    }

    .pdr-festival-overview-content {
        margin-bottom: 30px;
    }

    .pdr-festival-overview-left {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .pdr-festival-overview-right {
        width: 100%;
        max-width: 700px;
    }

    .pdr-festival-countdown h2 {
    	font-size: 45px;
    }

    .pdr-festival-countdown-content {
    	font-size: 25px;
    }

    .pdr-hero-banner {
        background-image: url('../img/festival/landing-page-hero-mobile.jpg') !important;
    	background-position: bottom center;
        padding-bottom: 700px;
    }

    .pdr-hero-banner-content-right {
    	justify-content: flex-start;
    }

    .pdr-hero-banner-roundel {
        left: auto;
    	right: 20px;
    }

    .pdr-hero-banner-right {
        margin-left: 20px;
    }

    .pdr-festival-donations-details {
    	padding-right: 190px;
        padding-left: 50px;
    }

    .pdr-festival-donations-button-wrap:before {
    	left: 50px;
    }

    .pdr-festival-donations-button-wrap:after {
    	right: 50px;
    }

}

@media only screen and (max-width: 1025px) {

    .pdr-festival-countdown .pdr-container {
        flex-direction: column;
        text-align: center;
    }

}

@media only screen and (max-width: 992px) {

    .pdr-festival-celebrate,
    .pdr-festival-celebrate .pdr-container {
        flex-direction: column;
        gap: 25px;
        text-align: center;
    }

    .pdr-festival-celebrate-image-right {
        position: static;
        width: 100%;
        height: 400px;
    }

    .pdr-festival-celebrate-image-right img {
    	object-position: center;
    }

    .pdr-festival-celebrate-image-left {
    	margin-right: 0;
    }

    .pdr-festival-celebrate-content-wrap {
        width: 100%;
        max-width: 590px;
    }

    .pdr-festival-day-out .pdr-container {
        flex-direction: column-reverse;
        text-align: center;
    }

    .pdr-festival-day-out-image {
    	flex: 0;
    	max-width: 100%;
    	width: 100%;
    }

    .pdr-festival-day-out-image img {
    	width: 100%;
        max-width: 500px;
    	margin: 0 auto;
    }

    .pdr-festival-day-out-content-wrap {
    	flex: 0;
    	max-width: 100%;
    }

    .pdr-festival-day-out h2:after {
    	left: 50%;
    	transform: translateX(-50%);
    }

    .pdr-festival-take-part-location-overlay {
    	width: 275px;
    }

    .pdr-festival-take-part-location-title {
    	font-size: 25px;
    	line-height: 25px;
        margin-bottom: 10px;
    }

    .pdr-festival-take-part-location-address p {
    	font-size: 16px;
    	line-height: 18px;
    }

    .pdr-festival-take-part-passes {
    	left: 0;
    }

    .pdr-festival-take-part-pass-left h3, .pdr-festival-take-part-pass-right h3 {
    	font-size: 60px;
    	line-height: 50px;
    }

    .pdr-festival-take-part-pass-left, .pdr-festival-take-part-pass-right {
    	width: 400px;
    	height: 400px;
    }

    .pdr-hero-banner {
    	background-position: bottom -100px center;
    	padding-bottom: 500px;
    }

    .pdr-hero-banner-roundel {
        width: 200px;
    }

    .pdr-hero-banner-roundel img {
        width: 100%;
    }

    .pdr-hero-banner-lower-box-1 {
    	width: 150px;
    }

    .pdr-hero-banner-lower-box-2 {
    	width: 200px;
    }

    .pdr-hero-banner-lower-logos-wrap {
    	width: calc(100% - 475px);
    }

}

@media only screen and (max-width: 899px) {

    .pdr-festival-welfare .pdr-container {
        flex-direction: column;
    }

    .pdr-festival-welfare h2,
    .pdr-festival-welfare h2 span {
    	margin: 0 0 10px;
    }

    .pdr-festival-welfare-content-wrap,
    .pdr-festival-welfare-image {
    	width: 100%;
        max-width: 100%;
    }

    .pdr-festival-welfare h2::after {
    	max-width: 480px;
    }

    .pdr-festival-welfare-content-wrap {
        margin-bottom: 40px;
    }

    .pdr-festival-connected h2 {
    	margin-bottom: 30px;
    	padding-bottom: 30px;
    }

    .pdr-festival-connected h2,
    .pdr-festival-connected h2 span {
    	font-size: 75px;
    	line-height: 60px;
    }

    .pdr-festival-connected h2:after {
    	width: 530px;
    }

    .pdr-festival-partners-loop {
        display: flex;
    	gap: 25px;
        align-items: center;
        flex-direction: column;
    }

    .pdr-festival-partner {
        max-width: 500px;
    }

    .pdr-festival-whatson-form form {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 400px;
    }

    .acf-map {
    	height: 500px;
    }

    .pdr-hero-banner-roundel {
        display: none;
    }

    .pdr-hero-banner-lower-box-1 {
    	width: 130px;
    }

    .pdr-hero-banner-lower-box-2 {
    	width: 180px;
    }

    .pdr-hero-banner-lower-logos-wrap {
    	width: calc(100% - 425px);
    }

    .pdr-section .pdr-hero-banner-lower-logos-wrap p {
    	font-size: 18px;
    	line-height: 18px;
    	margin-bottom: 0;
    }

    .pdr-hero-banner-lower-logos {
    	gap: 20px;
    }

    .pdr-festival-donations-content-left img {
        width: 200px;
    }

    .pdr-festival-donations h2 {
    	margin-bottom: 20px;
    	padding-bottom: 25px;
    }

    .pdr-festival-donations h2,
    .pdr-festival-donations h2 span {
        font-size: 50px;
    	line-height: 45px;
    }

    .pdr-festival-donations-content li, .pdr-festival-donations-content p {
    	font-size: 32px;
    	line-height: 32px;
    }

    .pdr-festival-donations-content-right {
        width: calc(100% - 240px);
    }

    .pdr-festival-donations h2:after {
    	width: 450px;
    }

    .pdr-festival-donations-suggested-item {
    	width: 275px;
    	height: 275px;
    	flex: 0 0 275px;
    	padding: 40px 20px;
    }

    p.pdr-festival-donations-suggested-amount {
    	margin: 0 0 15px;
    	font-size: 75px;
    	line-height: 70px;
    }

    .pdr-festival-donations-details {
    	padding: 30px 75px;
    	background-image: none;
    }

    .pdr-festival-donations-button-wrap:before {
    	left: 0;
    }

    .pdr-festival-donations-button-wrap:after {
    	right: 0;
    }

}

@media only screen and (max-width: 799px) {

    .pdr-festival-donations-button-wrap:before,
    .pdr-festival-donations-button-wrap:after {
        display: none;
    }

    .pdr-festival-donations-details {
    	padding: 30px 45px;
    }

    .pdr-ticket-popup-tickets {
        margin: 0 auto;
        width: 100%;
        max-width: 390px;
    }

    .pdr-ticket-popup-ticket {
    	display: flex;
        flex-direction: column;
    	gap: 10px;
    }

    .pdr-ticket-popup-ticket > span {
        text-align: center;
    }

    .pdr-ticket-popup-ticket span span {
        display: block;
    }

    .pdr-ticket-qty {
    	width: 100%;
    	max-width: 200px;
    }

}

@media only screen and (max-width: 767px) {

    .pdr-festival-relax h2,
    .pdr-festival-relax h2 span,
    .pdr-festival-learn h2,
    .pdr-festival-learn h2 span,
    .pdr-festival-active h2,
    .pdr-festival-active h2 span,
    .pdr-festival-take-part-book h2,
    .pdr-festival-take-part-book h2 span,
    .pdr-festival-whatson h2,
    .pdr-festival-day-out h2,
    .pdr-festival-day-out h2 span,
    .pdr-festival-partners h2,
    .pdr-festival-partners h2 span,
    .pdr-festival-welfare h2,
    .pdr-festival-welfare h2 span,
    .pdr-festival-faqs h2 {
    	font-size: 50px;
    	line-height: 45px;
    }

    .pdr-festival-overview-left h2 {
        font-size: 45px;
        line-height: 40px;
    }

    .pdr-section.pdr-hero-banner h1 {
    	font-size: 60px;
    	line-height: 60px;
        padding-bottom: 25px;
    }

    .pdr-hero-banner h1:after {
    	width: 410px;
    }

    .pdr-hero-banner-pdr-logo {
    	width: 450px;
        max-width: 100%;
    }

    .pdr-hero-banner p.pdr-hero-banner-subtitle {
    	font-size: 45px;
    	line-height: 40px;
    }

    .pdr-hero-banner {
    	background-position: bottom 0 center;
    	padding-bottom: 400px;
    }

    .pdr-hero-banner p {
    	font-size: 25px;
    	line-height: 25px;
    }

    .pdr-hero-banner-content-right {
        max-width: 100%;
    }

    .pdr-hero-banner-right {
    	margin-left: 0;
    }

    .pdr-festival-active-popup-text p, .pdr-festival-active-popup-text li,
    .pdr-festival-take-part-content p, .pdr-festival-take-part-content li,
    .pdr-festival-whatson-content li, .pdr-festival-whatson-content p,
    .pdr-festival-day-out-content p, .pdr-festival-day-out-content li,
    .pdr-festival-partners-content li, .pdr-festival-partners-content p,
    .pdr-festival-cta-content li, .pdr-festival-cta-content p,
    .pdr-festival-help-block-content p, .pdr-festival-help-block-content li,
    .pdr-festival-welfare-content li, .pdr-festival-welfare-content p {
    	font-size: 18px;
    	line-height: 22px;
    }

    .pdr-festival-overview-content p, .pdr-festival-overview-content li,
    .pdr-festival-relax-content p, .pdr-festival-relax-content li,
    .pdr-festival-learn-content p, .pdr-festival-learn-content li,
    .pdr-festival-active-content p, .pdr-festival-active-content li {
    	font-size: 25px;
    	line-height: 25px;
    }

    .pdr-festival-donations,
    .pdr-festival-take-part-book {
    	padding: 35px 25px;
    }

    .pdr-festival-donations,
    .pdr-festival-countdown,
    .pdr-festival-overview-left,
    .pdr-festival-whatson-inner,
    .pdr-festival-day-out,
    .pdr-festival-partners,
    .pdr-festival-connected,
    .pdr-festival-cta,
    .pdr-festival-help-blocks,
    .pdr-festival-welfare {
    	padding: 35px 0;
    }

    .pdr-festival-celebrate .pdr-container {
    	padding: 35px 0 50px;
    }

    .pdr-festival-help-block h3 {
    	font-size: 35px;
    	line-height: 30px;
    }

    .pdr-festival-overview-left h2,
    .pdr-festival-relax h2,
    .pdr-festival-learn h2,
    .pdr-festival-active h2,
    .pdr-festival-take-part-book h2,
    .pdr-festival-whatson h2,
    .pdr-festival-day-out h2,
    .pdr-festival-partners h2 {
    	padding-bottom: 20px;
    }

    .pdr-festival-partners h2:after {
    	width: 100%;
        max-width: 600px;
    }

    .pdr-festival-overview-left h2,
    .pdr-festival-relax h2,
    .pdr-festival-learn h2,
    .pdr-festival-active h2,
    .pdr-festival-whatson h2 {
    	margin-bottom: 25px;
    }

    .pdr-festival-relax h2:after,
    .pdr-festival-learn h2:after,
    .pdr-festival-active h2:after,
    .pdr-festival-take-part-book h2:after,
    .pdr-festival-whatson h2:after {
    	width: 230px;
    }

    .pdr-festival-overview-left h2:after {
        max-width: 100%;
        left: 0;
    }

    .pdr-festival-partners-content h3 {
    	font-size: 35px;
    	line-height: 30px;
    	margin-bottom: 10px;
    }

    .pdr-festival-partners-content {
    	margin-bottom: 35px;
    }

    .pdr-festival-whatson-content br {
        display: none;
    }

    .pdr-festival-take-part-location-overlay {
        display: none;
    }

    .acf-map {
    	height: 400px;
    }

    .pdr-festival-take-part-content-wrap::before {
    	width: 1000px;
    	height: 275px;
    	left: -325px;
    }

    .pdr-festival-take-part-content {
    	margin-bottom: 80px;
    }

    .pdr-festival-take-part-pass-left h3, .pdr-festival-take-part-pass-right h3 {
    	font-size: 50px;
    	line-height: 40px;
    }

    .pdr-festival-take-part-pass-content {
    	font-size: 18px;
    	line-height: 20px;
    }

    .pdr-festival-take-part-pass-price {
    	font-size: 65px;
    	line-height: 55px;
    }

    .pdr-festival-take-part-pass-left, .pdr-festival-take-part-pass-right {
    	width: 340px;
    	height: 340px;
    }

    .pdr-festival-take-part-book h2 {
    	margin-bottom: 10px;
    	padding-bottom: 20px;
    }

    .pdr-festival-take-part-content h3 {
    	margin-bottom: 10px;
    }

    .pdr-festival-relax-content,
    .pdr-festival-active-content {
    	margin-bottom: 30px;
    }

    .pdr-festival-popup {
    	padding: 20px 20px 35px;
    }

    .pdr-festival-popup-close {
    	top: 10px;
    	right: 10px;
    }

    .pdr-festival-active-popup-inner {
    	padding: 25px 0 0;
    }

    .pdr-festival-active-popup-inner h2 {
        text-align: left;
    }

    .pdr-festival-active-popup-text {
        margin-bottom: 0;
    }

    .pdr-festival-relax-inner,
    .pdr-festival-learn-inner {
    	padding-bottom: 50px;
    }

    .pdr-festival-donations-suggested-item {
    	width: 230px;
    	height: 230px;
    	flex: 0 0 230px;
    	padding: 50px 10px;
    }

    p.pdr-festival-donations-suggested-amount {
    	margin: 0 0 10px;
    	font-size: 60px;
    	line-height: 50px;
    }

    p.pdr-festival-donations-suggested-content {
    	margin: 0;
    	font-size: 25px;
    	line-height: 25px;
    	min-height: 80px;
    }

    .pdr-festival-donations h2:after {
    	width: 100%;
    }

    .pdr-festival-donations h2, .pdr-festival-donations h2 span {
    	font-size: 45px;
    	line-height: 40px;
    }

    .pdr-festival-donations h2 {
    	margin-bottom: 15px;
    	padding-bottom: 20px;
    }

    .pdr-festival-donations-content li, .pdr-festival-donations-content p {
    	font-size: 27px;
    	line-height: 26px;
    }

    .pdr-festival-donations-content-left img {
    	width: 150px;
    }

    p.pdr-festival-donations-made,
    p.pdr-festival-donations-raised {
        flex-direction: column;
        text-align: center;
        line-height: 25px;
    }

    p.pdr-festival-donations-raised {
        margin-bottom: 20px;
        font-size: 25px;
    }

    p.pdr-festival-donations-made {
    	gap: 10px;
    }

    p.pdr-festival-donations-raised span {
    	padding: 3px 20px;
    }

}

@media only screen and (max-width: 699px) {

    .pdr-impact-approach-block-left-bottom-content,
    .pdr-impact-approach-block-left-top-content {
    	padding: 30px 25px;
    }

    .pdr-festival-faq > .pdr-festival-faq-question {
    	border-radius: 30px;
    	font-size: 18px;
    	line-height: 22px;
    	padding-right: 50px;
        text-align: left;
    }

    .pdr-festival-faq > .pdr-festival-faq-question::after {
    	height: 20px;
    	right: 15px;
    	top: calc(50% - 10px);
    	width: 20px;
    }

    .pdr-festival-faq-answer {
    	padding: 25px;
    }

    .pdr-festival-active-popup-text p, .pdr-festival-active-popup-text li,
    .pdr-section p.pdr-festival-partner-intro-content,
    .pdr-section .pdr-festival-faq-answer li,
    .pdr-section .pdr-festival-faq-answer p {
    	font-size: 16px;
    	line-height: 22px;
    }

    .pdr-festival-welfare-image {
        height: 200px;
    }

    .pdr-festival-connected-form .hs-button {
    	height: 50px;
    	font-size: 20px;
    	line-height: 20px;
    	box-shadow: inset 0 0 0 2px var(--prodog-yellow);
    	border: 5px solid var(--prodog-black);
    }

    a.pdr-festival-take-part-button {
        border: 5px solid var(--prodog-yellow);
    	box-shadow: inset 0 0 0 3px var(--prodog-black);
    	font-size: 35px;
    	line-height: 25px;
    	height: 75px;
    }

    a.pdr-festival-take-part-button svg {
    	width: 30px;
    	height: 30px;
    	right: 15px;
    }

    a.pdr-festival-overview-button {
        height: 65px;
    	font-size: 30px;
    	line-height: 25px;
    	box-shadow: inset 0 0 0 2px var(--prodog-yellow);
    	border: 5px solid var(--prodog-black);
    }

    .pdr-festival-overview-left a.pdr-donate-button {
        height: auto;
        font-size: 27px;
        line-height: 24px;
        box-shadow: inset 0 0 0 3px var(--prodog-yellow);
        border: 8px solid var(--prodog-black);
    }

    .pdr-festival-welfare-content-wrap {
    	margin-bottom: 30px;
    }

    .pdr-festival-help-blocks {
        grid-template-columns: 1fr;
    }

    .pdr-festival-help-block:last-child:nth-child(odd) {
		max-width: 100%;
	}

    .pdr-festival-help-block-content-wrap {
    	padding: 25px;
    }

    .pdr-festival-cta .pdr-container {
        flex-direction: column;
        text-align: center;
    }

    .pdr-festival-cta h2 {
        width: 85%;
        max-width: 450px;
        margin: 0 auto;
    }

    .pdr-festival-cta-content {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    .pdr-festival-connected h2,
    .pdr-festival-connected h2 span {
    	font-size: 60px;
    	line-height: 50px;
    }

    .pdr-festival-connected h2 {
    	margin-bottom: 25px;
    	padding-bottom: 20px;
    }

    .pdr-festival-connected h2:after {
    	width: 430px;
    }

    a.pdr-festival-connected-button {
    	max-width: 375px;
    }

    a.pdr-festival-connected-button svg {
    	width: 30px;
    	height: 30px;
    	right: 20px;
    }

    .pdr-festival-take-part-passes {
        flex-direction: column;
    }

    .pdr-festival-relax-icons,
    .pdr-festival-active-icons {
    	gap: 10px;
        margin-bottom: 40px;
    }

    .pdr-festival-relax-icons img,
    .pdr-festival-active-icons img {
    	width: calc(20% - 5px);
    }

    .pdr-festival-active-popup-inner h2 {
    	margin-bottom: 20px;
    	font-size: 25px;
    	line-height: 25px;
    }

    .pdr-section p.pdr-hero-banner-logo-title {
    	padding: 4px 12px;
    	font-size: 14px;
    	line-height: 15px;
    }


    .pdr-hero-banner-lower-items {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        align-items: center;
    }

    .pdr-hero-banner-lower-box-1, .pdr-hero-banner-lower-box-2 {
    	width: calc(50% - 70px);
    }

    .pdr-hero-banner-lower-logos-wrap {
        width: 100%;
    }

    .pdr-hero-banner-lower-items .pdr-divider-last {
        display: none;
    }

    .pdr-festival-donations-content-left {
        display: none;
    }

    .pdr-festival-donations-content-right {
    	width: 100%;
    }

    a.pdr-festival-donations-button span svg {
    	width: 25px;
    }

    a.pdr-festival-donations-button span {
    	right: 15px;
    	top: 23px;
    }

    .pdr-festival-donations-suggested-loop {
        flex-direction: column;
        align-items: center;
    }

    .pdr-ticket-popup-dog {
    	bottom: -57px;
    }

    .pdr-ticket-popup-content {
    	padding: 65px 50px 60px;
    }

    .pdr-ticket-popup-top {
    	height: 240px;
    }

}

@media only screen and (max-width: 599px) {

    .pdr-section.pdr-hero-banner h1 {
    	font-size: 45px;
    	line-height: 45px;
    }

    .pdr-hero-banner p.pdr-hero-banner-subtitle {
    	font-size: 35px;
    	line-height: 32px;
    }

    .pdr-hero-banner-left {
    	padding: 65px 0;
    }

    .pdr-impact-packaging-block-1 .pdr-impact-packaging-block-image, .pdr-impact-packaging-block-image {
    	height: 250px;
    }

    .pdr-festival-partners h2, .pdr-festival-partners h2 span,
    .pdr-festival-welfare h2, .pdr-festival-welfare h2 span,
    .pdr-festival-faqs h2 {
    	font-size: 45px;
    	line-height: 40px;
    }

    .pdr-festival-partners h2 span {
        display: inline;
    }

    .pdr-festival-welfare h2::after {
    	max-width: 400px;
    }

    .pdr-festival-partner h3 {
    	font-size: 25px;
    	line-height: 30px;
    }

    .pdr-section p.pdr-festival-partner-intro-line {
    	font-size: 18px;
    	line-height: 22px;
    }

    .pdr-festival-partner-content-wrap {
    	padding: 10px 25px 25px;
    }

    .pdr-festival-celebrate {
    	padding: 0;
    }

    .pdr-festival-celebrate-content-wrap {
        padding: 0 25px;
    }

    .pdr-festival-celebrate-content-wrap h2, .pdr-festival-celebrate-content-wrap h2 span {
    	font-size: 45px;
    	line-height: 40px;
    }

    .pdr-festival-celebrate-content p, .pdr-festival-celebrate-content li {
    	font-size: 30px;
    	line-height: 25px;
    }

    .pdr-festival-celebrate-image-right {
    	aspect-ratio: 1 / 1;
    	overflow: hidden;
    	display: flex;
    	align-items: flex-end;
        height: 300px;
    }

    .pdr-festival-celebrate-image-right img {
    	width: 100%;
    	height: 100%;
    	object-fit: cover;
    	object-position: center bottom;
    	display: block;
    }

    .pdr-festival-celebrate-content-wrap h2 span {
        display: inline;
    }

    .pdr-festival-countdown h2 {
    	font-size: 45px;
        line-height: 40px;
    }

    .pdr-festival-countdown-content {
    	font-size: 25px;
        line-height: 25px;
    }

    .pdr-festival-countdown .pdr-container {
    	gap: 25px;
    }

    .pdr-countdown-button img {
        width: 100%;
    }

    .pdr-festival-countdown-time span {
    	font-size: 50px;
    	line-height: 40px;
    }

    .pdr-festival-countdown-time > div {
    	height: 100px;
    	gap: 1px;
    	font-size: 25px;
    }

    .pdr-section p.pdr-hero-banner-logo-title {
    	padding: 3px 12px;
    	font-size: 10px;
    	line-height: 15px;
    }

    .pdr-hero-banner-logo,
    .pdr-hero-banner-logo.is-active {
        flex: 0 0 calc((100% - 32px) / 4);
        max-width: calc((100% - 32px) / 4);
        width: calc((100% - 32px) / 4);
    }

    .pdr-hero-banner-date, .pdr-hero-banner-location {
    	display: inline-flex;
    }

    .pdr-hero-banner-date-location {
    	width: 100%;
    	height: 135px;
    	left: 0;
    	padding: 20px 0 0 50px;
    }

    .pdr-hero-banner-date {
    	font-size: 45px;
    	line-height: 40px;
    }

    .pdr-hero-banner-location {
    	font-size: 18px;
    }

    .pdr-hero-banner-location:before,
    .pdr-hero-banner-date:before {
    	width: 25px;
        margin-right: 10px;
    }

    .pdr-hero-banner-date, .pdr-hero-banner-location {
    	gap: 10px;
    }

    .pdr-hero-banner-lower-box-1, .pdr-hero-banner-lower-box-2 {
    	width: calc(50% - 30px);
    }

    .pdr-festival-faqs-section > h3 {
    	font-size: 35px;
    	line-height: 40px;
    	margin-bottom: 15px;
    }

}


@media only screen and (max-width: 499px) {

    .pdr-hero-banner h1:after {
    	width: 100%;
    }

    .pdr-impact-take-action-blocks {
    	grid-template-columns: repeat(1, 1fr);
    }

    .pdr-festival-connected h2,
    .pdr-festival-connected h2 span {
    	font-size: 45px;
    	line-height: 40px;
    }

    .pdr-festival-connected h2:after {
    	width: 90%;
    }

    .pdr-festival-connected h2 {
    	padding-bottom: 15px;
    }

    a.pdr-festival-connected-button {
    	margin: 0 0 30px;
    }

    .pdr-festival-connected-form > p {
    	margin: 0 0 20px;
    	font-size: 20px;
    	line-height: 22px;
    }

    .pdr-festival-connected-form .hs-input {
    	height: 50px;
    	font-size: 18px;
    	line-height: 22px;
    }

    .pdr-festival-partner-logo img {
        max-width: 100%;
    }

    .pdr-festival-take-part-content-wrap {
    	padding: 50px 0 0 0;
    }

    .pdr-festival-take-part-content-wrap::before {
    	height: 300px;
    }

    .pdr-festival-take-part-content h3 {
    	font-size: 31px;
    }

    a.pdr-festival-take-part-button svg {
        display: none;
    }

    .pdr-hero-banner-date {
    	font-size: 33px;
    	line-height: 30px;
        margin-bottom: 0;
    }

    .pdr-hero-banner-location {
    	font-size: 14px;
        line-height: 16px;
    }

    .pdr-hero-banner-date-location {
        background: none;
    	height: auto;
    	padding: 15px 0;
    }

    .pdr-hero-banner-location::before, .pdr-hero-banner-date::before {
    	margin-right: 0;
    }

    a.pdr-hero-button {
    	font-size: 35px;
    	line-height: 30px;
    }

    .pdr-festival-donations-suggested-title::before, .pdr-festival-donations-suggested-title::after {
        display: none;
    }

    .pdr-ticket-popup-content {
    	padding: 25px 25px 30px;
    }

    .pdr-ticket-popup-content h2 {
    	font-size: 30px;
    	line-height: 30px;
        margin: 0 0 10px;
    }

    .pdr-ticket-popup-content br {
        display: none;
    }

    .pdr-ticket-popup-ticket span span {
    	display: inline;
    }

    .pdr-ticket-popup-dog {
    	bottom: -20px;
        width: 130px;
    }

    .pdr-ticket-popup-top {
    	height: 100px;
    }

    .pdr-ticket-popup-intro {
    	margin: 0 0 20px;
    	font-size: 14px;
    	line-height: 18px;
    }

    .pdr-ticket-popup-add {
    	margin-top: 10px;
    }

    .pdr-ticket-popup-ticket > span {
    	font-size: 18px;
    	line-height: 16px;
    }

    .pdr-ticket-popup-ticket {
    	margin-bottom: 17px;
    }

}
