/*
Theme Name: LD Block Theme
Author: Lawrence Davis
Author URI: https://lawrencedavis.co.uk
Requires at least: 6.1
Tested up to: 6.3
Requires PHP: 5.6
Version: 0.1
Text Domain: ld_block_theme
*/


/* LAYOUT */

header, main, footer {
margin-block-start: 0;
margin-block-end: 0;
}
.entry-content.wp-block-post-content {
margin-block-start: 0;
}
.wp-site-blocks {
padding-top: 0;
padding-bottom: 0;
}
.has-global-padding > .alignfull {
margin-right: 0 !important;
margin-left: 0 !important;
}
.has-global-padding > .alignfull > .has-global-padding, .has-global-padding, .wp-block-group.fixed-after {
padding-right: 0;
padding-left: 0;
}


/* GENERAL */

html {
overflow-x: clip;
}
body {
backface-visibility: hidden;
}
a {
transition: all .5s;
}
strong, b {
font-weight: 700;
}
.wp-block-separator {
border-top-width: 1px;
}
.relative {
position: relative;
}
.absolute {
position: absolute;
}
.overflow-hidden {
overflow: hidden;
}
.overflow-visible {
overflow: visible;
}
.multiply img {
mix-blend-mode: multiply;
}
ul, ol {
padding-left: 1.1rem;
}


/* QUOTE */

blockquote {
position: relative;
margin: 0;
gap: 0.5em;
flex-direction: column;
display: flex;
}
blockquote::before {
content: open-quote;
display: inline-block;
line-height: 0.8;
font-family: var(--wp--preset--font-family--host-grotesk);
font-weight: 700;
font-size: 120px;
height: 40px;
color: var(--wp--preset--color--red);
top: 0;
position: relative;
}
blockquote:after {
content: close-quote;
visibility: hidden;
height: 0;
}


/* HEADER */

header, #site-header {
width: 100%;
}
header {
position: absolute;
}
.page-template-pages-simple header {
position: relative;
}
#site-header {
z-index: 999;
transition: all 0.5s;
}
.page-template-pages-simple #site-header {
background-color: var(--wp--preset--color--dark-blue);
}
#site-header:has(li.mega-toggle-on), #site-header.my-fixed:has(li.mega-toggle-on) {
background-color: var(--wp--preset--color--beige-03) !important;
}


/* LOGO */

#header-logo .icon-container {
max-width: clamp(100px, calc(6.25rem + ((1vw - 3.5px) * 3.0303)), 150px);
}
#header-logo #site-logo path {
fill: var(--wp--preset--color--base);
transition: all 0.5s;
}
#site-header:has(li.mega-toggle-on) #header-logo #site-logo path#Fenn {
fill: var(--wp--preset--color--red);
}
#site-header:has(li.mega-toggle-on) #header-logo #site-logo path#year {
fill: var(--wp--preset--color--contrast);
}


/* MEGAMENU */

#site-header nav.mega-menu-wrap ul.mega-menu li,
#site-header nav.mega-menu-wrap ul.mega-menu a  {
font-family: var(--wp--preset--font-family--host-grotesk) !important;
}
#site-header nav#mega-menu-wrap-max_mega_menu_1 ul#mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
letter-spacing: 0.1em;
font-weight: 600;
font-size: var(--wp--preset--font-size--x-small);
}
.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item + li.mega-menu-item {
padding-top: 0 !important;
}
#site-header nav#mega-menu-wrap-max_mega_menu_1 ul#mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link::after {
content: "";
display: inline-block;
width: 20px;
height: 16px;
vertical-align: text-bottom;
margin-bottom: 2px;
margin-left: 10px;
background: url('/wp-content/uploads/fenn-arrow.svg');
background-size: auto;
background-position: center;
background-repeat: no-repeat;
pointer-events: none;
transform-box: border-box;
}

