/* Bodoni Book */

@font-face {
    font-family: 'Bodoni Book';
    src: url('/site/theme/font/Bodoni-Book.woff2') format('woff2'), url('/site/theme/font/Bodoni-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

/* ---------------------------------------------------------------------- */
/*	Theme
/* ---------------------------------------------------------------------- */

body {
	font-family: 'Open Sans', sans-serif;
	color:#666;
}

h1, .h1, h2, .h2, h3, .h3 {
	font-family: 'Bodoni Book', serif;
}

h4, .h4, h5, .h5, h6, .h6 {
	font-family: 'Open Sans', sans-serif;
}

h1, .h1 { line-height: 1em; }
h2, .h2 { line-height: 1em; }
h4, .h4 {  }

a:hover {
	text-decoration:none;
}

.form-dark .form-control {
    color: #555;
    background-color: #2D2D2D;
    background-image: none;
    border: 1px solid #2D2D2D;
}

.btn {
	padding-left:40px;
	padding-right:40px;
    font-size: 16px;
	line-height:28px;
	font-weight:bold;
    text-transform: none;
	-webkit-transition: all 500ms ease 0s;
	-moz-transition: all 500ms ease 0s;
	-ms-transition: all 500ms ease 0s;
	-o-transition: all 500ms ease 0s;
	transition: all 500ms ease 0s;
}

.btn-small {
	padding:10px 0;
    font-size: 11px;
	line-height:28px;
	letter-spacing: 2px;
	font-weight:bold;
	color: #888;
	-webkit-transition: all 500ms ease 0s;
	-moz-transition: all 500ms ease 0s;
	-ms-transition: all 500ms ease 0s;
	-o-transition: all 500ms ease 0s;
	transition: all 500ms ease 0s;
}

.btn-small:active, .btn-small:focus, .btn-small.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.input-group .btn {
	padding-left:10px;
	padding-right:10px;
	min-width: 100px;
}


.btn-dark, .btn-dark:visited {
    color: #FFF;
    background-color: #1f1f1f;
    border-color: #1f1f1f;
}

.btn-dark:hover, .btn-dark:focus, .btn-dark:active, .btn-dark.active {
    color: #FFF;
    background-color: #1f1f1f;
    border-color: #1f1f1f;
}

.btn-facebook, .btn-facebook:visited {
    color: #FFF;
    background-color: #4267B2;
    border-color: #4267B2;
}

.btn-facebook:hover, .btn-facebook:focus, .btn-facebook:active, .btn-facebook.active {
    color: #FFF;
    background-color: #4267B2;
    border-color: #4267B2;
}

.btn-light, .btn-light:visited {
    color: #004E61;
	background-color: transparent;
	border-color: #004E61;
}

.btn-light:focus, .btn-light:hover, .btn-light:active, .btn-light.active {
    color: #FFF;
    background-color: #004E61;
    border-color: #004E61;
}

.btn-dark.transparent, .btn-dark.transparent:visited {
    color: #1f1f1f;
    background-color: transparent;
    border-color: #1f1f1f;
}

.btn-dark.transparent:hover, .btn-dark.transparent:focus, .btn-dark.transparent:active, .btn-dark.transparent.active {
    color: #FFF;
    background-color: #1f1f1f;
    border-color: #1f1f1f;
}

hr.lg {
    margin-top: 10px;
    margin-bottom: 10px;
    border: 0;
    border-top: 1px solid #eee;
}

hr.grey {
    border-top: 1px solid #CCC;
}

hr.darkgrey {
    border-top: 1px solid #666;
}

hr.xs {
	width:80px;
	margin-left:0;
	border-top: 1px solid #1f1f1f;
}

hr.xs.white {
	border-top: 1px solid #FFF;
}

hr.xsc {
	width:80px;
	border-top: 1px solid #1f1f1f;
}

hr.xsc.white {
	border-top: 1px solid #FFF;
}

hr.vertical {
	border: 0;
	margin: 40px auto;
	border-left: 1px solid #666;
	height: 80px;
	width: 0px;
}

.hr-divider {
    position: relative;
    width: 100%;
    margin: 30px 0;
    text-align: center;
}
.hr-divider:before {
    position: absolute;
    top: 50%;
    left: 0;   
    display: block;
    content: " ";
    width: 100%;
    height: 1px;
    background: #EEE;
}
.hr-divider span {
    position: relative;
    z-index: 10;
    display: inline-block;
    line-height: 1;
    padding: 0 19px;
	background-color:#FFF;
}

.text-white { color: #FFF;  }
.text-black { color:#111; }
.text-grey { color:#666; }
.text-lightgrey { color:#E3E3E3; }
.text-ellipsis { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.text-title { font-family: 'Arapey', serif; }
.text-body { font-family: 'Open Sans', sans-serif; }

.text-subtitle { font-size: 24px; letter-spacing: 8px; font-weight: 100; line-height: 1.5em; padding-left: 8px; }
.text-big { font-size: 1.5em; }
.text-small { font-size: 0.9em; }

.text-btn-small { font-size: 11px; letter-spacing: 2px; font-weight:bold; }

.bg-primary { background-color:#004E61; }
.bg-grey { background-color:#e2e3e4; }
.bg-lightgrey { background-color:#F5F5F5; }
.bg-newlightgrey { background-color:#EEEEEE; }
.bg-white { background-color: #FFF; }
.bg-white-opacity { background-color:rgba(255,255,255,0.2); }
.bg-black { background-color:#1f1f1f; }
.bg-black-opacity { background-color:rgba(0,0,0,0.2); }
.bg-black-opacity-plus { background-color:rgba(0,0,0,0.7); }

.bg-white-before { position: relative; }
.bg-white-before::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    top: 60%;
    background-color: #FFF;
}

.bg-primary-before { position: relative; }
.bg-primary-before::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 300px;
    top: 0;
    background-color: #004E61;
}

.bg-black-gradient-top::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 400px;
	background: -moz-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.lh-sm { line-height: 1.5em; }

section { position:relative; }

section.xs { padding-top:10px; padding-bottom:10px; }
section.sm { padding-top:15px; padding-bottom:15px; }
section.md { padding-top:30px; padding-bottom:30px; }
section.lg { padding-top:60px; padding-bottom:60px; }
section.lgb { padding-bottom:60px; }
section.bg { padding:15px; }

.nav-inline > li {
    float:none;
    display:inline-block;
}

small, .small { font-size: 85%; line-height:1.5em; }

.pointer { cursor: pointer; }

.dropdown-menu {
	border: none;
	box-shadow: none;
	font-size: 85%;
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 0px;
    clear: both;
    font-weight: normal;
    line-height: 1.5;
    color: #666;
    white-space: nowrap;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
    text-decoration: none;
    color: #222;
    background-color: #FFF;
}

/* ---------------------------------------------------------------------- */
/*	Header / Primary Nav
/* ---------------------------------------------------------------------- */

#header {
	position:absolute;
	top:18px;
	left:0px;
	right:0px;
	z-index:20;	
}

#header hr { border-top: 1px solid rgba(255,255,255,0.2); }

#header .menu-wrap {
	z-index:13;
	position: relative;
	transition: background-color 0.4s;
}

#header .menu {
	margin:0;
	color: #666;
}

#header .menu a {
    color: #FFF;
    text-decoration: none;
}

#header .menu a:hover, #header .menu a:focus {
    color: #005872;
    text-decoration: none;
}

#header .menu ul {
	margin: 0;
	padding: 0;
}

#header .menu > ul > li  {
    display: inline-block;
    padding: 0;
	position: relative;
}

#header .menu > ul > li > a {
	padding:26px 10px;
	line-height:27px;
	display:block;
}


#header .menu > ul.menu-dx > li > a  { padding: 26px 10px; }
#header .menu .menu-dx sup { font-size: 10px; }

#header .menu > ul > li > ul {
	position: absolute;
	display: none;
	top: 80px;
	left: 50%;
	transform: translateX(-50%);
	padding:10px 0 20px 0;
	background-color: transparent;	
}

#header .menu > ul > li:hover > ul {
	display: block;
}

#header .menu > ul > li > ul > li {
	text-align: center;
}

