* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*
 * -- BASE STYLES --
 * Most of these are inherited from Base, but I want to change a few.
 */
body {
    line-height: 1.7em;
    color: #7f8c8d;
    font-size: 1em;
	/*min-width:280px;*/
}

h1,
h2,
h3,
h4,
h5,
h6,
label {
    color: #34495e;
}

.pure-img-responsive {
    max-width: 100%;
    height: auto;
}

/*
 * -- LAYOUT STYLES --
 * These are some useful classes which I will need
 */
.l-box {
    padding: 1em;
}

.l-box-lrg {
    padding: 2em;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

.is-center {
    text-align: center !important;
}
.is-left {
    text-align: left !important;
}
.is-right {
    text-align: right !important;
}

.hpadded{
    padding: 0 1em !important;
}
.counter{
    font-size:80%;
	color:#777;
}
.bigger{
    font-size:140%;
}
.standard{
    font-size:100%;
}
.small{
    font-size:80%;
}
.smaller{
    font-size:60%;
}
.unmarked{
    list-style-type: none !important;
    padding-inline-start: 0 !important;
	text-decoration: none !important;
}
a{
    color: #367ACF;
}
a:hover{
	text-decoration: underline !important;
    color: #E81821 !important;
	cursor:pointer;
}
a .active{
    color: #E81821 !important;
}
.footerlink{
    color: #aaa !important;
	text-decoration: none !important;
	text-align: left !important;
	padding-left:1em;
}
.light{
    color: #ddd !important;
}
.red{
    color: #E31721 !important;
}
.white{
    color: #fff !important;
}
.blue{
    color: #367ACF !important;
}
.yellow{
    color: #FFFA6A !important;
}
.green{
    color: #1A8B67 !important;
}
.grey{
    color: #444 !important;
}
.medlight{
    color: #aaa !important;
}
/*
 * -- PURE FORM STYLES --
 * Style the form inputs and labels
 */
.pure-form label {
    margin: 1em 0 0;
    font-weight: bold;
    font-size: 100%;
}

.pure-form input[type] {
    border: 2px solid #ddd;
    box-shadow: none;
    font-size: 100%;
    width: 100%;
    margin-bottom: 1em;
}

/*
 * -- PURE BUTTON STYLES --
 * I want my pure-button elements to look a little different
 */
.roundark, .roundred {
    background-color: #444;
    color: white;
    padding: 0.4em;
    border-radius: 10px;
}
.roundred {
    background-color: #E31721;
}

.pure-button {
    background-color: #1f8dd6;
    color: white;
    padding: 0.5em 2em;
    border-radius: 5px;
}

a.pure-button-primary {
    background: white;
    color: #444;
    border-radius: 5px;
    font-size: 120%;
}

#headersearch input::-webkit-search-decoration,
#headersearch input::-webkit-search-cancel-button {
	display: none; 
}
#headersearch input[type=search] {
  outline: none;
	width: 15px;
	padding-left: 10px;
	color: transparent;
	cursor: pointer;
    background: #fff url('../../images/search-icon.png') no-repeat 9px center;
	border: 2px solid #00457e;
	padding: 9px 10px 9px 32px;
	
	-webkit-border-radius: 10em;
	-moz-border-radius: 10em;
	border-radius: 10em;
	
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	transition: all .5s;
}
#headersearch input[type=search]:hover {
	background-color: #fff;
}
#headersearch input[type=search]:focus {
	width: 150px;
	padding-left: 32px;
	color: #000;
	background-color: #fff;
	cursor: auto;
	background-color: #fff;
	border: 2px solid #00457e;
}
#headersearch input:-moz-placeholder {
	color: transparent;
}
#headersearch input::-webkit-input-placeholder {
	color: transparent;
}

/*
 * -- MENU STYLES --
 * I want to customize how my .pure-menu looks at the top of the page
 */

.home-menu {
    padding: 0.5em;
    text-align: center;
    box-shadow: 0 1px 1px rgba(0,0,0, 0.10);
}
.home-menu {
    /*background: #111 url(../../images/top.webp) no-repeat 100% 100%;
    background-size: cover;*/
	background-color:#E31721;
}
.pure-menu.pure-menu-fixed {
    /* Fixed menus normally have a border at the bottom. */
    border-bottom: none;
    /* I need a higher z-index here because of the scroll-over effect. */
    z-index: 4;
}

.home-menu .pure-menu-heading {
    color: white;
    font-weight: 400;
    font-size: 120%;
}

.home-menu .pure-menu-selected a {
    color: white;
}

.home-menu a {
    color: #6FBEF3;
}
.home-menu li a:hover,
.home-menu li a:focus {
    background: none;
    border: none;
    color: #AECFE5;
}


/*
 * -- SPLASH STYLES --
 * This is the blue top section that appears on the page.
 */

