/*
Theme Name: Max Lacome
Theme URI: https://maxlacome.com
Description: Child theme for the Border parent theme.
Author: Max Lacome
Author URI: https://www.a-m-w.net
Template: border
Version: 1.0.0
Last Updated: 24/4/26
*/



/* global site copy typography */
body,
p,
li,
blockquote,
td,
th,
.textwidget,
.textwidget p,
.entry-content,
.entry-content p,
.site-content {
	font-family: Georgia, "Cambria", "Times New Roman", Times, serif;
}

body  {
    background-color: #fff !important;
}
a:hover {
    color: rgba(0, 0, 0, 0.7);
    border-color:#fff !important;
    opacity: 0.7 !important;
}



.site-logo {
	position: relative;
	top: 90px;
}
.site-logo img {
    height: 45px !important;
}




/* header menu typography */
.menu-top--left__container a,
.menu-top--right__container a,
.nav.border-menu a,
.sidebar--menu a {
	font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	font-weight: 800 !important;
    text-transform: uppercase;
}

.menu-top--left__container a,
.menu-top--right__container a {
	font-size: 12px;
    letter-spacing: 0.090em !important;
}
.menu-top--left__container,
.menu-top--right__container {
	float: none;
	text-align: center;
	margin-top: 65px;
    padding:0px !important
}
.current-menu-item {
    opacity: 0.7;
}




/* Header menu: force top left/right items into one horizontal row */
.menu-top--left__container .nav.border-menu,
.menu-top--right__container .nav.border-menu {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}

.menu-top--left__container .nav.border-menu > li,
.menu-top--right__container .nav.border-menu > li {
	display: inline-flex !important;
	width: auto !important;
}


.mfp-bg {
	background: #fff;
	opacity: 0.9 !important;
}

button.mfp-close {
	font-size: 0 !important;
	color: transparent !important;
	width: 44px;
	height: 44px;
	opacity: 1 !important;
	padding: 0 !important;
	top: 15px !important;
	right: 15px !important;
}

button.mfp-close::before,
button.mfp-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 2px;
	background: #000;
	transform-origin: center;
}

button.mfp-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

button.mfp-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

button.mfp-close:hover {
	background: transparent !important;
}

button.mfp-close:hover::before,
button.mfp-close:hover::after {
	background: #555;
}

.gallery-infobox__data {
	color: #000 !important;
	text-align: center;
	flex: 1 !important;
}

.gallery-infobox__data span {
	text-shadow: none;
    font-size: 12px;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900;
    text-transform: uppercase;
}
.gallery-arrow {
	color: #000 !important;
}
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: pointer !important;
}



@media screen and (min-width: 900px) {
	.horizontal-bar {
		height: 40px !important;
	}

}

.copyright-info {
	color: grey;
}

.content-helper {
	background: #fff;
}

.gallery-toggle-fullscreen {
	color: black;
}


.icon-e-share {
	color: #000;
}

.icon-e-share:hover {
	color: #fff;
}

ul.nav.nav--main.sub-menu.sub-menu-open>li:first-child {
	display: none;
}

.sidebar--menu {
	font-size: 12px;
	padding: 50px 24px 1px 24px !important;
	color: white;
	background: #1a1717;
}
.sidebar--menu a {
	font-size: 18px !important;
	color: white;
}

.separator--light {
	border-bottom: 3px solid white !important;
}
.up-link {
	bottom: -20px !important;
}
.separator {
    border:0px #fff !important;
	margin: 0 !important;
}
.mosaic-wrapper {
	margin-top: 150px;
	padding-bottom: 0px;
}

.mosaic__meta .meta__icon {
	display: none;
}


