body {
	font-family: "Manrope", sans-serif !important;
  	font-optical-sizing: auto;
	color: #333;
	-webkit-font-smoothing: antialiased;
	background: #f5f5f5 !important;
}

.fs-xl {
    font-size: 2rem;
}

@media (min-width: 768px) {
	.fs-xl {
    	font-size: 3rem;
	}
}

.fst-script {
	font-family: "Pacifico", cursive;
}

a {
    text-decoration-thickness: .5px;
    text-underline-offset: 4px;
}

/** Bootstrap **/

/* Remove blue background + text colour on active */
.accordion-button:not(.collapsed) {
    background-color: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}

/* Remove focus/active blue outline */
.accordion-button:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* Optional: remove hover background */
.accordion-button:hover {
    background-color: transparent !important;
}

/** Helpers **/

.box-shadow {
	box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.list-style-none {
	list-style: none;
}

@media only screen and (min-width: 992px) {
	.rounded-lg-4 {
    	border-radius: 1rem;
    }
}
	
/** Sections **/

.section--white {
	background: #fff;
}

.section--black {
	background: #333;
}

.section--grey {
	background: #eee;
}

/** Buttons **/

.cta {
    display: inline-block;
    padding: 13px 30px;
    text-align: center;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
    -webkit-user-select: none;
    user-select: none;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    outline: 0;
    white-space: nowrap;
    outline: 0;
    border-radius: 100px;
    transition: all .25s ease-in;
    text-decoration: none;
    font-weight: 500;
	color: #fff;
}

.cta--blue {
	background: #9278e1;
	border-color: #9278e1;
}

.cta--white {
	background: #fff;
}

.cta:hover {
    background: #9278e1;
    border-color: #9278e1 !important;
    color: #fff !important;
}

/** Header **/

.footer__menu li a {
    color: #fff;
    text-decoration: none;
}

.header__menu li a {
    text-decoration: none;
	color: #333;
}

.header__menu .current-menu-item a {
    font-weight: 800;
}

/** Header - Breadcrumbs **/

.breadcrumbs-wrapper a {
    color: #333;
    text-decoration: none;
}

/** Homepage **/

/** Homepage - Hero **/

.homepage-hero__slide {
	background-size: cover;
	background-attachment: fixed;
	background-position: center;
}

@media (min-width: 980px) {
	.homepage-hero__slide {
		padding-top: 100px;
	}
}

@media (max-width: 980px) {
    .hero-slide__image {
        max-width: 100%;
    }
}

.swiper-button-next,
.swiper-button-prev {
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    opacity: .7;
    color: #000;
}

.homepage-hero-swiper .swiper-button-next {
	right: 20px;
}

.homepage-hero-swiper .swiper-button-prev {
	left: 20px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
}

.swiper-button-prev svg,
.swiper-button-next svg {
	height: 30px !important;
	width: 30px !important;
	z-index: 99;
	position: absolute;
}

/** Homepage - Services **/

.homepage-services__background {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

/** Homepage - Partners **/

.partners__logo {
    height: 60px;
    max-width: 150px;
    object-fit: contain;    
}

/** UI **/

.glass {
	background: #fff;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.1);
}

/** Polaroids **/

.polaroid {
  background: #fff;
  padding: 30px;
  box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.2);
  transform: rotate(3deg);
}

.polaroid-alt {
  background: #fff;
  padding: 30px;
}

.polaroid-alt img {
    aspect-ratio: 1;
    object-fit: cover;
}

.polaroid > img{
  max-width: 100%;
  height: auto;
}

.polaroid__caption {
  font-size: 1.8rem;
  text-align: center;
  line-height: 25px;
  margin-top: 30px;
}

/** Miniature **/

/** Miniature - Service **/

.service-miniature {
    display: block;
    aspect-ratio: 4/3;
    position: relative;
    background-size: cover;
    background-position: center;
}

.service-miniature__content {
    position: absolute;
    bottom: 40px;
    left: 40px;
}

.service-miniature:before {
    content: "";
    background: linear-gradient(45deg,rgba(27, 27, 27, 1) 10%, rgba(255, 255, 255, 0) 100%);
    height: 100%;
    width: 100%;
    position: absolute;
	opacity: .5;
}

.homepage-services__background:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .5;
    top: 0;
}

/** Gallery **/

.gallery__item img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}

.gallery__item {
    aspect-ratio: 1/1;
    overflow: hidden;
}

/** Contact Form **/

.gfield_label {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.gfield input {
    border: 0 !important;
    height: 50px !important;
    border-radius: 5px !important;
}

.gfield textarea {
    border: 0 !important;
    border-radius: 5px !important;
}

.gform_wrapper input:focus, .gform_wrapper textarea:focus, .gform_wrapper select:focus {
    border-color: #03A9F4 !important;
    box-shadow: 0 0 0 2px rgba(3, 169, 244, 1) !important;
    outline: none !important;
}

.gform_button {
    display: inline-block !important;
    padding: 13px 30px !important;
    margin: 0;
    touch-action: manipulation;
    border-radius: 100px !important;
    transition: all .25s ease-in !important;
    font-weight: 500 !important;
    color: #212529 !important;
    font-size: 16px !important;
    background: #fff !important;
    border: 1px solid #000 !important;
}

.gform_button:hover {
    background: #9278e1 !important;
    border-color: #9278e1 !important;
	color: #fff !important;
}

/** Mobile Menu **/

.mobile-menu-canvas {
    max-width: 90vw !important;
}

.mobile-menu-canvas__menu li a {
    text-decoration: none;
	color: #212529;
    text-transform: uppercase;
}

.mobile-menu-canvas__menu > li {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    position: relative;
}

.mobile-menu-canvas__menu > li:last-child {
    border-bottom: 0;
}

.mobile-menu-canvas__menu > li > a {
    font-weight: 600;
}

.mobile-menu-canvas__menu li .sub-menu {
    list-style: none;
    padding: 15px 0 5px;
}

.mobile-menu-canvas__menu li .sub-menu li {
    padding: 5px 0;
}

.mobile-menu-canvas__menu > li:after {
    content: url(https://designhivedev.co.uk/wcmh/wp-content/uploads/2025/11/arrow-right.svg);
    top: 15px;
    position: absolute;
    right: 0;
}

.mobile-menu-canvas__menu > li.menu-item-has-children:after {
    content: url(https://designhivedev.co.uk/wcmh/wp-content/uploads/2025/11/corner-right-down.svg);
    top: 25px;
}