#header .menu > ul > li > ul > li > a {
	padding:0 35px;
	display:block;
	white-space: nowrap;
}

#header.menu-transparent-dark .menu a { color: #666; }
#header.menu-transparent-dark .menu a:hover, #header.menu-transparent-dark .menu a:focus { color: #005872; }
#header.menu-transparent-dark hr { border-top: 1px solid rgba(165,165,165,0.2); }


#header.menu-white { background-color: #FFF; }
#header.menu-white hr { border-top: 1px solid rgba(165,165,165,0.1); }
#header.menu-white .menu a { color: #666; }
#header.menu-white .menu a:hover, #header.menu-white .menu a:focus { color: #005872; }
#header.menu-white .menu > ul > li > ul {
	left: -20px;
	transform: none;
	background-color: #FFF;
	border-left: 1px solid rgba(165,165,165,0.1);
	border-right: 1px solid rgba(165,165,165,0.1);
	border-bottom: 1px solid rgba(165,165,165,0.1);
}

.primary-nav {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #0D455C;
	z-index: 12;
	text-align: center;
	padding: 150px 0 0 0;
	margin:0;
	overflow:auto;
	transition:opacity 0.4s;
	opacity:0;
	transform: translate3D(0,-100%,0);
}

.primary-nav-wrap {
	position:relative;
	height: 80px;
	width: 30px;
	margin:0;
    display: inline-block;
}

