/*
 * Theme Name: Mud Puddle
 * Author: Alan Tung
 * Description: Custom theme. Built in 2026.
 * Version: 1.0
*/

/*--------------------------------------------------
  GLOBAL SETUP
--------------------------------------------------*/

body {
	font-family: "Inter", sans-serif;
	background-color: #068bc6;
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.1em;
}

h1 {
	font-family: "SN Pro", sans-serif;
	font-size: 44px;
	font-weight: 300;
	color: #f37022;
	text-align: center;
	margin: 0;
	padding: 0px 0px 18px 0px;

}

h2 {
	font-size: 22px;
	font-weight: 600;
	margin: 0;
	padding: 18px 0px 14px 0px;
}

p {
	font-family: "Inter", sans-serif;
	font-size: 18px;
	font-weight: 300;
	margin: 0;
	padding: 0px 0px 14px 0px;
	line-height: 1.6em;
}

p:last-child {
	padding-bottom: 0;
}


a {
	text-decoration: none;
	color: #f37022;
}

a:hover {
	color: #068bc6;
}

#wrap {
	width: 100%;
	background-color: #FFFFFF;
	margin: 0;
	padding: 0;
}

.clearfix::after {
	content: "";
	clear: both;
	display: table;
}

.wp-block-separator {
	height: 1px !important;
	background-color: #C2C2C2 !important;
	border: none !important;
	margin: 0;
	padding: 0;
}

@media (max-width: 800px) {
	
	h1 {
		font-size: 40px;
	}
	
	h2 {
		font-size: 20px;
	}
	
	p {
		font-size: 16px;
	}
	
}

@media (max-width: 640px) {
	
	h1 {
		font-size: 36px;
		padding: 0px 0px 16px 0px;
	}
	
	h2 {
		font-size: 17px;
		padding: 12px 0px 12px 0px;
	}
	
	p {
		font-size: 14px;
	}
	
}


/*----------------------------------------------------------------------
  GLOBAL CONTENT WIDTHS
----------------------------------------------------------------------*/

/*----- Content width less than layout -----*/

#content {
	width: 980px;
	margin: 0px auto;
}

@media (max-width: 1020px) {
	
	#content {
		width: calc( 100% - 100px );
	}
	
}

@media (max-width: 640px) {
	
	#content {
		width: calc( 100% - 60px );
	}
	
}

/*----- Header, Product Navigation, Breadcrumb, Footer, Content (Full Width) -----*/

#header-elements, #product-list-navigation-area, #breadcrumb, #footer-elements, 
.home #content, .page-id-103 #content, .search #content, .tax-product-type #content {
	width: 1280px;
	margin: 0px auto;
}

@media (max-width: 1380px) {
	
	#header-elements, #product-list-navigation-area, #breadcrumb, #footer-elements, 
	.home #content, .page-id-103 #content, .search #content, .tax-product-type #content {
		width: calc( 100% - 100px );
	}
	
}

@media (max-width: 640px) {
	
	#header-elements, #product-list-navigation-area, #breadcrumb, #footer-elements, 
	.home #content {
		width: calc( 100% - 60px );
	}

	.page-id-103 #content, .search #content, .tax-product-type #content {
		width: calc( 100% - 90px );
	}
	
}


/*----------------------------------------------------------------------
  HEADER (LOGO, NAVIGATION MENU, MOBILE MENU)
----------------------------------------------------------------------*/

#header {
	width: 100%px;
	border-bottom: 1px solid #C2C2C2;
}

.home #header, .page-id-103 #header, .single-product #header, .tax-product-type #header {
	border-bottom: none;
}

#header-elements {
	position: relative;
}

#header-logo {
	padding: 15px 0px;
}

#header-logo a {
	display: block;
	margin: 0px;
	padding: 0px;
}

#header-logo, #header-logo a {
	max-width: 270px;
	max-height: 80px;
}

#header-logo a img {
	width: 100%;
	height: 100%;
	display: block;
	margin: 0px;
	padding: 0px;
}

#nav-menu {
	position: absolute;
	top: 51%;
	right: 0;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#nav-menu ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#nav-menu ul li {
	margin: 0;
	padding: 0;
	display: inline-block;
	margin-left: 20px;
}

#nav-menu ul li a {
	font-weight: 600;
	font-size: 16px;
	color: #000000;
	text-transform: uppercase;
}

#nav-menu ul li a:hover {
	color: #f37022;
}

#mobile-menu {
	display: none;
	background-color: red;
}

@media (max-width: 800px) {
	
	#header-logo, #header-logo a {
		max-width: 230px;
		max-height: 70px;
	}
	
	#nav-menu ul li a {
		font-size: 14px;
	}
	
}