.splash-container {
    background: #101010 url('../../images/header.webp') 100% 100% no-repeat;
    background-size: cover;
	background-color:#101010;
	z-index: 1;
    overflow: hidden;
    /* The following styles are required for the "scroll-over" effect */
    width: 100%;
    height: 69%;
    top: 0;
    left: 0;
    position: fixed !important;
}

.splash {
    /* absolute center .splash within .splash-container */
    width: 60%;
    height: 50%;
    margin: auto;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    text-align: center;
    text-transform: uppercase;
}

/* This is the main heading that appears on the blue section */
.splash-head {
    font-size: 2.3em;
    font-weight: bold;
    color: white;
    border: 0px solid #444;
    padding: 1em 1.6em;
    font-weight: 100;
    border-radius: 5px;
    line-height: 1em;
}

/* This is the subheading that appears on the blue section */
.splash-subhead {
    color: white;
    letter-spacing: 0.05em;
    opacity: 0.8;
}

/*
 * -- CONTENT STYLES --
 * This represents the content area (everything below the blue section)
 */
.content-wrapper {
    /* These styles are required for the "scroll-over" effect */
    position: absolute;
    top: 69%;
    width: 100%;
    min-height: 12%;
    z-index: 2;
    background: white;
}

/* We want to give the content area some more padding */
.content {
    padding: 1em 1em 3em;
}

/* This is the class used for the main content headers (<h2>) */
.content-head {
    font-weight: 200;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 2em 0 1em;
}

/* This is a modifier class used when the content-head is inside a ribbon */
.content-head-ribbon {
    color: white;
}

/* This is the class used for the content sub-headers (<h3>) */
.content-subhead {
    color: #1f8dd6;
}
    .content-subhead i {
        margin-right: 7px;
    }

/* This is the class used for the dark-background areas. */
.ribbon {
    background: #CF1118;
    color: #f1f1f1 !important;
}
.offer,.deal {
    background: #367ACF;
	color: #333;
    margin-top:0 !important;
    z-index: 99 !important;
	font-size:.9em
}
.deal {
    margin-top:70px !important;
    background: #CF1118 !important;
	color: #fff !important;
}
.offer-icon {
	width:2em;
	height:2em;
	position: absolute;
}
.ribbong {
    background: #f1f1f1;
    color: #444;
}
.ribbonlg {
    background: #f7f7f7;
    color: #aaa;
}
.ribbondg {
    background: #333;
    color: #f1f1f1;
}
.nomtop {
    margin-top:0 !important;;
}
#main{
	float:right;
	clear:right;
	display:block;
	width:96%;
	margin:0 2%;
}
#accessory{
	display:none;
}
.smaller_screen{display:block}
/* This is the class used for the footer 
.footer {
    background: #111;
    bottom: 0;
    width: 100%;
}
*/
/*
 * -- TABLET (AND UP) MEDIA QUERIES --
 * On tablets and other medium-sized devices, we want to customize some
 * of the mobile styles.
 */
@media (min-width: 48em) {

    /* We increase the body font size */
    body {
        font-size: 1.2em;
    }

    /* We can align the menu header to the left, but float the
    menu items to the right. */
    .home-menu {
        text-align: left;
    }
        .home-menu ul {
            float: right;
			margin-right:10px;
        }

    /* We increase the height of the splash-container */
/*    .splash-container {
        height: 500px;
    }*/

    /* We decrease the width of the .splash, since we have more width
    to work with */
    .splash {
        width: 60%;
        height: 50%;
    }

    .splash-head {
        font-size: 230%;
    }


    /* We remove the border-separator assigned to .l-box-lrg */
    .l-box-lrg {
        border: none;
    }
	#main{
		float:right;
		clear:right;
		width:71% !important;
		margin:0 2%;
	}
	#accessory{
		float:left;
		clear:left;
		display:block;
		border:1px solid #f00;
		width:21% !important;
		margin:0 2%;
	}

}

/*
 * -- DESKTOP (AND UP) MEDIA QUERIES --
 * On desktops and other large devices, we want to over-ride some
 * of the mobile and tablet styles.
 */
@media (min-width: 78em) {
    /* We increase the header font size even more */
    .splash-head {
        font-size: 230%;
    }
}
@media (max-width: 600px) {
    /* We increase the header font size even more */
    .splash-head {
        font-size: 1.5em;
		padding:0 !important;
    }
    .splash-subhead {
        font-size: 1em !important;
    }
    .counter, .small {
        font-size: 0.6 !important;
    }
	.offer {
		font-size: .5em !important;
	}
}
@media (min-width: 600px) {
	.smaller_screen{display:none}
}
@media (max-width: 500px) {
	.hideonsm {
		display: none !important;
	}
}
@media (max-width: 400px) {
	.areaname {
		font-size: .8em !important;
	}
}
body {
    color: #777;
}