@media(max-width:899px) {
	.up-link {
		bottom: 5px !important;
	}

	.mosaic-wrapper {
		margin-top: 0px;
	}

	.mosaic-wrapper {
		padding-bottom: 0px;
	}

	.site-header,
	.site-footer {
		padding-left: 0;
	}

	.site-logo img {
		float: left;
		padding-left: 8px;
		height: 20px !important;
	}

	.nav-text {
		font-size: 0;
		width: 35px;
		height: 2px;
		background: #000;
		position: relative;
		top: 5px;
		right: -5px;
		transition: all ease-in-out 0.3s;
	}

	.nav-text::after {
		content: '';
		width: 100%;
		position: absolute;
		left: 0;
		top: 7px;
		height: 2px;
		background: #000;
		transition: all ease-in-out 0.3s;
	}

	.nav-text::before {
		content: '';
		position: absolute;
		width: 100%;
		height: 2px;
		left: 0;
		top: 15px;
		background: #000;
		transition: all ease-in-out 0.3s;
	}

	.navigation--main {
		box-sizing: border-box;
		height: 100vh !important;
		width: 100%;
		padding:5px;
	}

	/* Parent Border keeps .nav--main at 260px; without full width, the left of the viewport stays transparent and #main’s close animation shows through before the panel slides away. */
	.navigation--main > .nav--main {
		width: 100% !important;
		max-width: none;
		left: 0 !important;
		right: 0;
	}

	.navigation--is-visible .nav-text::before {
		opacity: 0;
	}

	.navigation--is-visible .nav-text {
		transform: rotate(45deg);
		top: 13px;
	}

	.navigation--is-visible .nav-text::after {
		transform: rotate(90deg);
		top: 0px;
	}

	.navigation-container {
		right: -100%;
		width: 100%;
		transition: all ease-in-out 0.3s;
		bottom: 0;
	}

	.fixed-bar.horizontal-bar.top-bar {
		position: fixed;
		z-index: 500;
		height: 60px;
		box-sizing: border-box;
		padding-top: 4px;
	}

	ul.nav.nav--main.sub-menu {
		z-index: 99999 !important;
		width: 100%;
		left: 0;
		transform: none !important;
		transition: all ease-in-out 0.3s;
		background: #fff;
	}

	.navigation--is-visible .navigation-container {
		right: 0;
		background-color: #fff;
	}

	.sidebar--menu {
		background: none;
	}

	.navigation-container .sidebar--menu a {
		color: #000;
	}

	.navigation-container .separator--light {
		border-bottom: 1px solid black !important;
	}

	.nav--main>li {
		display: none;
	}

	#menu-social-menu-1 .menu-item-100338 a {
		padding-top: 21px;
	}

	#menu-social-menu-1 .page-item-11 a {
		padding-bottom: 21px;
	}

	#menu-item-100659 {
		display: block;
	}
}

@media(max-width:425px) {
	span.wpcf7-form-control-wrap.your-name {
		margin-bottom: 20px;
		display: block;
	}
}


/* add top of homepage gap */
/* normal header everywhere except homepage */
.site-header {
	z-index: 1000;
    padding-top: 90px;
	padding-bottom: 20px;
}

/* homepage only: header must NOT be fixed */
.page-template-page-frontpage .site-header,
.site-header {
	position: absolute !important;
	top: 0 !important;
	left: 0;
	right: 0;
	bottom: auto !important;
	transform: none !important;
	will-change: auto !important;
	z-index: 1000;
}



.page__content {
    padding-top:30px;
}
/*
.content--page-regular {
	margin-top: 30px;
}
*/
.article-blog-classic {
	padding-top:50px;
}
#main.content {
	padding-top: 48px;
	padding-bottom: 100px;
}
.content--page-regular .page__wrapper {
	max-width:940px;
}

.wrapper, .content--gallery-slider, .content--client-area {
	padding: 18px !important;
}



/* non homepage header for mobile */
@media (max-width: 767px) {
	.site-logo {
		top: 20px;
		position: relative;
	}
}


.site-header .grid {
	text-align: center;
	margin-left:0px;
}

.site-navigation__trigger {
	top: 20px;
}


/* make header scroll not fixed */
.fixed-bar,
.fixed-bar.top-bar,
.fixed-bar.horizontal-bar {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
}


/* make menus under logo */
.flexbox__item {
	display: flex;
	flex-direction: column;
	align-items: center;
}


/* general page mods like titles */
.page__title {
	font-size: 20px;
}


/* trying to fix masonry issue */
@media (max-width: 767px) {
	.masonry .masonry__item,
	.portfolio-wrapper .portfolio__item,
	.grid__item {
		width: 100% !important;
		left: 0 !important;
		/* fixes masonry positioning gaps */
	}
}

/* copyright */
.footer-social-icons {
	float: none !important;
}

.copyright-info {
	margin: 0px auto 20px auto !important;
	padding-bottom: 0px;
	display: block !important;
	width: 100% !important;
	text-align: center !important;
}


/* ensure lightbox labels are visible on top */
.gallery-infobox {
	z-index: 9999;
}

/* ensure footer doesn't overlay images with its bg */
.fixed-bar {
	background-color: transparent !important;
}

/* ensure siteorigin copy has space between paras */
.textwidget div {
	margin-bottom: 20px;
}