@media (max-width: 640px) {
	
	.home #header, .page-id-103 #header, .single-product #header, .tax-product-type #header {
		border-bottom: 1px solid #C2C2C2;
	}
	
	#nav-menu {
		display: none;
	}
	
	#mobile-menu {
		display: block;
	}
	
}


/*----------------------------------------------------------------------
  HOMEPAGE BANNER
----------------------------------------------------------------------*/

#homepage-banner {
	width: 100%;
	background-color: #D6D6D6;
}


/*----------------------------------------------------------------------
  BREADCRUMB
----------------------------------------------------------------------*/

#breadcrumb {
	padding: 10px 0px;
	font-size: 12px;
	text-align: right;
	color: #bfbfbf;
}

#breadcrumb span {
	margin: 0px 3px;
}

#breadcrumb span:last-child {
	margin-right: 0px;
}

#breadcrumb a {
	color: #bfbfbf;
}

#breadcrumb a:hover {
	color: #5C5C5C;
}

@media (max-width: 640px) {
	
	#breadcrumb {
		display: none;
	}
	
}


/*----------------------------------------------------------------------
  CONTENT
----------------------------------------------------------------------*/

#content {
	min-height: 600px;
	padding: 10px 0px 80px 0px;
}

@media (max-width: 640px) {
	
	#content {
		padding: 33px 0px 80px 0px;
	}
	
}


/*----------------------------------------------------------------------
  FOOTER
----------------------------------------------------------------------*/

#footer {
	width: 100%px;
	background-color: #068bc6;
}

#footer-elements {
	padding: 27px 0px 30px 0px;
}

#footer-menu {
	margin-bottom: 15px;
}

#footer-menu ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

#footer-menu ul li {
	margin: 0px 0px 0px 15px;
	padding: 0;
	display: inline-block;
}

#footer-menu ul li:first-child {
	margin: 0;
	padding: 0;
	display: inline-block;
}

#footer-menu ul li a {
	font-weight: 600;
	font-size: 16px;
	color: #FFD159;
	text-transform: uppercase;
}

#footer-menu ul li a:hover {
	color: #FFFFFF;
}

#footer-text {
	font-size: 16px;
	font-weight: 300;
	text-align: center;
	color: #FFFFFF;
}

@media (max-width: 800px) {
	
	#footer-menu {
		margin-bottom: 12px;
	}
	
	#footer-menu ul li a {
		font-size: 14px;
	}
	
	#footer-text {
		font-size: 14px;
	}
	
}

@media (max-width: 640px) {
	
	#footer-menu {
		margin-bottom: 10px;
	}
	
	#footer-menu ul li a {
		font-size: 12px;
	}
	
	#footer-text {
		font-size: 12px;
	}
	
}


/*----------------------------------------------------------------------
  HOME PAGE
----------------------------------------------------------------------*/

.home #content {
	padding: 35px 0px 60px 0px;
}

.home #content h1 {
	text-align: center;
}

.home #content h2 {
	text-align: center;
	font-size: 26px;
	padding-bottom: 20px;
}

.home #content p {
	text-align: center;
}

.home #content .we-offer-item-container {
	padding: 30px 0px;
	position: relative;
}

.home #content .we-offer-item-container .we-offer-textbox {
	width: calc( 30% - 40px );
	padding-bottom: 8px;
	position: absolute;
	top: 50%;
	left: 0;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.home #content .we-offer-item-container .we-offer-textbox h3 {
	font-family: "SN Pro", sans-serif;
	font-weight: 300;
	font-size: 36px;
	color: #f37022;
	margin: 0;
	padding: 0px 0px 10px 0px;
}

.home #content .we-offer-item-container .we-offer-textbox p {
	text-align: left;
	padding: 0;
}

.home #content .we-offer-item-container .we-offer-image {
	width: 70%;
	float: right;
}

.home #content .we-offer-item-container .we-offer-image figure {
	display: block;
	margin: 0;
	padding: 0;
}

.home #content .we-offer-item-container .we-offer-image figure img {
	
}

.home #content .homepage-bottom-message {
	padding-top: 40px;
}

@media (max-width: 1000px) {

	.home #content {
		padding-top: 33px;
		font-size: 23px;
	}
	
	.home #content h2 {
		font-size: 23px;
	}
	
	.home #content .we-offer-item-container .we-offer-textbox h3 {
		font-size: 28px;
	}
	
	.home #content .we-offer-item-container .we-offer-textbox p {
		font-size: 14px;
	}
	
}