h1,h2,h3,h4,h5,h6 {
    color: #111;
}

.l-box {
    padding: 2em;
}

.header .pure-menu {
    border-bottom-color: black;
    border-radius: 0;
}

.pure-menu-link {
    padding: 1em .7em;
}
.star {
    float:left;
	width: 22px !important;
	text-align:center;
    height: 20px !important;
	display:inline-block;
	background: transparent !important;
	margin:0;
	padding:0;
}
.photo-box, .text-box, .img-thumb {
    overflow: hidden;
    position: relative;
    height: 250px;
    text-align: center;
	margin-bottom:5px;
}
.img-thumb {
    height: 280px;
    width: 100%;
	padding:auto;
}
.small-thumb {
    height: 200px;
}
.photo-box-thin {
    height: 120px;
}
.photo-box-tall {
    height: 300px;
}
.unmarked{
    list-style-type: none !important;
    padding-inline-start: 0 !important;
	text-decoration: none !important;
}
.lg-only{
    display:none;
}
	.borded{
		border:1px solid #ddd;
	}
    .photo-box img {
        max-width: 98%;
        margin: 1%;
		width:auto;
        height: auto;
    }
    .small-thumb img {
		width:100%;
        height: auto;
    }
    .img-thumb img {
        max-width: 100%;
        max-height: 260px;
		width:auto;
        height: auto;
    }
    .photo-box aside {
        position: absolute;
        bottom: 0;
        right: 0;
        padding: 1.5em 0.5em 0.5em 0.5em;
        color: white;
        width: 100%;
        font-size: 1em;
		font-weight: bold;
        text-align: right;
        background: linear-gradient(to bottom,  rgba(16,27,30,0) 0%,rgba(12,2,2,1) 90%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00101b1e', endColorstr='#0c0202',GradientType=0 ); /* IE6-9 */

    }
    .small-thumb aside {
        width: 96%;
		margin: 2%;
    }
    .photo-box-caption {
    }

    .photo-box aside span {
        color: #aaa;
    }

	.photo-box aside span a {
		color: #ccc;
		text-decoration: none;
	}
	.enlarger {
		position:absolute;
		margin-left:-30px !important;
		margin-top:15px !important;
		width:20px;
		z-index:99;
	}
	.zonal {
		position:absolute;
		left:5px;
		margin-top:-70px;
		width:70px;
		display:inline-block;
	}
	.zonal img{
		margin-right:2px;
	}

.text-box {
    background: rgb(49, 49, 49); /* bluish grey */
    color: rgb(255, 190, 94); /* steel blue */
}

    .text-box-head {
        color: #fff;
        padding-bottom: 0.2em;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        font-size: 24px;
    }

    .text-box-subhead {
        font-weight: normal;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

.form-box {
    text-align: center;
    font-size: 120%;
    border-bottom: 1px solid #eee;
}

    .form-box .pure-button {
        background-color: #61B842;
        color: white;
        vertical-align: top;
        font-size: 85%;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        border-radius: 4px;
        margin: 0.3em;
    }
    .pure-form input[type] {
        margin: 0.3em auto;
        text-align: center;
    }

.footer {
    background: #111 url('../../images/Polynesian-motifs.webp') no-repeat 0 0;
    background-size: cover;
	color: #666;
    text-align: center;
    padding: 1em;
    font-size: 80%;
}

@media (min-width: 30em) {
    .photo-box, .text-box {
        text-align: left;
    }
	.small-thumb {
		height: 300px;
	}
    .photo-box-thin {
        height: 250px;
    }
}
@media (min-width: 48em) {
	.enlarger {
		margin-left:100px !important;
		margin-top:-250px !important;
	}
}
@media (min-width: 1000px) {
	.lg-only {
		display:inline-block;
	}
}
@media (max-width: 300px) {
	.photo-box,.photo-box-tall{
		height:200px;
	}
	.footer {
		font-size: .6em;
	}
}
/* ............/navbar/............ *

/* desktop mode............/// */

:root {
	--purple: #3B3646;
	--red: #EE4B5A;
}

.navbar input[type="checkbox"],
.navbar .hamburger-lines {
  display: none;
}

.navbar {
  /*position: fixed;*/
  width: 100%;
  color: #eee;
  opacity: 1;
  height: 50px;
  z-index: 12;
}

.navbar-container {
  display: flex;
  justify-content: space-between;
  height: 60px;
  align-items: center;
}

.menu-items {
  order: 2;
  display: flex;
}

.menu-items li {
  list-style: none;
  margin-left: 1.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}

.menu-items a {
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  transition: color 0.3s ease-in-out;
}

.menu-items a:hover {
  color: #ddd;
  transition: color 0.3s ease-in-out;
}

.logo {
  order: 1;
  font-size: 2.3rem;
  margin-top: 14px;
  margin-left:10px;
  text-align:center;
}

/* Cookie Dialog */
#gdpr-cookie-message {
	position: fixed;
	right: 30px;
	bottom: 30px;
	max-width: 375px;
	background-color: var(--purple);
	padding: 20px;
	border-radius: 5px;
	box-shadow: 0 6px 6px rgba(0,0,0,0.25);
	margin-left: 30px;
	font-family: system-ui;
	z-index:999 !important;
}
#gdpr-cookie-message h4 {
	color: var(--red);
	font-family: 'Quicksand', sans-serif;
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 10px;
}
#gdpr-cookie-message h5 {
	color: var(--red);
	font-family: 'Quicksand', sans-serif;
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 10px;
}
#gdpr-cookie-message p, #gdpr-cookie-message ul {
	color: white;
	font-size: 15px;
	line-height: 1.5em;
}
#gdpr-cookie-message p:last-child {
	margin-bottom: 0;
	text-align: right;
}
#gdpr-cookie-message li {
	width: 49%;
	display: inline-block;
}
#gdpr-cookie-message a {
	color: var(--red);
	text-decoration: none;
	font-size: 15px;
	padding-bottom: 2px;
	border-bottom: 1px dotted rgba(255,255,255,0.75);
	transition: all 0.3s ease-in;
}
#gdpr-cookie-message a:hover {
	color: white;
	border-bottom-color: var(--red);
	transition: all 0.3s ease-in;
}
#gdpr-cookie-message button {
	border: none;
	background: var(--red);
	color: white;
	font-family: 'Quicksand', sans-serif;
	font-size: 15px;
	padding: 7px;
	border-radius: 3px;
	margin-left: 15px;
	cursor: pointer;
	transition: all 0.3s ease-in;
}
#gdpr-cookie-message button:hover {
	background: white;
	color: var(--red);
	transition: all 0.3s ease-in;
}
button#gdpr-cookie-advanced {
	background: white;
	color: var(--red);
}
#gdpr-cookie-message button:disabled {
	opacity: 0.3;
}
#gdpr-cookie-message input[type="checkbox"] {
	float: none;
	margin-top: 0;
	margin-right: 5px;
}

