/*
	Theme Name: O'Three Drysuits
	Theme URI: https://www.othree.co.uk/
	Description: Custom WP Theme for O'Three
	Version: 0.1
	Author: Creative Direction
	Author URI: https://creativedirection.info
*/


:root {
	/* Fonts */
	--font-body: 'PP Neue Montreal', Arial, sans-serif;
	--font-heading: 'PP Formula Narrow Semibold', 'PP Neue Montreal', Arial, sans-serif;
	--font-heading-extra: 'PP Formula Extrabold', 'PP Neue Montreal', Arial, sans-serif;
	--font-heading-condensed: 'PP Formula Condensed Black', 'PP Neue Montreal', Arial, sans-serif;

	/* Colours */
    --othree-ink: var(--wp--preset--color--charcoal-black);
    --othree-off-white: var(--wp--preset--color--soft-cream);
    --othree-warm-white: var(--wp--preset--color--warm-white);
    --othree-panel: var(--wp--preset--color--soft-cream);
    --othree-sub-panel: var(--wp--preset--color--pale-apricot);
    --othree-border: var(--wp--preset--color--stone);
    --othree-muted: var(--wp--preset--color--taupe);
    --othree-accent: var(--wp--preset--color--gold);
    --othree-blue: var(--wp--preset--color--electric-blue);

    --large-border-radius: 20px;
    --small-border-radius: 10px;
    --very-small-border-radius: 4px;
}


/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	background-color: var(--othree-warm-white);
	font-family:var(--font-body);
	font-size:17px;
	color:#444;
	letter-spacing: 0.01em;
	line-height:1.4em;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
	transition:0.3s color;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #FF7F02;
}
h1, h2, h3, h4 {
	font-family: var(--font-heading);
}

h1 {
	font-size: 4.35em;
	line-height:1.4;
	font-weight: 400;
}

h2 {
	font-size: 3.53em;
	line-height:1.4;
	font-weight: 400;
}




/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	margin:0 auto;
	position:relative;
}
/* header */
.othree-site-header {
box-shadow: 0px 3px 6px rgba(146, 141, 121, 0.13);
}

.othree-site-header:has(.othree-menu-toggle:checked) {
	position: sticky;
	top:0;
}
/* logo */
.logo {

}
.logo-img {
	margin:15px;
	max-width:186px;
	display: block;
}
/* nav */
.nav {

}

.header-right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap:25px;
}
.header-search-wrapper {
	position: relative;
}
form.search {
	width: auto;
}
.search-input {
	background-color: transparent;
	padding:15px;
	padding-right:50px;
	width:300px;
	border:1px solid #A0A0A0;
	border-radius: 6px;
}
.search-submit {
	/*margin-left:-50px;*/
	/*transform: translateX(-50px);*/
	background: transparent;
	border:0;
	content:'';
	display: inline-block;
	position: absolute;
	right:10px;
	top:50%;
	transform: translateY(-50%);
}

.header-basket {
	position: relative;
}
.header-cart-count {
	font-size:0.7em;
	font-weight: 600;
	width: 18px;
	height: 18px;
	background: #F7CD88;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius:9px;
	position: absolute;
	right:-8px;
	top:2px;
	/*transform:translateY(-13px);*/
	pointer-events: none;
}
/* footer */
.footer {
	border-radius: var(--large-border-radius);
    background-color: #1c202a;
    background-image:
        url("img/footer-bg.svg"),
        linear-gradient(#31353e 0%, #1c202a 100%);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
	padding-bottom:275px;
	color:var(--othree-warm-white);
}
.footer-inner {
	max-width: 1371px;
	width: 95%;
	margin: 0 auto;
	position: relative;
}
.footer-contact {
	height:100px;
	padding-top:75px;
	padding-bottom:75px;
	margin-bottom: 75px;
	border-bottom: 1px dotted #75797F;
	display: flex;
	align-items: center;
	gap:30px;
}
.footer-contact a {
	color:#FEFFF8;
}
.footer-contact .orange-highlight {
	color:#F7CD88;
}
.footer-nav	{
	display: grid;
	grid-template-columns: repeat(4,1fr) 1.6fr;
	gap:30px;
}
.footer ul {
	margin: 0;
	padding: 0;
}
.footer li {
	padding: 0;
	list-style: none;
	margin-bottom: 1em;
}

.footer-nav ul li a {
	color: var(--othree-warm-white);
}

.footer-social {
	flex:1;
	display: flex;
	justify-content: flex-end;
}
.menu-title {
	font-size: 1.29em;
	opacity:0.5;
	margin-bottom: 1em;
}


.inner {
	max-width: 1504px;
	width: 95%;
	position: relative;
	margin: 0 auto;
}

/*------------------------------------*\
    GUTENBERG
\*------------------------------------*/
.wp-block-separator.is-style-dots {
	border-top:2px dotted !important;
	height:2px;
}

.wp-block-separator.is-style-dots::before { 
	content:'';
	display: none;
}


/*------------------------------------*\
    BITS N BOBS
\*------------------------------------*/
.has-large-border-radius {
	border-radius:var(--large-border-radius);
}
.has-small-border-radius {
	border-radius:var(--small-border-radius);
}
.has-very-small-border-radius {
	border-radius:var(--very-small-border-radius);
}

.home-hero {
	align-items: flex-end;
}
.has-multiply .wp-block-cover__background {
	mix-blend-mode: multiply;
}

.blurry-bg {
background: transparent;
backdrop-filter: blur(15px);
--webkit-backdrop-filter: blur(15px);
background-color: rgba(255, 255, 255, 0.05);

}

.industry-leading-blurry-boxes-container {
	gap:10px;
}

.industry-leading-blurry-boxes {
	padding:2em;
	position: relative;
	border-radius: 4px;
}


.industry-leading-blurry-boxes h3 {
	font-size:1.29em;
	font-family: var(--font-body);
	font-weight:500;
}
.industry-leading-blurry-boxes::before {
	content:'';
	display: block;
	height: 100%;
	width: 100%;
	background-color: #4C4126;
	opacity:0.16;
	position: absolute;
	left:0;
	top:0;
	z-index:-1;
	border-radius: 4px;
}



.logo-blur-patch {
  position: relative;
  display: inline-block;
  isolation: isolate;
}

/* make the actual logo sit above the blur */
.logo-blur-patch img {
  display: block;
  position: relative;
  z-index: 2;
  opacity:0.3;
}

/* background blur layer, shaped like the logo */
.logo-blur-patch::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);

  background-color: rgba(255, 255, 255, 0.2);

  mask-image: url("http://localhost/othree/wp-content/uploads/2026/06/OThree-Logo.png");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-mode: alpha;

  -webkit-mask-image: url("http://localhost/othree/wp-content/uploads/2026/06/OThree-Logo.png");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