@media screen and (min-width: 1201px) {
#site-header nav.mega-menu-wrap {
margin-bottom: -30px;
}
#site-header nav.mega-menu-wrap > ul.mega-menu > li {
padding: 0 0 0 2.5em !important;
}
#site-header #mega-menu-wrap-max_mega_menu_1 ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link {
line-height: 1;
}
#site-header #mega-menu-wrap-max_mega_menu_1 > ul.mega-menu > li.mega-menu-item > a.mega-menu-link::after {
content: "";
display: block;
width: 0;
height: 1px;
left: 0;
bottom: 27px;
position: absolute;
background: currentcolor;
transition: width 0.5s;
transform-box: border-box;
}
#site-header #mega-menu-wrap-max_mega_menu_1 > ul.mega-menu > li.mega-menu-item > a.mega-menu-link:hover::after,
#site-header #mega-menu-wrap-max_mega_menu_1 > ul.mega-menu > li.mega-menu-item.mega-current-menu-parent > a.mega-menu-link::after, #site-header #mega-menu-wrap-max_mega_menu_1 > ul.mega-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link::after {
width: 100%;
}
#site-header:has(li.mega-toggle-on) #mega-menu-wrap-max_mega_menu_1 ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link {
color: var(--wp--preset--color--contrast);
}
#site-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-1-of-4 {
width: 20%;
}
#site-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-1-of-4:nth-of-type(1) {
width: 40%;
padding-left: 5%;
padding-right: 5%;
background-color: var(--wp--preset--color--beige-04);
}
#site-header nav#mega-menu-wrap-max_mega_menu_1 ul#mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
display: inline;
}
}

@media screen and (max-width: 1200px) {
#site-header > .wp-block-group {
align-items: center;
}
#site-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle {
background: transparent;
z-index: 99999999 !important;
position: relative;
}
#site-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle.mega-menu-open + #mega-menu-max_mega_menu_1 {
width: 100vw !important;
height: 100vh;
max-height: 100vh;
top: 0;
left: 0 !important;
right: 0;
padding: 5em 0;
background-color: var(--wp--preset--color--beige-03);
position: fixed;
overflow-y: scroll;
overflow-x: hidden;
}
#site-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
padding: 0 30px;
border-bottom: 1px solid var(--wp--preset--color--beige-02);
height: auto;
}
#site-header  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu,
#site-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-flyout ul.mega-sub-menu {
padding: 15px 30px;
background: #dfdad454;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
padding: 10px 0 !important;
}
.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item + li.mega-menu-item {
padding-top: 0 !important;
}
#site-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block:only-child {
margin-left: 0;
}
#site-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block {
margin-right: 0;
}
#site-header .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated[aria-expanded="true"] {
background-color: var(--wp--preset--color--red);
align-items: center;
justify-content: center;
height: 45px;
width: 45px;
border-radius: 5px;
}
#site-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
font-size: 20px;
margin: 0 5px;
color: var(--wp--preset--color--red);
}
}


/* FORM */