.primary-nav-trigger {
  position: absolute;
  top:0;
  bottom:0;
  z-index: 13;
  width: 100%;
  display:block;
  right:0;
}
.primary-nav-trigger .menu-icon {
  /* this span is the central line of the menu icon */
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  width: 18px;
  height: 2px;
  background-color: #FFF;
  /* these are the upper and lower lines in the menu icon */
}
.primary-nav-trigger .menu-icon::before, .primary-nav-trigger .menu-icon:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #FFF;
  right: 0;
  -webkit-transition: -webkit-transform .3s, top .3s, background-color 0s;
  -moz-transition: -moz-transform .3s, top .3s, background-color 0s;
  transition: transform .3s, top .3s, background-color 0s;
}
.primary-nav-trigger .menu-icon::before {
  top: -5px;
}
.primary-nav-trigger .menu-icon::after {
  top: 5px;
}
.primary-nav-trigger .menu-icon.is-clicked {
  background-color: rgba(255, 255, 255, 0);
}
.primary-nav-trigger .menu-icon.is-clicked::before, .primary-nav-trigger .menu-icon.is-clicked::after {
  background-color: #FFF;
}
.primary-nav-trigger .menu-icon.is-clicked::before {
  top: 0;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}
.primary-nav-trigger .menu-icon.is-clicked::after {
  top: 0;
  -webkit-transform: rotate(225deg);
  -moz-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  -o-transform: rotate(225deg);
  transform: rotate(225deg);
}

.primary-logo { padding: 10px 0; }

.primary-logo img { max-height: 60px; }

body.navigation-is-open {
	overflow:hidden;
}

body.navigation-is-open .primary-nav {
	transform: translate3D(0,0,0);
	opacity:1;
}

body.navigation-is-open .menu-wrap {
	background-color: #0D455C;
}

.primary-nav a {
    color: #FFF;
}

.primary-nav a:hover, .primary-nav a:focus {
    color: #CCC;
    text-decoration: none;
}

.primary-nav .menu-nav ul > li > a {
	font-size: 27px;
	letter-spacing: 1px;
	font-family: 'Arapey', serif;
	line-height: 1.8em;
}

.primary-nav .menu-nav ul > li > ul > li > a, .primary-nav a {
	font-size: 14px;
	letter-spacing: 0px;
	font-family: 'Open Sans', sans-serif;
}


#header .primary-logo-affix { display: none; }
#header.affix .primary-logo { display: none; }
#header.affix .primary-logo-affix { display: block; }

