html { -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
body { font-size: 1.0rem; font-family: 'Poppins', sans-serif; color: #504f4f; background-color: #fff; margin: 0; padding: 0; -webkit-text-size-adjust: 100%; }
body.purple-bg { background: linear-gradient(#30264b 75%, #9E8ECB 150%); }
img { border: 0; max-width: 100%; height: auto; display: block; }
input[type="text"], input[type="number"], input[type="password"], input[type="email"], input[type="tel"], select { -webkit-appearance: none; background-color: #fff; border: 0; height: 40px; width: 100%; padding: 0 0 0 10px; color: #666; border: 1px solid #e8e8e8; border-radius: 3px; margin-top: 10px; font-family: 'Source Sans Pro', sans-serif; }
textarea { background-color: #fff; border: 0; height: 122px; width: 100%; padding: 10px 0 0 10px; color: #666; border-radius: 0; border: 1px solid #e8e8e8; border-radius: 3px; margin: 15px 0; font-family: 'Poppins', sans-serif; }
select { -webkit-appearance: menulist; }

.inline-link.yellow:hover { color: #fff; }
.inline-link.purple:hover { color: #FCB54C !important; }
.inline-link:hover { color: #30264b; }
.massilia { font-family: "massilia", sans-serif; }

h1, h2, h3 { font-family: "massilia", sans-serif; }
h1 { color: #FCB54C; font-size: 5rem; margin: 0px; line-height: 0.85; font-family: "massilia", sans-serif; font-weight: 900; }
h1.sml { font-size: 3.75rem; }
h2 { font-weight: 600; margin: 30px 0px; line-height: 1; font-size: 2.1875rem; line-height: 1.2; }
h3 { font-weight: 500; margin: 15px 0px; line-height: 1; font-size: 1.375rem; line-height: 1.2; }

/* TEXT STYLING */
.text.sml { font-size: 0.9rem; }
.text.sml-ish { font-size: 0.95rem; }
.text h3 { font-size: 1.4rem; color: #26bcd6; }


/* LIST STYLING */
ul { padding-left: 15px; }
ul li { margin-bottom: 15px; }
ul li::marker { color: #fcb54c; }

.faqs ul.faq li.q { margin-bottom: unset; }



/* BACKGROUNDS */
.purple-gradient-bg { background: transparent linear-gradient(180deg, #30264B 75%, #EBEBEB 220%) 0% 0% no-repeat padding-box; }
.purple-gradient-bg-md { background: transparent linear-gradient(180deg, #30264B 62%, #EBEBEB 240%) 0% 0% no-repeat padding-box; }
.purple-gradient-bg-lg { background: transparent linear-gradient(180deg, #30264B 45%, #EBEBEB 220%) 0% 0% no-repeat padding-box; }

/* OVERLAPPING BACKGROUND STYLING */
.page .overlap-bg-section { }
.page .overlap-bg-section .content.container { position: relative; z-index: 3; }
.page .overlap-bg-section .purple-curve-top { position: absolute; height: 410px; width: 100%; background-color: #30264b; z-index: 0; margin-top: -2px; }
.page .overlap-bg-section .purple-curve-top.lg { position: absolute; height: 600px; width: 100%; background-color: #30264b; z-index: 0; margin-top: -2px; }
.page .overlap-bg-section .purple-curve-top.sm { height: 250px; }
.page .overlap-bg-section .purple-curve-btm { position: absolute; bottom: -40px; height: 500px; width: 100%; background-color: #30264b; z-index: 1; }
.page .overlap-bg-section .purple-curve-btm.lg { position: absolute; bottom: -160px; height: 600px; width: 100%; background-color: #30264B; z-index: 0; }
.page .overlap-bg-section .white-fill-btm { position: absolute; left: 0; bottom: 0; width: 100%; height: 50px; z-index: 0; background-color: #fff; }


#enquiryform h2 { font-size: 2.1875rem; }



/* TRADE PRICELIST FORM */
.trade-pricelist { display: grid; background-color: #fff; padding: unset !important; border: 3px solid #30264B; border-radius: 16px; position: relative; z-index: 2; box-shadow: #30264bee 6px 5px; }
.trade-pricelist .info { max-width: 500px; }
.trade-pricelist .info p, .trade-pricelist .info p > div { font-size: 1rem; }
.trade-pricelist .info p { margin-bottom: 10px; }
.trade-pricelist .title { font-size: 2.25rem; font-weight: 900; font-family: "massilia", sans-serif; line-height: 1.2; }
.trade-pricelist .first-col { display: flex; display: flex; flex-wrap: wrap; justify-content: center; gap: 25px; }
.trade-pricelist .second-col .inner { display: flex; flex-direction: column; justify-content: center; padding: 0 50px; height: 100%; gap: 20px; }
.trade-pricelist .second-col.area1 { background-color: #E9E9E9; padding-bottom: 10px; }
.trade-pricelist .second-col.area2 { background-color: #fcb54c; }
.trade-pricelist .editor-field input[type=text] { border: 2px solid #000; font-size: 1.125rem; }
.trade-pricelist .form-shadow { position: absolute; width: 95%; height: 100%; background-color: #30264B; z-index: 1; }

.page.custom-pennants h2, .page.wire-badges h2, .page h2 { font-size: 1.5625rem; }
.page h2 { margin: unset; }
.page h2.larger { font-size: 2.1875rem; }
.page p.text { font-size: 1.25rem; font-weight: 300; }


.page .banner .inner .inner-sub .text { font-size: 1.125rem; }

.page.custom-armbands .form.trade,
.page.tablecloths .form.trade,
.page.wire-badges .form.trade,
.page.woven-badges .form.trade,
.page.personalised-badges .form.trade,
.page.about .form.trade { margin-top: -50px; }


.weoffer .section { text-align: center; justify-content: center; }

.faqs .faq > li.q > img.faq-toggle { margin-right: 15px; }
.faqs .faq.open > li.q > img.faq-toggle { transform: rotate(180deg); }


h2.md { font-size: 1.85rem; }
h2.sml { font-size: 1.6rem; }
h3.sml { font-size: 1.4rem; }

.br-10 { border-radius: 10px; }


.g-recaptcha { max-width: 100%; overflow: hidden; }
.blue-txt { color: #26bcd6; }
.dblue-txt { color: #052F58; }
.white-txt { color: #fff; }
.yellow-txt { color: #FCB54C; }
.blue-bg { background-color: #26bcd6; }
.dblue-bg { background-color: #052F58; }
.lgr-bg { background-color: #f5f5f5; }
.white-bg { background-color: #fff; }

.purple-bg { background-color: #30264B; }
.purple-txt { color: #30264B !important; }
.lilac-bg { background-color: #F5F2FF; }
.yellow-bg { background-color: #FCB54C; }

.inline-link { color: #FCB54C; font-weight: 700; }

.card-grid { display: grid; gap: 15px; justify-content: center; }

@media screen and (min-width: 1700px) {
    .card-grid { grid-template-columns: repeat(4, 400px); }
}

@media screen and (min-width: 992px) and (max-width: 1699px) {
    .card-grid { grid-template-columns: repeat(2, 400px); }
}

@media screen and (max-width:1230px) {
    /*h1, h2 { font-size: 2.3rem; }*/
}

@media screen and (min-width: 992px) {
    .page-not-found h2 { font-size: 14rem; }
    .trade-pricelist { grid-template-columns: 2fr 1fr; }
    .trade-pricelist .info { padding-left: 40px; }
    .trade-pricelist .first-col { grid-column: 1; grid-row: 1 / 3; padding: 50px; }

    .trade-pricelist .second-col { border-left: 3px solid #30264B; }
    .trade-pricelist .second-col .inner { padding: 0 50px; padding-bottom: 20px; }
    .trade-pricelist .second-col.area1 { grid-column: 2; grid-row: 1; background-color: #E9E9E9; border-top-right-radius: 16px; }
    .trade-pricelist .second-col.area2 { grid-column: 2; grid-row: 2; background-color: #fcb54c; border-bottom-right-radius: 16px; }
    #mob-nav-overlay { display: none; }

    .page.cookies p.text { font-size: 1.125rem; font-weight: 400; }
}

@media screen and (max-width:992px) {
    h1, h2 { font-size: 2rem; }
    body { font-size: 1rem; }
}

@media screen and (max-width: 991px) {
    .page p.text,
    .page .banner .inner .inner-sub .text { font-size: 1rem; }
    #tradepricelist .outer { padding: 0 20px; }
    .trade-pricelist { display: flex; flex-direction: column; }
    .trade-pricelist .second-col .inner { padding: 10px; }
    .trade-pricelist .first-col { grid-row: 1; padding: 20px; text-align: center; }
    .trade-pricelist .first-col > img { padding: 20px; transform: translateX(20px); }
    .trade-pricelist .second-col.area1 { grid-row: 2; }
    .trade-pricelist .second-col.area2 { grid-row: 3; border-bottom-right-radius: 15px; border-bottom-left-radius: 15px; }
    .trade-pricelist .second-col.area2 .btn { max-width: unset; width: 100%; }
    #mob-nav-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; }

    .page.cookies p.text { font-size: 1rem; font-weight: 400; }
    .page.cookies .services-card h2 { font-size: 1.4rem; }
}

@media screen and (max-width: 991px) {
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .page-not-found h2 { font-size: 10rem; }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (min-width: 768px) {
    div.text.body { font-size: 1.125rem; }
    #content { min-height: calc(100vh - 252px); }
}

@media screen and (max-width: 767px) {
    div.text.body { font-size: 1rem; }
    #content { min-height: calc(100vh - 325px); }
    .card-grid { grid-template-columns: repeat(1, 1fr); justify-items: center; }
}

@media screen and (min-width: 400px) and (max-width: 991px) {
    /*h1, .banner h1 { font-size: 4.5rem !important; }*/
}

@media screen and (max-width: 880px) {
    .trade-pricelist .info { display: flex; flex-direction: column; align-items: center; }
}

@media screen and (max-width:768px) {
    h2 { font-size: 1.875rem; }
}

@media screen and (min-width: 500px) and (max-width: 767px) {
    .page-not-found h2 { font-size: 25vw; }
}

@media screen and (min-width: 500px) {
    #logo-banner { clip-path: url(../images/clip-paths/LogoBannerClipPath.svg#logo-banner-clip-path); }
    .arch-clip-path { clip-path: url(../images/clip-paths/ArchClipPath.svg#arch-clip-path); }
    .arch-clip-path.arched { clip-path: url(../images/clip-paths/ArchClipPath.svg#arch-clip-path-arched); }
    .banner-clip-path { clip-path: url(../images/clip-paths/BannerClipPath.svg#main-banner-clip-path); }
    .banner-clip-path.more { clip-path: url(../images/clip-paths/BannerClipPath.svg#main-banner-clip-path-more); }
    .border-arch-clip-path { clip-path: url(../images/clip-paths/ArchClipPath.svg#border-arch-clip-path); }
    .border-arch-clip-path.alt { clip-path: url(../images/clip-paths/ArchClipPath.svg#border-arch-clip-path-alt); }
    .bottom-arch-clip-path { clip-path: url(../images/clip-paths/BottomArchClipPath.svg#bottom-arch-clip-path); }
    .bottom-arch-clip-path.sm { clip-path: url(../images/clip-paths/BottomArchClipPath.svg#bottom-arch-clip-path-sm); }
    .bottom-arch-clip-path.steeper { clip-path: url(../images/clip-paths/BottomArchClipPath.svg#bottom-arch-clip-path-steeper); }
    .logo-banner-clip-path { clip-path: url(../images/clip-paths/LogoBannerClipPath.svg#logo-banner-clip-path); }
    .news-clip-path { clip-path: url(../images/clip-paths/NewsClipPath.svg#news-clip-path); }
    .news-clip-path-2 { clip-path: url(../images/clip-paths/NewsClipPath.svg#news-clip-path-2); }
    .we-offer-clip-path { clip-path: url(../images/clip-paths/WeOfferClipPath.svg#we-offer-clip-path); }
    .we-offer-clip-path-less { clip-path: url(../images/clip-paths/WeOfferClipPath.svg#we-offer-clip-path-less); }
}

@media screen and (max-width: 499px) {
    #logo-banner { clip-path: url(../images/clip-paths/LogoBannerClipPath.svg#logo-banner-clip-path-mobile); }
    .arch-clip-path { clip-path: url(../images/clip-paths/ArchClipPath.svg#arch-clip-path-mobile); }
    .banner-clip-path { clip-path: url(../images/clip-paths/BannerClipPath.svg#main-banner-clip-path-mobile); }
    .border-arch-clip-path { clip-path: url(../images/clip-paths/ArchClipPath.svg#border-arch-clip-path); }
    .border-arch-clip-path.alt { clip-path: url(../images/clip-paths/ArchClipPath.svg#border-arch-clip-path-alt-mob); }
    .bottom-arch-clip-path { clip-path: url(../images/clip-paths/BottomArchClipPath.svg#bottom-arch-clip-path-mobile); }
    .bottom-arch-clip-path.sm { clip-path: url(../images/clip-paths/BottomArchClipPath.svg#bottom-arch-clip-path-sm-mobile); }
    .logo-banner-clip-path { clip-path: url(../images/clip-paths/LogoBannerClipPath.svg#logo-banner-clip-path-mobile); }
    .news-clip-path { clip-path: url(../images/clip-paths/NewsClipPath.svg#news-clip-path-mobile); }
    .we-offer-clip-path { clip-path: url(../images/clip-paths/WeOfferClipPath.svg#we-offer-clip-path-mobile); }

    .page-not-found h2 { font-size: 25vw; }
}



@media screen and (max-width: 399px) {
    h1, .banner h1 { font-size: 10vw !important; }
    #enquiryform h2 { font-size: 1.75rem; }
}

@media screen and (max-width:360px) {
    h1, h2 { font-size: 1.625rem; }
    body { font-size: 0.875rem; }
}