/* fix header/footer offset alignment */
@media not screen and (min-width: 900px) {
	.site-header,
	.site-footer {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
}

/* mobile nav trigger visibility (<=899px only) */
.site-navigation__trigger  {
	display: none !important;
}


/* Form pages (Forminator): hide "Submitting" text, keep processing state, show error boxes only */
.forminator-ui .forminator-button .forminator-button-text .forminator-loading-text,
.forminator-ui .forminator-button .forminator-loading-text {
	display: none !important;
}

.forminator-ui .forminator-button.forminator-loading,
.forminator-ui .forminator-button[disabled] {
	opacity: 0.7;
	cursor: not-allowed;
}

/* Form pages (Forminator): submit button AJAX spinner */
.forminator-ui .forminator-button.forminator-button-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.forminator-ui .forminator-button.forminator-button-submit .ml-submit-spinner {
	display: none !important;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	margin-left: 8px;
}

.forminator-ui .forminator-button.forminator-button-submit .ml-submit-spinner svg {
	display: block;
	width: 100%;
	height: 100%;
	animation: ml-submit-spinner-rotate 0.8s linear infinite;
}

.forminator-ui .forminator-button.forminator-button-submit .ml-submit-spinner circle {
	stroke: currentColor;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 50;
	stroke-dashoffset: 38;
}

.forminator-ui .forminator-button.forminator-button-submit.ml-submit-is-loading .ml-submit-spinner {
	display: inline-flex !important;
}

@keyframes ml-submit-spinner-rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/* Form pages (Forminator): hide processing-only response message, keep success/error visible */
.forminator-ui .forminator-response-message.forminator-loading:not(.forminator-success):not(.forminator-error) {
	display: none !important;
}

/* Form pages (Forminator): success message — white background, black text, black border */
.forminator-ui .forminator-response-message.forminator-success,
.forminator-ui .forminator-response-message.forminator-success p {
	color: #000 !important;
	background-color: #fff !important;
	border: 2px solid #000;
	box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

.forminator-ui .forminator-response-message.forminator-success:hover,
.forminator-ui .forminator-response-message.forminator-success:focus,
.forminator-ui .forminator-response-message.forminator-success:active {
	box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	border-color: #000;
}

/* Regular content pages: header/logo/menu alignment */
body.page:not(.home):not(.blog) .site-header {
	margin-top: 5px;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page:not(.home):not(.blog) .site-home-title,
body.page:not(.home):not(.blog) .site-home-title h1 {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page:not(.home):not(.blog) .site-home-title h1 {
	display: block;
	text-align: left !important;
}

body.page:not(.home):not(.blog) .site-logo {
	top: 3px !important;
	position: relative !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page:not(.home):not(.blog) .site-header .grid {
	margin-top: 0 !important;
	padding-top: 0 !important;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

body.page:not(.home):not(.blog) .site-header .grid__item.menu-top--left__container,
body.page:not(.home):not(.blog) .site-header .grid__item.menu-top--right__container {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page:not(.home):not(.blog) .site-header .grid__item.menu-top--left__container {
	text-align: left !important;
}

body.page:not(.home):not(.blog) .site-header .grid__item.menu-top--right__container {
	text-align: right !important;
}

body.page:not(.home):not(.blog) .site-header .flexbox__item {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	width: 100% !important;
}

body.page:not(.home):not(.blog) .site-header .site-home-title {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

body.page:not(.home):not(.blog) .site-header .grid {
	flex: 1 1 auto;
	margin-left: 24px !important;
}

body.page:not(.home):not(.blog) .site-header .grid__item.menu-top--left__container {
	margin-right: auto;
}

body.page:not(.home):not(.blog) .site-header .grid__item.menu-top--right__container {
	margin-left: auto;
}

/* Regular content pages: force true left logo and right menu on desktop */
@media (min-width: 900px) {
	body.page:not(.home):not(.blog) .site-header {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	body.page:not(.home):not(.blog) .site-home-title {
		position: static !important;
		left: 0 !important;
		top: 0 !important;
		transform: none !important;
		height: auto !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.page:not(.home):not(.blog) .site-home-title .flexbox,
	body.page:not(.home):not(.blog) .site-home-title .flexbox__item {
		display: block !important;
		width: auto !important;
	}

	body.page:not(.home):not(.blog) .site-home-title .site-logo {
		width: auto !important;
		text-align: left !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.page:not(.home):not(.blog) .site-home-title .site-logo img {
		margin: 0 !important;
		height: 22px !important;
		width: auto !important;
	}

	body.page:not(.home):not(.blog) header.site-header > .flexbox__item {
		display: flex !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		width: 100% !important;
	}

	body.page:not(.home):not(.blog) header.site-header > .flexbox__item > .grid {
		display: flex !important;
		justify-content: flex-end !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
	}

	body.page:not(.home):not(.blog) header.site-header > .flexbox__item > .grid > .grid__item.menu-top--left__container,
	body.page:not(.home):not(.blog) header.site-header > .flexbox__item > .grid > .grid__item.menu-top--right__container {
		width: auto !important;
		flex: 0 0 auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.page:not(.home):not(.blog) header.site-header > .flexbox__item > .grid > .grid__item.menu-top--right__container {
		margin-left: 0 !important;
	}

	body.page:not(.home):not(.blog) header.site-header > .flexbox__item > .grid > .grid__item.menu-top--left__container {
		text-align: right !important;
	}

	body.page:not(.home):not(.blog) header.site-header > .flexbox__item > .grid > .grid__item.menu-top--left__container .nav.border-menu {
		justify-content: flex-end !important;
	}

	body.page:not(.home):not(.blog) header.site-header .menu-top--left__container .nav.border-menu a,
	body.page:not(.home):not(.blog) header.site-header .menu-top--right__container .nav.border-menu a {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 8px !important;
		margin-right: 0 !important;
	}

	body.page:not(.home):not(.blog) header.site-header .menu-top--left__container .nav.border-menu,
	body.page:not(.home):not(.blog) header.site-header .menu-top--right__container .nav.border-menu {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.page:not(.home):not(.blog) header.site-header .menu-top--right__container .nav.border-menu > li:last-child a {
		margin-right: 0 !important;
		padding-right: 0 !important;
	}


}





/* Mobile resize */
@media (max-width: 899px) {

	.site-header
	 {
		margin-top: -10px !important;
	}
	
	
	body .site-logo {
        height:35px !important;
		top: 25px;
	}
	
	body.page:not(.home):not(.blog) .site-logo {
		top: 25px !important;
	}

	
	.site-header {
		padding-top: 0;
		padding-bottom: 0;
	}
	#main.content {
		padding-top: 10px;
		padding-bottom: 0px;
	}
	.home #main.content {
		padding-top: 0px;
	}
	.site-navigation__trigger {
		padding-top: 0px;
	}
	.content {
		position: relative;
		top: 0px !important;
	}
	.article-blog-classic, .container--blog-classic {
		padding-top:0px;
	}
	.page__title,
	.content--page-regular {
		margin-top: 0px;
	}
	.content--page-regular .page__wrapper {
		padding-top: 0px;
	}
    .page__content {
        padding-top:0px;
    }


	.site-navigation__trigger  {
		display: block !important;
	}
	
	.sidebar--menu.nav-top--mobile .menu--list {
		margin: 0 0 0 0 !important;
		padding: 0 !important;
	}

	.sidebar--menu.nav-top--mobile .menu--list > li {
		margin: 0 0 0 0 !important;
	}
	.sidebar--menu.nav-top--mobile .menu--list a {
		margin:10px 0px !important
	}
	.sidebar--menu.nav-top--mobile .menu--list > li:last-child {
		margin-bottom: 0 !important;
	}
}

/* Homepage mobile header: keep logo left-aligned like inner pages */
@media (max-width: 899px) {
	body.home .site-header > .flexbox__item,
	body.page-template-page-frontpage .site-header > .flexbox__item {
		align-items: flex-start !important;
	}

	body.home .site-home-title,
	body.home .site-home-title h1,
	body.home .site-home-title .site-logo,
	body.page-template-page-frontpage .site-home-title,
	body.page-template-page-frontpage .site-home-title h1,
	body.page-template-page-frontpage .site-home-title .site-logo {
		width: 100% !important;
		text-align: left !important;
	}

	body.home .site-home-title .site-logo img,
	body.page-template-page-frontpage .site-home-title .site-logo img {
		display: block;
		margin-left: 0 !important;
		margin-right: auto !important;
	}
}

/* Form page (Forminator): keep Safari submit button color consistent */
.forminator-ui#forminator-module-100870.forminator-design--default .forminator-button-submit,
.forminator-ui#forminator-module-100870.forminator-design--default .forminator-button-submit:hover,
.forminator-ui#forminator-module-100870.forminator-design--default .forminator-button-submit:focus,
.forminator-ui#forminator-module-100870.forminator-design--default .forminator-button-submit:active {
	-webkit-appearance: none;
	appearance: none;
	background-image: none;
	background-color: #F0F0F0;
}

