/*
Theme Name: Caribbean Boats
Description: website theme for Caribbean Boats, based on Storefront theme
Author: Ascona
Author URI: http://www.ascona.co.nz/
Template: storefront
Version: 100.0.0
*/


body, button, input, select, textarea {
	font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #000000;
}

b, strong { font-weight: 700; }

a {
	text-decoration: none;
	font-weight: inherit; 
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
a:hover { color: #3595be; text-decoration: underline; }
.hentry .entry-content a:not(.button):not(.components-button):hover { text-decoration: underline; }
.hentry .entry-content a:not(.button):not(.components-button), li.product a:hover { text-decoration: none !important; }

a:focus, button:focus, input:focus, textarea:focus {
    outline: 2px solid #3595be;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Saira', sans-serif;
    font-weight: 600;
	font-style: italic;
    letter-spacing: -0.04em;
}

h1, .page-template-template-homepage .entry-header h1 { font-size: 28px; margin-bottom: 1em; }
h2, .alpha { font-size: 1.875em; }
h3, .gamma { font-size: 1.625em; }
h4, .delta { font-size: 1.5em; }

p { margin-bottom: 1.25em; }

img {
    -o-border-radius: 0; 
    -ms-border-radius: 0; 
    -moz-border-radius: 0; 
    -webkit-border-radius: 0; 
    border-radius: 0;
}

hr { background-color: #e5e5e5; height: 2px; margin: 0 0 1.25em; }

i { font-size: 0.9em; margin-right: 0.375em; vertical-align: middle; }

small { font-size: 85%; }

table { font-size: 0.9em; border-bottom: 4px solid #efefef; }
table td, table th { padding: 0.75em 1.25em; }
table tbody td { background-color: #f7f4f1; }
table tbody tr:nth-child(2n) td { background-color: #fff; }
table th, table thead tr td { background-color: #e5e5e5; color: #000; font-weight: 700; }

.clr { clear: both; }
.hidden { display: none; }
.visuallyhidden {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}
.col-full {
    margin-left: auto;
    margin-right: auto;
    max-width: 95%;
    width: 1280px;
	padding: 0;
}
.col-full .col-full {
    max-width: 100%;
    width: 100%;
}
.entry-content > p:last-child { 
	margin-bottom: 0; 
}

body .alignright, body .alignleft {
	max-width: 45%;
	margin-top: 7px;
	margin-bottom: 1em;
}

blockquote, .wp-block-quote, .hentry .entry-content .wp-block-quote, .editor-styles-wrapper .wp-block-quote {
    margin: 0 0 2.5em 40px;
	border-left: 5px solid rgba(0, 0, 0, 0.1);
    font-style: normal;
}
blockquote::before, .wp-block-quote::before {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
	font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    content: "\f10d";
    display: block;
    height: 0;
    position: relative;
    font-size: 26px;
	left: -55px;
    top: -8px;
    color: rgba(0, 0, 0, 0.1);
}
blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin: 0; }

blockquote+h2, blockquote+h3, blockquote+h4, blockquote+header h2, form+h2, form+h3, form+h4, form+header h2, ol+h2, ol+h3, ol+h4, ol+header h2, p+h2, p+h3, p+h4, p+header h2, table+h2, table+h3, table+h4, table+header h2, ul+h2, ul+h3, ul+h4, ul+header h2 {
    margin-top: 1.75em;
}

/* HEADER */
body .site-header {
    border-bottom: none;
    padding: 1em 0 0 0;
}
.site-branding {
    float: none !important;
    margin-bottom: 0.5em;
    width: 100%;
}
.site-header .custom-logo-link img, .site-header .site-logo-anchor img, .site-header .site-logo-link img {
    margin: 0 auto;
    width: 800px;
    max-width: 100%;
	vertical-align: middle;
}

/* NAVIGATION */

.main-navigation .handheld-navigation ul { background-color: #000000; text-align: center; }
.handheld-navigation .dropdown-toggle { color: rgba(255, 255, 255, 0.65); border: none; }

.storefront-primary-navigation { background-color: #000000; }

.main-navigation { font-weight: 700; }
.main-navigation ul li a {
	color: #fff;
    font-size: 18px;
    padding: 13px 20px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    font-weight: 400;
}
.main-navigation ul li a:hover, .main-navigation ul li:hover > a, 
body ul.menu li.current-menu-item>a,
.site-header ul.menu li.current-menu-item > a {
  color: #fff;
}

button.menu-toggle, button.menu-toggle:hover {
    background-color: transparent;
    color: #fff;
    border: none;
    font-size: 1.5em;
    text-transform: uppercase;
    letter-spacing: 2px;
    width: 100%;
	max-width: 100%;
    text-align: center;
	padding: 10px;
	margin-bottom: 0;
}
button.menu-toggle span:before {
    background-color: transparent;
    position: relative;
    height: auto;
    width: auto;
    border: none;
    display: inline-block;
    margin: 0 13px 0 0;
    left: auto;
    top: auto;
	
    display: inline-block;
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
	font-style: normal;
    font-variant: normal;
    text-rendering: auto;
	
    font-size: 0.9em;
    line-height: 1;
    transform: translate(0px, 0px);
    content: '\f0c9';
}
.toggled button.menu-toggle span:before {
    opacity: 1;
    content: '\f00d';
}
button.menu-toggle:before, button.menu-toggle:after { display: none; }
.handheld-navigation .menu { padding-bottom: 20px; }

.secondary-navigation { display: block; text-align: center; margin-bottom: 0.75em; }
.secondary-navigation .menu { list-style: none; margin: 0; }

/* HEADER WIDGET */

.header-widget-region { background: #000; }

/* OTHER */
#content { margin-top: 2em; }

.entry-content ul:not(.products):not(.blocks-gallery-grid){
	list-style-type: none;
	margin-left: 10px;
}
.entry-content ul:not(.products):not(.blocks-gallery-grid) li {
	margin-bottom: 0.5em;
	text-indent: -16px;
	padding-left: 30px;
}
.entry-content ul:not(.products):not(.blocks-gallery-grid) li:before  {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
	font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    display: inline-block;
	
    font-size: 0.8em;
    line-height: 1;
    transform: translate(0px, 0px);
	content: "\f00c";
	color: #3595be;
	margin-right: 15px;
	vertical-align: middle;
}
.entry-content ul ul {
	padding-top: 20px;
}
.entry-content ul ul li:before  {
	content: "-";
}

.widget .widget-title, .widget .widgettitle {
    font-size: 26px;
    color: #3595be;
    font-weight: 600;
    padding-bottom: 0;
    border: none;
}

body .pagination .page-numbers li .page-numbers.current, body .woocommerce-pagination .page-numbers li .page-numbers.current {
    background-color: #000000;
    color: #ffffff;
}
body .pagination .page-numbers li a.page-numbers:hover, body .woocommerce-pagination .page-numbers li a.page-numbers:hover {
    background-color: #3595be;
    color: #fff;
	text-decoration: none; 
}

.hentry .entry-content .wp-block-gallery .blocks-gallery-image figcaption, .hentry .entry-content .wp-block-gallery .blocks-gallery-item figcaption, .editor-styles-wrapper .wp-block-gallery .blocks-gallery-image figcaption, .editor-styles-wrapper .wp-block-gallery .blocks-gallery-item figcaption {
    font-size: 0.85em;
    line-height: 1.4;
}
	
/* ICONS */
.menu li[class*="icon"] a:before {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
	font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    display: inline-block;
    line-height: 1;
	content: "\f061";
	margin-right: 10px;
	font-size: 0.95em;
}
.menu li.icon-arrow a:before { content: "\f0a9"; }
.menu li.icon-arrow-share a:before { content: "\f064"; }
.menu li.icon-phone a:before { content: "\f098"; }
.menu li.icon-login a:before { content: "\f064"; }
.menu li.icon-basket a:before { content: "\f291"; }
.menu li.icon-user a:before { content: "\f2bd"; }
.menu li.icon-truck a:before { content: "\f0d1"; }
.menu li.icon-info a:before { content: "\f05a"; }
.menu li.icon-close a:before { content: "\f057"; }
.menu li.icon-calendar a:before { content: "\f073"; }
.menu li.icon-facebook a:before { 
    font-family: "Font Awesome 5 Brands";
	font-weight: normal;
	content: "\f082"; 
}

/**/
ul.products li.product .woocommerce-loop-product__title, ul.products li.product h2, ul.products li.product h3, .product-title {
	font-size: 1.375em;
    font-family: 'Saira', sans-serif;
    font-weight: 600;
	font-style: italic;
	border: none;
	padding-top: 0;
	padding-bottom: 0;
	letter-spacing: -0.04em;
}
ul.products li.product a:hover .woocommerce-loop-product__title, ul.products li.product a:hover h2, ul.products li.product a:hover h3, a:hover .product-title {
	color: #3595be;
}

/* FORMS */

fieldset { background-color: #f7f4f1; }
fieldset legend { background: #3595be; color: #fff; margin-left: -0.75em; }
label { font-weight: 700; }

.input-text, 
input[type=text], 
input[type=email], 
input[type=url], 
input[type=password], 
input[type=search], 
input[type=tel],
body textarea, 
body select, .select2-container--default .select2-selection--single {
	background-color: #fff;
    border-radius: 0;
    box-shadow: none;
    font-size: 18px;
    line-height: 1.5em;
    font-weight: 400;
    border: 3px solid #f7f4f1;
    padding: 13px 15px;
}
.select2-container--default .select2-selection--single { box-sizing: content-box; padding: 13px 15px !important; } 
.select2-container--default .select2-selection__arrow { height: 100% !important; }
.select2-container--default .select2-selection--single {
    padding: initial;
}
.input-text:focus, 
input[type=text]:focus, 
input[type=email]:focus, 
input[type=url]:focus, 
input[type=password]:focus, 
input[type=search]:focus, 
input[type=tel]:focus, 
body textarea:focus, 
body select:focus, .select2-container--default .select2-selection--single:focus {
	background-color: #fff;
    border-left: 4px solid #3595be;
    color: #000000;
	font-weight: 400;
}
.input-text:placeholder, 
input[type=text]:placeholder, 
input[type=email]:placeholder, 
input[type=url]:placeholder, 
input[type=password]:placeholder, 
input[type=search]:placeholder, 
input[type=tel]:placeholder, 
body textarea:placeholder, 
body select {
    color: #000000;
	opacity: 1;
	font-weight: 400;
}
[placeholder]::-webkit-input-placeholder{ color: #000000; }
img.ninja-forms-help-text { display: inline-block; }
.ninja-forms-field-description { font-size: 0.85em; }
#nf-form-1-cont .nf-form-title h3 { padding-top: 0; }
body .nf-error .ninja-forms-field { border: 3px solid #f7f4f1; border-left: 4px solid #cb161f; }
body .nf-error-msg, body .ninja-forms-req-symbol { color: #cb161f; font-size: 0.9em; font-weight: 400; }
body .nf-field p:last-child { margin-bottom: 0; }
body .nf-field-description { font-size: 0.85em; opacity: 0.6; margin-top: 7px; }
body .nf-form-fields-required { margin-bottom: 1.25em; }
body .nf-response-msg { color: #cb161f; font-weight: 700; }

.required {
    color: #cb161f;
    font-size: 0.9em !important;
    border: none;
    text-decoration: none;
}
.required:after { display: none; }

/** FOOTER */
.site-footer .storefront-handheld-footer-bar a:not(.button) { color: #ffffff; }
.site-footer { padding: 2em 0; }
.site-footer a:not(.button) { color: #7b7b7b; text-decoration: none; }
.site-footer a:not(.button):hover { color: #3595be; }
.footer-widgets { padding-top: 0; border-bottom: none; color: #fff; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.site-footer .widget .widget-title {
	font-size: 20px;
    padding: 0;
    border-bottom: none;
    color: #7b7b7b;
    font-family: 'Saira', sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.04em;
    text-transform: uppercase;
}
.site-footer .widget { margin-bottom: 2.5em; }
.site-footer .widget_nav_menu ul li:before { display: none; }
.site-footer p { margin-bottom: 0.5em; }
.site-footer img { display: inline-block;  }
.site-footer a:not(.button):not(.components-button) {
    color: #fff;
    text-decoration: none;
}
.site-footer a:not(.button):not(.components-button):hover {
    text-decoration: underline;
    cursor: pointer;
}

.site-info {
	padding: 1em 0 1em 0;
	font-size: 0.9em;
	text-align: center;
}
.site-footer .site-info a:not(.button) {
    color: #7b7b7b;
    text-decoration: none;
}
.site-footer .site-info a:not(.button):hover {
    color: #fff;
    text-decoration: none;
}


/* HOME */
.page-template-template-homepage:not(.has-post-thumbnail) .site-main {
    padding-top: 0;
    margin-bottom: 0;
}
.page-template-template-homepage .type-page { margin-bottom: 0; }

.widget-area .widget a:not(.button) { text-decoration: none; }

.storefront-handheld-footer-bar, .storefront-handheld-footer-bar ul li > a, .storefront-handheld-footer-bar ul li.search .site-search {
    background-color: #3595be;
}
.storefront-handheld-footer-bar {
    -o-box-shadow: none;
    -ms-box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-top: 4px solid #fff;
}
.storefront-handheld-footer-bar ul li.cart .count {
    background-color: #fff;
    color: #3595be;
    border: 2px solid #3595be;
	font-weight: 400;
}


/* WOOCOMMERCE */

.woocommerce-breadcrumb { font-size: .85em; }
.storefront-breadcrumb,
.woocommerce-breadcrumb {
    background-color: transparent;
    padding: 0;
    margin-bottom: 1.5em;
    margin-top: -0.5em;
	color: #888888;
}
.woocommerce-breadcrumb a, .storefront-breadcrumb a {
    font-weight: 400;
    text-decoration: none;
    color: #888888;
}
.woocommerce-breadcrumb a:hover, .storefront-breadcrumb a:hover { color: #3595be; }
.woocommerce-breadcrumb a:first-of-type { display: inline-block; text-indent: -9999px; width: 20px; }
.woocommerce-breadcrumb a:first-of-type:before { 
	margin-right: 0; 
	font-size: 0.85em; 
	display: inline-block;
    position: absolute;
    text-indent: 9999px;
	padding-top: 1px;
}

.comment-form textarea { height: 150px; }

.pagination .page-numbers li .page-numbers.current, 
.woocommerce-pagination .page-numbers li .page-numbers.current {
    background-color: #000000;
    color: #7f7f7f;
}
.pagination .page-numbers li .page-numbers, 
.woocommerce-pagination .page-numbers li .page-numbers {
    background-color: rgba(9, 10, 30, 0.1);
    color: #000000;
}
.pagination .page-numbers li a.page-numbers:hover, 
.woocommerce-pagination .page-numbers li a.page-numbers:hover {
    background-color: rgb(237, 28, 36);
    color: #fff;
}

del span { text-decoration: line-through; }

.woocommerce-info, .woocommerce-noreviews, p.no-comments { background-color: #3595be; }
.woocommerce-error { background-color: #3595be; }

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs {
    margin: 0 -0.75em;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 25%;
    margin: 0;
    padding: 0 0.75em 1.5em 0.75em;
}
.woocommerce-product-gallery ol { display: flex; flex-wrap: wrap; margin: 0 -0.5em !important;}
.woocommerce-product-gallery ol li {
    width: 20% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0.5em;
}
.woocommerce-product-gallery ol li img { margin: 0 !important; width: 100%; }

li.product .short_description { line-height: 1.5; }

li.product a:hover { opacity: 0.75; }

li.product.outofstock a { position: relative; }
.product.outofstock .summary .product_title::after,
li.product.outofstock a::before {
    content: "SOLD";
    color: #e2401c;
}
.product.outofstock .summary .product_title::after {
	display: block;
    padding-top: 1em;
    font-style: normal;
}
li.product.outofstock a::before {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0.25em 0.5em;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 20%;
    width: 40%;
    font-size: 2em;
	font-family: 'Saira', sans-serif;
    font-weight: 600;
	letter-spacing: -0.05em; 
}
.stock.out-of-stock { 
	font-family: 'Saira', sans-serif;
    font-weight: 600;
	font-size: 1.5em; 
	letter-spacing: -0.05em; 
}
.stock.out-of-stock::before { 
	content: "\f00c";
    font-size: 0.85em;
    margin-right: 0.375em;
}
.storefront-featured-products .section-title { display: none; }

.storefront-handheld-footer-bar { display: none; }

/**/

.back-to-top {
	cursor: pointer;
    position: fixed;
    bottom: 5.5em;
    right: 20px;
    display: none;
    background-color: #3595be;
    border-color: #3595be;
    padding: 6px 8px;
    line-height: 1em;
    color: #fff;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    width: 40px;
    height: 40px;
	font-size: 0.95em;
	z-index: 10;
}
.back-to-top:hover { 
	color: #fff; 
    background-color: #3595be;
    border-color: #3595be;
}
.back-to-top i { margin: 0; padding: 4px; }

.d-flex { display: flex; }

@media (min-width: 768px){
	.floatleft { float: left; }
	.floatright { float: right; }
	.width20 { width: 20%; }
	.width33 { width: 33.333%; }
	.width40 { width: 40%; }
	.width45 { width: 45%; }
	.width50 { width: 50%; }
	.width55 { width: 55%; }
	.width60 { width: 60%; }
	.width75 { width: 75%; }
	
	body, button, input, select, textarea { font-size: 18px; }
	h1, .page-template-template-homepage .entry-header h1 { font-size: 34px; }
	.storefront-secondary-navigation.woocommerce-active .site-header .site-branding {
		width: 60%;
		float: left !important;
		margin-right: 5%;
		margin-bottom: 1em;
	}
	.storefront-secondary-navigation.woocommerce-active .site-header .secondary-navigation {
		width: 35%;
		float: left;
		margin-right: 0;
	    margin-top: 0.5em;
	}
	.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: 0.5em 1em; }
	.woocommerce-active .site-header .main-navigation { width: 100%; float: left; margin: 1em 0; }
	.main-navigation ul.menu, .main-navigation ul.nav-menu { text-align: center; }
	
	.storefront-full-width-content.single-product div.product .woocommerce-product-gallery,
	.storefront-full-width-content .woocommerce-tabs ul.tabs { width: 30%; margin-right: 5%; }
	.storefront-full-width-content.single-product div.product .summary, 
	.storefront-full-width-content .woocommerce-tabs .panel { width: 65%; }
	
	#content { margin-top: 2.5em; }
	.hentry { margin: 0; }
	
	.site-info { display: flex; justify-content: space-between; font-size: 0.85em; text-align: left; margin: 0 -2em; }
	.site-info > div { margin: 0 2em; }
	.site-info .credit { text-align: right; }
}

@media (min-width: 992px){
	h1, .page-template-template-homepage .entry-header h1 { font-size: 36px; }
	.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: 0.5em 0.625em; }
}

@media (min-width: 1200px){
	.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: 0.5em 0.75em; }
}

@media (min-width: 1440px){
	body, button, input, select, textarea { font-size: 20px; }
	h1, .page-template-template-homepage .entry-header h1 { font-size: 38px; }
	.main-navigation ul li a { font-size: 20px; }
	.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: 0.5em 0.875em; }
}


@media only screen and (max-width: 359px){
	body .alignright, body .alignleft {
		max-width: 100%;
		float: none;
		margin-left: 0;
		margin-right: 0;
		display: block;
		margin-bottom: 1.4em;
	}
}