.wpcf7-form {
font-family: var(--wp--preset--font-family--host-grotesk);
}
.wpcf7-form .wpcf7-spinner {
margin: 0;
position: absolute;
}
.wpcf7-form .input-group {
margin-block-end: 1rem;
}
.wpcf7-form h3 {
font-weight: 700;
font-size: var(--wp--preset--font-size--small);
}
.wpcf7-form p {
font-size: var(--wp--preset--font-size--x-small);
font-weight: 400;
}
.wpcf7-form label {
font-weight: 700;
text-align: left;
line-height: 1.3;
}
.wpcf7-list-item-label {
font-weight: 400;
}
.req-symbol {
font-weight: 400;
color: var(--wp--preset--color--red);
}
select, textarea, input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="date"] {
width: 100%;
max-width: 100%;
}
select, textarea, input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="date"], input[type="search"] {
font-family: var(--wp--preset--font-family--host-grotesk);
font-size: var(--wp--preset--font-size--small);
color: var(--wp--preset--color--contrast);
border: 1px solid var(--wp--preset--color--beige-03);
border-radius: 0;
padding: 0.7em;
margin: 0 0 0.5em;
background-color: var(--wp--preset--color--base);
box-sizing: border-box;
transition: all 0.3s;
}
input[type="search"] {
background: var(--wp--preset--color--base);
}
.wpcf7 input[type="file"] {
padding: 1em 0;
}
textarea:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus,  input[type="date"]:focus, input[type="search"]:focus {
border-color: var(--wp--preset--color--beige-01);
}
textarea:focus-visible, input[type="text"]:focus-visible,
input[type="email"]:focus-visible, input[type="tel"]:focus-visible, input[type="number"]:focus-visible, input[type="date"]:focus-visible,
button:focus-visible, input[type="search"]:focus-visible {
outline: transparent;
}
.wpcf7-form .buttons {
display: flex;
gap: 2em;
margin: 1.5em 0 0;
}
.wpcf7-form .buttons p {
margin-block-start: 0;
margin-block-end: 0;
display: flex;
}
.wpcf7-form .buttons .arrow {
position: relative;
}
input[type="reset"], input[type="submit"], input[type="button"], button {
font-size: var(--wp--preset--font-size--small);
font-weight: 600;
background: transparent;
color: var(--wp--preset--color--contrast);
border: 0;
border-radius: 0;
padding: 0 2em 0 0;
width: auto;
display: block;
box-sizing: border-box;
appearance: none !important;
transition: all 0.3s;
}
input[type="reset"]:hover, input[type="submit"]:hover, input[type="button"]:hover, button:hover {
background: transparent;
color: var(--wp--preset--color--red);
}
.wpcf7-form .buttons .arrow::after {
content: "";
display: block;
position: absolute;
width: 20px;
height: 16px;
right: 0;
top: 50%;
transform: translateY(-50%);
background: url('/wp-content/uploads/fenn-arrow.svg');
background-size: contain;
background-position: center;
background-repeat: no-repeat;
}
textarea {
min-height: 1em;
}
.wpcf7-form-control::-moz-placeholder {
color: var(--wp--preset--color--contrast);
opacity: 0.2;
}
.wpcf7-form-control::-ms-input-placeholder {
color: var(--wp--preset--color--contrast);
}
.wpcf7-form-control::-webkit-input-placeholder {
color: var(--wp--preset--color--contrast);
}
.wpcf7-acceptance .wpcf7-list-item {
width: 100%;
margin-left: 0 !important;
}
.wpcf7-acceptance .wpcf7-list-item-label a {
font-weight: 700;
}
.wpcf7-form .wpcf7-not-valid-tip {
font-size: 0.9em;
font-style: oblique;
color: var(--wp--preset--color--red);
text-transform: initial;
margin-top: 0.3em;
font-weight: 700;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output {
border: none;
border-top: 1px solid var(--wp--preset--color--beige-02) !important;
color: var(--wp--preset--color--red);
font-size: 0.9em;
font-weight: 700;
margin: 1em 0;
padding: 1em 0;
font-style: oblique;
text-align: center;
}


/* BUTTON */

.wp-block-button__link, .wp-block-read-more {
position: relative;
}
.wp-block-read-more {
padding-right: 2em;
font-weight: 700;
color: var(--wp--preset--color--contrast) !important;
}
.wp-block-read-more:hover {
color: var(--wp--preset--color--red) !important;
}
.wp-block-button__link:after,
.wp-block-read-more::after {
content:"";
display: block;
position: absolute;
width: 20px;
height: 16px;
right: 0;
top: 50%;
transform: translateY(-50%);
background-image: url('/wp-content/uploads/fenn-arrow.svg');
background-size: contain;
background-position: center;
background-repeat: no-repeat;
}
.projects .wp-block-read-more::after {
content: none;
}
.float {
position: absolute;
}
.float.right {
right: 0;
}
.float.bottom {
bottom: 0;
}


/* BLOCK UPDATES */

.wp-block-outermost-icon-block svg,
.wp-block-outermost-icon-block .icon-container,
.wp-block-social-links .wp-social-link, 
.wp-block-social-links .wp-social-link svg,
.wp-block-social-links .wp-social-link span {
transition: all 0.5s;
}
.wp-block-outermost-icon-block a:hover {
transform: scale(1.1) !important;
}
.wp-block-cover .wp-block-cover__inner-container {
z-index: 2;
}
.wp-block-cover.height100 .wp-block-cover__inner-container {
height: 100%;
}
.same-height.wp-block-columns > .wp-block-column {
align-self: stretch;
box-sizing: border-box;
}
.wp-block-video {
position: relative;
}


/* BG */

.detail-bg::before {
content: "";
display: block;
width: 100%;
height: 75%;
max-height: 500px;
position: absolute;
bottom: 0;
left: 0;
background-color: var(--wp--preset--color--beige-02);
background-size: cover;
z-index: -1;
}


/* BANNER */

.banner.wp-block-cover::before {
content: "";
display: block;
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
background-image: linear-gradient(180deg, rgb(0,0,0,0.9) 0%, transparent 60%);
z-index: 1;
}
.banner.wp-block-cover .wp-block-cover__inner-container {
z-index: 2;
}


/* VERTICAL TEXT */

.vertical {
writing-mode: vertical-lr;
position: absolute;
display: flex;
}
.vertical.left {
left: -10px;
top: -100px;
}
.vertical.right {
right: -10px;
bottom: -100px;
}
.vertical.left::before,
.vertical.right::after {
content:"";
display: block;
width: 1px;
height: 300px;
background-color: var(--wp--preset--color--beige-01);
}


/* HOVER BOX */

.hover-box .wp-block-column {
transition: all 0.5s;
}
.hover-box .wp-block-column:has(a:hover) {
background-color: var(--wp--preset--color--beige-02) !important;
}


/* CAROUSEL */

.projects .gslider-flexi-content-wrapper.bottom-left {
margin-right: -7%;
margin-bottom: 0 !important;
}
.cut-carousel .gslider-navigation-custom-icon-wrapper.bottom-left {
padding-left: var(--wp--preset--spacing--30);
}
.wp-block-gslider-blocks-flexi-content .gslider-navigation-custom-icon-wrapper .swiper-button-prev, .wp-block-gslider-blocks-flexi-content .gslider-navigation-custom-icon-wrapper .swiper-button-next {
width: 40px;
height: 40px;
transition: all 0.5s;
}


/* ACCORDION */

.wp-block-accordion-item:hover .wp-block-accordion-heading,
.wp-block-accordion-item.is-open .wp-block-accordion-heading {
color: var(--wp--preset--color--contrast);
}
.wp-block-accordion-item .wp-block-accordion-heading__toggle {
border-bottom: 1px solid var(--wp--preset--color--beige-01);
border-radius: 0 !important;
transition: all 0.5s;
}
.wp-block-accordion-item:hover .wp-block-accordion-heading__toggle,
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle {
border-bottom: 1px solid var(--wp--preset--color--beige-01);
background: transparent !important;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
text-decoration: none;
}
.wp-block-accordion-heading__toggle-icon {
color: var(--wp--preset--color--red);
height: 1.5em;
width: 1.5em;
}


/* IMAGE HOVER */

.wp-block-image,
.wp-block-post-featured-image {
overflow: hidden;
position: relative;
}
.projects .wp-block-image a::before,
.wp-block-post-featured-image a:before {
content: "";
display: block;
bottom: 0;
left: 0;
position: absolute;
width: 100%;
height: 0;
transform-origin: 50% 100%;
transition: height 0.8s;
box-sizing: border-box;
opacity: 0.5;
background: var(--wp--preset--color--contrast);
z-index: 1;
}
.projects .wp-block-image a:hover::before,
.wp-block-post-featured-image a:hover::before {
height: 100%;
}


/* FOOTER */

#footer-logo .icon-container {
max-width: clamp(150px, calc(9.375rem + ((1vw - 3.5px) * 3.0303)), 200px);
}
#footer-logo #site-logo path#year {
fill: var(--wp--preset--color--base);
}
.footer-text .ld::before {
content: "";
background-image: url("https://lawrencedavis.co.uk/wp-content/uploads/LD-icon.svg");
background-repeat: no-repeat;
background-size: contain;
display: inline-block;
width: 12px;
height: 9px;
margin: 0 7px 0 0;
vertical-align: baseline;
filter: brightness(0) saturate(100%) invert(100%) sepia(22%) saturate(2%) hue-rotate(317deg) brightness(111%) contrast(100%);
}