@media (max-width: 768px) {
  .navbar {
    opacity: 1;
	margin-top:-10px;
  }

  .navbar-container input[type="checkbox"],
  .navbar-container .hamburger-lines {
    display: block;
  }

  .navbar-container {
    display: block;
    position: relative;
    height: 54px;
  }

  .navbar-container input[type="checkbox"] {
    position: absolute;
    display: block;
    height: 40px;
    width: 40px;
    top: 10px;
    left: 18px;
    z-index: 5;
    opacity: 0;
  }

  .navbar-container .hamburger-lines {
    display: block;
    height: 23px;
    width: 35px;
    position: absolute;
    top: 17px;
    left: 20px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .navbar-container .hamburger-lines .line {
    display: block;
    height: 4px;
    width: 100%;
    border-radius: 10px;
    background: #fff;
  }

  .navbar-container .hamburger-lines .line1 {
    transform-origin: 0% 0%;
    transition: transform 0.4s ease-in-out;
  }

  .navbar-container .hamburger-lines .line2 {
    transition: transform 0.2s ease-in-out;
  }

  .navbar-container .hamburger-lines .line3 {
    transform-origin: 0% 100%;
    transition: transform 0.4s ease-in-out;
  }

  .navbar .menu-items {
    padding-top: 100px;
    background: #111;
    height: 100vh;
    max-width: 300px;
    transform: translate(-150%);
    display: flex;
    flex-direction: column;
    margin-left: -40px;
    padding-left: 50px;
    transition: transform 0.5s ease-in-out;
  }

  .navbar .menu-items li {
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
    font-weight: 500;
  }

  .logo {
    position: absolute;
    top: 0;
    left: 50%;
	width: 120px !important;
	margin-left:-60px;
	margin-top:-3px;
    font-size: 2rem;
	color:#fff;
  }

  .navbar-container input[type="checkbox"]:checked ~ .menu-items {
    transform: translateX(0);
  }

  .navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
    transform: rotate(35deg);
  }

  .navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
    transform: scaleY(0);
  }

  .navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
    transform: rotate(-35deg);
  }
  .splash-container {
    background: #101010 url('../../images/header_600.webp') 100%100% no-repeat;
    background-size: cover;
	background-color:#101010;
	height: 51%;
  }
  .content-wrapper {
	top: 51%;
  }

}
  @media (max-width: 300px) {
  .logo {
    position: absolute;
    top: 0;
    right: 2%;
    left: auto;
	width: 120px !important;
	margin-top:-3px;
    font-size: 2rem;
	color:#fff;
  }
}