@media (max-width: 800px) {
	
	.home #content {
		padding-top: 30px;
	}
	
	.home #content h2 {
		font-size: 21px;
	}

	.home #content .we-offer-item-container .we-offer-textbox {
		width: 100%;
		position: static;
		top: 0;
		left: 0;
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
	
	.home #content .we-offer-item-container .we-offer-textbox h3 {
		text-align: center;
	}
	
	.home #content .we-offer-item-container .we-offer-textbox p {
		text-align: center;
	}
	
	.home #content .we-offer-item-container .we-offer-image {
		width: 100%;
		padding: 5px 0px 5px 0px;
		float: clear;
	}
	
}

@media (max-width: 640px) {
	
	.home #content {
		padding: 25px 0px 50px 0px;
	}
	
	.home #content h2 {
		font-size: 19px;
	}
	
}


/*----------------------------------------------------------------------
  CONTACT PAGE
----------------------------------------------------------------------*/

.page-id-12 #content h2 {
	text-align: center;
}

.page-id-12 #content p {
	text-align: center;
}

.page-id-12 #content .contact-us-email {
	font-weight: 600;
}

.page-id-12 #contact-extra-info {
	width: 560px;
	margin: 0px auto;
	padding: 14px 0px 0px 0px;
	border-top: 1px solid #C2C2C2;
}

.page-id-12 #contact-extra-info .contact-extra-info-header {
	font-size: 18px;
	font-weight: 600;
	width: 180px;
	padding: 20px 0px 0px 0px;
	float: left;
}

.page-id-12 #contact-extra-info .contact-extra-info-text {
	font-size: 18px;
	font-weight: 300;
	width: calc( 100% - 180px );
	padding: 20px 0px 0px 0px;
	float: left;
}

@media (max-width: 800px) {
	
	.page-id-12 #contact-extra-info {
		width: 510px;
	}
	
	.page-id-12 #contact-extra-info .contact-extra-info-header {
		font-size: 16px;
		width: 170px;
	}
	
	.page-id-12 #contact-extra-info .contact-extra-info-text {
		font-size: 16px;
		width: calc( 100% - 170px );
	}
	
}

@media (max-width: 640px) {
	
	.page-id-12 #contact-extra-info {
		width: 100%;
	}
	
	.page-id-12 #contact-extra-info .contact-extra-info-header {
		font-size: 14px;
		width: 100%;
		text-align: center;
		padding: 20px 0px 0px 0px;
		float: clear;
	}
	
	.page-id-12 #contact-extra-info .contact-extra-info-text {
		font-size: 14px;
		width: 100%;
		text-align: center;
		padding: 5px 0px 0px 0px;
		float: clear;
	}
	
}


/*----------------------------------------------------------------------
  PRODUCT LIST NAVIGATION
----------------------------------------------------------------------*/

#product-list-navigation-bar {
	padding: 5px 0px;
	background-color: #068bc6;
}

#product-list-navigation-area {
	position: relative;
}

#product-list-navigation-area #product-list-navi-menu {
	width: 78%;
	position: absolute;
	top: 50%;
	left: 0px;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#product-list-navigation-area #product-list-navi-menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#product-list-navigation-area #product-list-navi-menu ul li {
	display: block;
	float: left;
	margin-right: 27px;
	text-transform: uppercase;
}

#product-list-navigation-area #product-list-navi-menu ul li a {
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 500;
}

#product-list-navigation-area #product-list-navi-menu ul li a:hover {
	color: #FFD159;
}

#product-list-navigation-area #product-list-search {
	width: 20%;
	padding: 3px;
	/* border: 1px solid #C2C2C2; */
	border-radius: 50px;
	overflow: hidden;
	float: right;
	background-color: white;
}

#product-list-navigation-area #product-list-search form {
	width: calc( 100% - 7px );
	padding-left: 7px;
	position: relative;
}

#product-list-navigation-area #product-list-search form input {
	outline: none;
	box-shadow: none;
}

#product-list-navigation-area #product-list-search form #s {
	display: block;
	border: none;
	width: calc( 100% - 30px );
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 300;
}

#product-list-navigation-area #product-list-search form #searchsubmit {
	display: block;
	border: none;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: 6px;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: transparent;
	background-image: url("../../uploads/2026/08/search_icon.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

@media (max-width: 800px) {
	
	#product-list-navigation-area #product-list-navi-menu ul li a {
		font-size: 13px;
	}
	
	#product-list-navigation-area #product-list-search {
		width: 140px;
	}
	
}

@media (max-width: 640px) {
	
	#product-list-navigation-bar {
		display: none;
	}
	
}



/*----------------------------------------------------------------------
  PRODUCT LIST DISPLAY
----------------------------------------------------------------------*/