#header.affix .primary-nav-wrap { height: 120px; }

#header.affix { 
    position:fixed; 
    top:0px;
    background-color: #FFF; 
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.5); 
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
}

.primary-logo-affix { padding: 28px 0; }

#header.affix .menu a { color: #888; }
#header.affix .menu a:hover, #header.affix .menu a:focus { color: #005872; }


#header.affix .primary-nav-trigger .menu-icon { background-color: #666; }
#header.affix .primary-nav-trigger .menu-icon::before, #header.affix .primary-nav-trigger .menu-icon:after { background-color: #666; }

.navigation-is-open #header.affix .primary-nav-trigger .menu-icon { background-color: rgba(255, 255, 255, 0); }
.navigation-is-open #header.affix .primary-nav-trigger .menu-icon::before, .navigation-is-open #header.affix .primary-nav-trigger .menu-icon:after { background-color: #FFF; }




/* ---------------------------------------------------------------------- */
/*	Main
/* ---------------------------------------------------------------------- */

.headline-text { padding-left: 100px; position: relative; }

.headline-text::before {    
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 80px;
    border-bottom: 2px solid #FFF;
}

.modal-content {
	box-shadow: 0px 30px 30px rgba(0,0,0,0.12);
	border:0;
}

.modal-body {
    position: relative;
}

.modal-footer {
    padding: 30px 50px;
    text-align: right;
    border-top: 1px solid #e5e5e5
}

.modal.fade .modal-dialog {
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-ms-transform: scale(0.9);
	transform: scale(0.9);
}

.modal.in .modal-dialog {
    -webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

.modal .close {
	position: absolute;
	right:0;
	top:0;
	width: 40px;
	height: 40px;
	background: url('/site/theme/img/ico-close-black.png') center center no-repeat;
	opacity: .8;
}

.modal .close:hover, .modal .close:focus {
    opacity: 1;
}


.breadcrumb {
    background-color: transparent;
}

.breadcrumb > li {
	font-size: 11px;
	letter-spacing: 1px;
}

.breadcrumb > li + li:before {
    content: "/\00a0";
	padding: 0 10px;
}

#page-contact .pull-left { float: none !important; }

.list-tags li { padding: 5px 20px; }
.list-tags li a { font-weight: bold; }


/* ---------------------------------------------------------------------- */
/*	Shop
/* ---------------------------------------------------------------------- */

.product-view-tabs .nav-pills > li > a {
	color:#CCC;
	line-height: 28px;
	min-width:100px;
	display: inline-block;
}

.product-view-tabs .nav-pills > li > a:hover, .product-view-tabs .nav-pills > li > a:focus {
    color: #333;
    background-color: transparent;
}

.product-view-tabs .nav-pills > li.active > a, .product-view-tabs .nav-pills > li.active > a:hover, .product-view-tabs .nav-pills > li.active > a:focus {
    color: #333;
    background-color: transparent;
}

.product-view-tabs .nav-pills > li.active >a:after, .product-view-tabs .nav-pills > li > a.active:after, .product-view-tabs .nav-pills > li > a:hover:after {
	width: 40px;
}

.product-view-tabs .nav-pills > li > a:hover > .h2, .product-view-tabs .nav-pills > li > a:focus > .h2 {
    color: #333;
    background-color: transparent;
}

.product-view-tabs .nav-pills > li.active > a > .h2, .product-view-tabs .nav-pills > li.active > a:hover > .h2, .product-view-tabs .nav-pills > li.active > a:focus > .h2 {
    color: #333;
    background-color: transparent;
}

.product-view-tabs .nav-pills > li > a:after {
    content: '';
    display: block;
    width: 0;
    margin: auto;
    border-bottom: 1px solid #005872;   
	transition: width 0.2s ease-out;
	transform: translateZ(0);
}

.product-view-tabs .nav-pills > li + li:before {
    content: "/\00a0";
}

.product-view-tabs .tab-content > .tab-pane {
		
}

.product-thumbs .item { 
	cursor:pointer; 
}

.wrap-slider-product {
	margin-bottom:30px;
}

#block-product {
	padding: 30px 30px;
	max-width:600px;
	margin:0 auto;
	text-align:center;	
}