/* MEDIA */

@media screen and (min-width: 782px) {
.projects .gslider-flexi-content-wrapper.bottom-left,
.projects .gslider-flexi-content-wrapper.bottom-left .swiper {
position: unset !important;
}
}

@media screen and (max-width:1200px) {
.title-padding {
padding-right: 0 !important;
padding-left: 0 !important;
}
}

@media screen and (max-width:781px) {
.invert {
order: -1;
}
.banner.wp-block-cover {
min-height: 450px !important;
} 
.min-height.wp-block-cover {
min-height: 300px !important;
} 
.width95.wp-block-group > * {
max-width: 100% !important;
}
.gslider-flexi-content-wrapper.bottom-left .swiper.cut-carousel {
padding-top: 65px;
}
.swiper.cut-carousel .gslider-navigation-custom-icon-wrapper.bottom-left {
top: 0;
bottom: unset !important;
}
.has-vertical-text.wp-block-group {
padding-left: 0 !important;
padding-right: 0 !important;
}
.vertical.left {
top: -60px;
display: none;
}
.vertical.right {
bottom: -60px;
display: none;
}
#footer-logo.wp-block-outermost-icon-block {
justify-content: center;
}
#site-footer .wp-block-navigation-item__content{
font-size: 10px;
}
.footer-text.wp-block-group p {
text-align: left;
}
.footer-contact.wp-block-group, .footer-text.wp-block-group > .wp-block-group  {
justify-content: flex-start;
}
.footer-text.wp-block-group .has-x-small-font-size {
font-size: 0.7em !important;
}
}

@media screen and (max-width:480px) {
#site-footer .wp-block-navigation {
gap: 10px;
}
}