#product-list-display-area {
	width: 100%;
	padding-top: 32px;
}

#product-list-display-area a {
	display: block;
	width: calc( 20% - 36px );
	margin-right: 45px;
	margin-top: 43px;
	color: #000000;
	float: left;
}

#product-list-display-area a:nth-child(5n+0) {
	margin-right: 0px;
}

#product-list-display-area a:nth-child(1), 
#product-list-display-area a:nth-child(2), 
#product-list-display-area a:nth-child(3), 
#product-list-display-area a:nth-child(4), 
#product-list-display-area a:nth-child(5) {
	margin-top: 0px;
}

#product-list-display-area a:hover {
	color: #f37022;
}

#product-list-display-area a .product-list-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	font-size: 14px;
	font-weight: 300;
	text-transform: uppercase;
	color: #C2C2C2;
}

#product-list-display-area a .product-list-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	margin: 0;
	padding: 0;
}

#product-list-display-area a .product-list-title {
	height: 45px;
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	padding-top: 6px;
	overflow: visible;
}

@media (max-width: 1180px) {
	
	#product-list-display-area a {
		width: calc( 25% - 30px );
		margin-right: 40px;
		margin-top: 43px;
	}
	
	#product-list-display-area a:nth-child(5n+0) {
		margin-right: 40px;
	}
	
	#product-list-display-area a:nth-child(4n+0) {
		margin-right: 0px;
	}
	
	#product-list-display-area a:nth-child(5) {
		margin-top: 43px;
	}
	
	#product-list-display-area a .product-list-title {
		height: 42px;
		font-size: 15px;
	}
	
}

@media (max-width: 910px) {
	
	#product-list-display-area a {
		width: calc( calc( 100% / 3 ) - 30px );
		margin-right: 45px;
		margin-top: 43px;
	}
	
	#product-list-display-area a:nth-child(5n+0) {
		margin-right: 45px;
	}
	
	#product-list-display-area a:nth-child(4n+0) {
		margin-right: 45px;
	}
	
	#product-list-display-area a:nth-child(3n+0) {
		margin-right: 0px;
	}
	
	#product-list-display-area a:nth-child(5), 
	#product-list-display-area a:nth-child(4) {
		margin-top: 43px;
	}
	
	#product-list-display-area a .product-list-title {
		height: 40px;
		font-size: 14px;
	}
	
}

@media (max-width: 640px) {
	
	#product-list-display-area {
		padding-top: 28px;
	}
	
	#product-list-display-area a {
		width: calc( 50% - 23px );
		margin-right: 46px;
		margin-top: 43px;
	}
	
	#product-list-display-area a:nth-child(5n+0) {
		margin-right: 46px;
	}
	
	#product-list-display-area a:nth-child(4n+0) {
		margin-right: 46px;
	}
	
	#product-list-display-area a:nth-child(3n+0) {
		margin-right: 46px;
	}
	
	#product-list-display-area a:nth-child(2n+0) {
		margin-right: 0px;
	}
	
	#product-list-display-area a:nth-child(5), 
	#product-list-display-area a:nth-child(4),
	#product-list-display-area a:nth-child(3) {
		margin-top: 43px;
	}
	
	#product-list-display-area a .product-list-title {
		height: 38px;
		font-size: 14px;
	}
	
}


/*----------------------------------------------------------------------
  SEARCH RESULT PAGE
----------------------------------------------------------------------*/

.search-results #content h1 span {
	color: #068bc6;
}


/*----------------------------------------------------------------------
  INDIVIDUAL PRODUCT PAGE
----------------------------------------------------------------------*/

.single-product-container {
	width: 100%;
	padding-top: 15px;
}

.single-product-image-area {
	width: calc( 50% - 20px );
	float: left;
}

.single-product-image-area .single-product-image-box {
	width: 100%;
	padding-top: 100%;
	position: relative;
	border: 1px solid #C2C2C2;
	box-sizing: border-box;
	border-radius: 5px;
	overflow: hidden;
}

.single-product-image-area .single-product-image-box .single-product-image {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	background-color: #FFFFFF;
}

.single-product-image-area .single-product-image-box .single-product-image img,
.single-product-image-area .single-product-image-box .single-product-image p {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform:translate(-50%, -50%);
	max-width: 90%;
	max-height: 90%;
	margin: 0;
	padding: 0;
	color: #C2C2C2;
	display: block;
}

.single-product-image-area .single-product-thumbnails {
	margin-top: 11px;
	text-align: center;
}