#block-product h1 { font-size: 27px; }
#block-product #price_final { font-size: 27px; }

.shop-categories li:first-child, .shop-categories li:first-child a {
    margin-left: 0;
}

.shop-categories li a {
    margin: 0 18px;
	color:#888;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform:uppercase;
	text-decoration: none;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
	
}

.shop-categories li.active a {
	color: #005872;
}

.shop-categories li a:hover {
    color: #005872;
}

.subscription-wrap {
	position: relative;
}

.subscription-wrap .box {
	position: relative; 
    border: 1px solid #CCC;
	color: #555;
	padding:0 48px 0 20px;
	line-height:40px;
	margin-top:-1px;
}

.quantity-wrap {
    position: relative;
    width: 100%;
    text-align: center;
    border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
    border-left: 1px solid #CCC;
    overflow: hidden;
	padding:0 20px;
}

#cart-list .quantity-wrap {
	border: none;
	width:auto;
	display:inline-block;
	padding:0;
}

.quantity-wrap .qty {
    display: inline-block;
    height: 38px;
    width: 40px;
    padding: 0;
    font-size: 14px;
    line-height: 40px;
    color: #555; 
    border: 0 none;
    text-align: center;
    background: none;
}

.quantity-wrap .quantity .qty-minus, .quantity-wrap .quantity .qty-plus {
    position: relative;
    display: inline-block;
    font-size: 12px;
    line-height: 40px;
    font-weight: normal;
    color: #888;
    width: 23px;
    height: 38px;
    text-align: center;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.quantity-wrap .quantity .qty-desc {
	float:left;
	font-size:14px;
	line-height:40px;
	color:#555;
	font-weight:bold;
}

.product-item {
	margin-bottom:0px;
}

.options-group .sod_select { margin-bottom:-1px; }


/* ---------------------------------------------------------------------- */
/*	Rating
/* ---------------------------------------------------------------------- */

.rating-input i { font-size: 1.2em; padding-right: 4px; }
.rating-input .rating-clear { display: none; }

.list-reviews .rating-input i { font-size: 1em; padding-right: 4px; color: #005872; }
.list-reviews .row:last-child hr { display: none; }

.list-reviews .item {
	padding: 14px 28px;
	margin: 0 0 28px;
	border-left: 1px solid #eee;
}


/* ---------------------------------------------------------------------- */
/*	Light Gallery + Light Slider
/* ---------------------------------------------------------------------- */

.lightSlider { z-index: 0; }

.wrap-ls-product .lSSlideOuter .lSPager.lSpg { position:relative; }
.wrap-ls-product .lSSlideOuter .lSPager.lSpg > li a { background-color: #CCC; }
.wrap-ls-product .lSSlideOuter .lSPager.lSpg > li:hover a { background-color: #CCC; }
.wrap-ls-product .lSSlideOuter .lSPager.lSpg > li.active a { background-color: rgba(255, 255, 255, 0); border: 2px solid #CCC; }

.lSAction > .lSPrev {
    left: 30px;
}
.lSAction > .lSNext {
    right: 30px;
}

.lSPager.lSGallery li a {
    font-weight: bold;
    color: #A9AAA9;
    line-height: 1.4em;
    display: inline-block;
    padding-top: 10px;
    border-top: 2px solid #A9AAA9;
    text-decoration: none;
}

.lSPager.lSGallery li a:hover, .lSPager.lSGallery li.active a {
    color: #004E61;
    border-top: 2px solid #004E61;
}

.lSSlideOuter .lSPager.lSGallery li.active, .lSSlideOuter .lSPager.lSGallery li:hover {
    border-radius: 0px;
}

/* ---------------------------------------------------------------------- */
/*	Footer
/* ---------------------------------------------------------------------- */

#footer {
	color: #FFF;
	background-color: #C7C8CA;
    font-size: 14px;
}


#footer a {
    color: #FFF;
}

#footer a:hover, #footer a:focus {
    color: #005872;
}