/*------------------------------------*\
    WOOOOOOOOOOOOO!
\*------------------------------------*/

/* My Account page */
.woocommerce-MyAccount-navigation {
color: #80847D;
margin-bottom: 3em;
width: 20% !important;
}

.woocommerce-MyAccount-content {
	width: 78% !important;
}

.woocommerce-MyAccount-content > p:first-of-type {
	margin-top: 0;
}

.woocommerce-MyAccount-navigation ul {
	padding-left: 0;
	margin: 0;
}
.woocommerce-MyAccount-navigation-link {
	list-style: none;
	padding-left: 0;
	border-bottom: 1px solid #fff;
	padding: 1em;
	background-color: #2F333C;
	transition: .6s all;
	color:#fff;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation-link a {
	color:#fff;
	text-decoration: none;
}
.woocommerce-MyAccount-navigation-link:hover {
	background-color: #333;
}

.woocommerce-MyAccount-navigation-link:first-of-type {
	/*border-radius: 25px 25px 0 0;*/
}
.woocommerce-MyAccount-navigation-link:last-of-type {
	border-bottom: 0;
	/*border-radius: 0 0 25px 25px;*/
}



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
  font-family: 'PP Neue Montreal';
  src: url('fonts/PPNeueMontreal-Regular.woff2') format('woff2'),
       url('fonts/PPNeueMontreal-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Neue Montreal';
  src: url('fonts/PPNeueMontreal-Medium.woff2') format('woff2'),
       url('fonts/PPNeueMontreal-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Neue Montreal';
  src: url('fonts/PPNeueMontreal-Bold.woff2') format('woff2'),
       url('fonts/PPNeueMontreal-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Formula Narrow Semibold';
  src: url('fonts/PPFormula-NarrowSemibold.woff2') format('woff2'),
       url('fonts/PPFormula-NarrowSemibold.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Formula Extrabold';
  src: url('fonts/PPFormula-Extrabold.woff2') format('woff2'),
       url('fonts/PPFormula-Extrabold.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PP Formula Condensed Black';
  src: url('fonts/PPFormula-CondensedBlack.woff2') format('woff2'),
       url('fonts/PPFormula-CondensedBlack.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.font-formula-narrow-semibold {
	font-family: 'PP Formula Narrow Semibold', 'PP Neue Montreal', Arial, sans-serif;
	font-weight: 400;
}

.font-formula-extrabold {
	font-family: 'PP Formula Extrabold', 'PP Neue Montreal', Arial, sans-serif;
	font-weight: 400;
}

.font-formula-condensed-black {
	font-family: 'PP Formula Condensed Black', 'PP Neue Montreal', Arial, sans-serif;
	font-weight: 400;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


@media only screen and (max-width:768px) {
	.footer-nav {
		display: flex;
		flex-direction: column;
	}

	.header-search-wrapper {
		display: none;
	}
}

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:480px) {

}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {

}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#FF7F02;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#FF7F02;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#FF7F02;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