.single-product-image-area .single-product-thumbnails .single-product-thumbnail-image {
	position: relative;
	width: 70px;
	height: 70px;
	border: 1px solid #C2C2C2;
	box-sizing: border-box;
	border-radius: 5px;
	overflow: hidden;
	display: inline-block;
	margin: 0;
	padding: 0;
	background-color: #FFFFFF;
}

@supports (display: flex) {
	
	.single-product-image-area .single-product-thumbnails {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	.single-product-image-area .single-product-thumbnails .single-product-thumbnail-image {
		display: block;
		margin: 4px 2px 0px 2px;
	}
	
}

.single-product-image-area .single-product-thumbnails .single-product-thumbnail-image:hover {
	border-color: #f37022;
	cursor: pointer;
}

.single-product-image-area .single-product-thumbnails .single-product-thumbnail-image img {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform:translate(-50%, -50%);
	max-width: 95%;
	max-height: 95%;
	margin: 0;
	padding: 0;
	display: block;
}

.single-product-image-area .single-product-thumbnails .selected-product-thumbnail {
	border-color: #000000;
}

.single-product-info-area {
	width: calc( 50% - 20px );
	float: right;
}

.single-product-info-area .single-product-info-item {
	margin-bottom: 20px;
}

.single-product-info-area .single-product-info-item:last-child {
	margin-bottom: 0;
}

.single-product-info-area .single-product-description {
	
}

.single-product-info-area .single-product-description ul {
	padding-left: 16px;
	margin: 0;
}

.single-product-info-area .single-product-description ul li {
	font-weight: 300;
	font-size: 18px;
	line-height: 1.6em;
	padding: 0px 0px 14px 0px;
}

.single-product-info-area .single-product-description ul li:last-child {
	padding: 0;
}

.single-product-info-area .single-product-component-list {
	
}

.single-product-info-area .single-product-component-list ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.single-product-info-area .single-product-component-list ul li {
	
}

.single-product-info-area .single-product-dimensions {
	
}

.single-product-info-area .single-product-dimensions p {
	margin: 0;
	padding: 0;
}

.single-product-info-area .single-product-dimensions .product-metric-system-measurements {
	font-size: 14px;
}

.single-product-info-area .single-product-page-count {
	
}

.single-product-info-area .single-product-isbn {
	
}

.single-product-info-area .product-spec-header {
	font-weight: 600;
	font-size: 18px;
	line-height: 1.6em;
	display: block;
	margin: 0;
	padding: 0;
	width: 135px;
	float: left;
}

.single-product-info-area .product-spec-detail {
	width: calc( 100% - 135px );
	float: left;
}

@media (max-width: 800px) {
	
	.single-product-info-area .single-product-description ul li {
		font-size: 16px;
	}
	
	.single-product-info-area .single-product-dimensions .product-metric-system-measurements {
		font-size: 12px;
	}
	
	.single-product-info-area .product-spec-header {
		width: 120px;
		font-size: 14px;
	}
	
	.single-product-info-area .product-spec-detail {
		width: calc( 100% - 120px );
	}
	
	.single-product-info-area .product-spec-detail p {
		font-size: 14px;
	}
	
}

@media (max-width: 640px) {
	
	.single-product-image-area {
		width: 100%;
		float: none;
		margin-bottom: 30px;
	}
	
	.single-product-info-area {
		width: 100%;
		text-align: center;
		float: none;
	}
	
	.single-product-info-area .single-product-description ul li {
		font-size: 14px;
		list-style-type: none;
	}
	
	.single-product-info-area .single-product-dimensions .product-metric-system-measurements {
		font-size: 10px;
		display: none;
	}
	
	.single-product-info-area .product-spec-header {
		width: 100%;
		font-size: 17px;
		float: none;
	}

	.single-product-info-area .product-spec-detail {
		width: 100%;
		float: none;
	}
	
}


/*----------------------------------------------------------------------
  PASSWORD PROTECTED PAGE
----------------------------------------------------------------------*/

#content .post-password-form {
	padding-top: 150px;
	text-align: center;
}

#content .post-password-form p {
	
}

#content .product-media-main-header {
	
}

#content .product-media-sub-header {
	font-size: 20px;
	text-transform: uppercase;
	line-height: 1em;
	font-weight: 400;
	padding-top: 2px;
	color: #068bc6;
}

@media (max-width: 800px) {
	
	#content .product-media-sub-header {
		font-size: 19px;
	}
	
}

@media (max-width: 640px) {
	
	#content .product-media-sub-header {
		font-size: 18px;
	}
	
}


/*----------------------------------------------------------------------
  PRODUCT MEDIA PAGE
----------------------------------------------------------------------*/

.single-product_media #content .lpl-playlist-wrap {
	margin-top: 10px;
}