/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* offCanvas-area */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.srOnly {
	position: absolute;
	overflow: hidden;

	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;

	border: 0;
	clip: rect(0 0 0 0);
}

.offCanvas {
	visibility: hidden;
}

.offCanvas-navi{
	position: relative;
	width: 100%;
	display: table;
}

.offCanvas-hidden {
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	position: absolute;
	width: 1px;
	border: 0;
	clip: rect(0 0 0 0);
}

.offCanvas-trigger,
.offCanvas-subNaviTrigger {
	position: absolute;
	clip: rect(0, 0, 0, 0);
}

.offCanvas-bodyTrigger {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;

	pointer-events: none;
	cursor: pointer;
	z-index: -1;
}

.offCanvas-iconTrigger{
	display: block;
	position: fixed;
	top: 27px;
	right:30px;
	left:auto;
	width: 28px;
	height: 28px;
	cursor: pointer;
	z-index: 9998;

	/* hide text */
	overflow: hidden;
	white-space: nowrap;
	color: transparent;

	-webkit-transition: top .2s ease;
	-moz-transition: top .2s ease;
	-o-transition: top .2s ease;
	transition: top .2s ease;
}

.curtainIsVisible .offCanvas-iconTrigger{
	pointer-events: none;
	opacity: 0.5;
}

.offCanvas-iconTrigger:hover,
.offCanvas-iconTrigger:focus,
.offCanvas-iconTrigger.focused{

}

.offCanvas-iconTrigger span{
	display: block;
	float:left;

	font-size:1.38em;
	font-weight: 300;
	text-transform: uppercase;
}

.offCanvas-iconTrigger span.offCanvas-label{
	position: relative;
	margin-left:50px;
	padding:5px 0 0 0;
	display: block;
}

.offCanvas-iconTrigger span.offCanvas-label:after{
	position: relative;
	display: inline-block;
	content: "/";
	margin:0 15px 0 15px;

	opacity:1;

	font-size: 1.2em;
	line-height: 1em;

	transition:opacity 0.3s ease-out;
}

.offCanvas-iconTrigger span.offCanvas-label:before{
	float:right;
	position: relative;
	display: inline-block;
	width: 1em;
	margin:3px 0 0 0;

	opacity:1;

	content: '\e808';

	font-size:1.2em;
	font-family: "svgicon";
	font-style: normal;
	font-weight: normal;
	speak: none;
	font-variant: normal;
	text-align: center;
	text-transform: none;
	text-decoration: inherit;
	line-height: 1em;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	transition:opacity 0.3s ease-out;
}

.offCanvas-pageWrapper,
.offCanvas-trigger + label,
.offCanvas-contentArea{
	-webkit-transition: right .2s ease;
	-moz-transition: right .2s ease;
	-ms-transition: right .2s ease;
	-o-transition: right .2s ease;
	transition: right .2s ease;
}

/* +++ offCanvas-iconTrigger +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.offCanvas-iconTrigger .offCanvas-icon {
	/* hamburger icon created in CSS */
	position: absolute;
	height: 2px;
	width: 33px;
	top: 50%;
	margin-top: -1px;

	-webkit-transition: background-color 0.3s, opacity 0.3s;
	-moz-transition: background-color 0.3s, opacity 0.3s;
	transition: background-color 0.3s, opacity 0.3s;

	font-size: 0;
	line-height: 0;

	background-color: #ffffff;
	color:transparent;
}
.offCanvas-iconTrigger .offCanvas-icon:before,
.offCanvas-iconTrigger .offCanvas-icon:after {
	/* upper and lower lines of the menu icon */
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left:0;

	background-color: #ffffff;

	/* Force Hardware Acceleration */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);

	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	-webkit-transition: -webkit-transform 0.3s 0.3s, background-color 0.3s, opacity 0.3s;
	-moz-transition: -moz-transform 0.3s 0.3s, background-color 0.3s, opacity 0.3s;
	transition: transform 0.3s 0.3s, background-color 0.3s, opacity 0.3s;
}


.offCanvas-iconTrigger .offCanvas-icon:before {
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
	-ms-transform: translateY(-8px);
	-o-transform: translateY(-8px);
	transform: translateY(-8px);
}

.offCanvas-iconTrigger .offCanvas-icon:after {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	-ms-transform: translateY(8px);
	-o-transform: translateY(8px);
	transform: translateY(8px);
}


.offCanvas-iconTrigger:hover .offCanvas-icon,
.offCanvas-iconTrigger:hover .offCanvas-icon:before,
.offCanvas-iconTrigger:hover .offCanvas-icon:after,
.offCanvas-iconTrigger:focus .offCanvas-icon,
.offCanvas-iconTrigger:focus .offCanvas-icon:before,
.offCanvas-iconTrigger:focus .offCanvas-icon:after{
	background-color: #e5a309;
}

/* +++ offCanvas-trigger +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


.offCanvas-trigger:checked + label {
	position: fixed;

	left:auto;
	right:540px;
}

@media (max-width: 590px) {
	.offCanvas-trigger:checked + label {
		right:calc(100% - 40px);
	}
}

@media (max-width: 650px) {
	.offCanvas-left .offCanvas-trigger:checked + label{
		left:275px;
	}
}

.offCanvas-trigger:checked + label .offCanvas-icon {
	background-color: rgba(255, 255, 255, 0) !important;
}

.offCanvas-trigger:checked + label .offCanvas-icon:before,
.offCanvas-trigger:checked + label .offCanvas-icon:after {
	-webkit-transform: translateY(0) rotate(-45deg);
	-moz-transform: translateY(0) rotate(-45deg);
	-ms-transform: translateY(0) rotate(-45deg);
	-o-transform: translateY(0) rotate(-45deg);
	transform: translateY(0) rotate(-45deg);
}

.offCanvas-trigger:checked + label .offCanvas-icon:after {
	-webkit-transform: translateY(0) rotate(45deg);
	-moz-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
	-o-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}

.offCanvas-trigger:checked ~ .offCanvas-bodyTrigger {
	position: fixed;
	display: block;
	/*background-color: rgba(0, 0, 0, 0.8);*/
	background-color: rgba(48,48,48,0.85);
	pointer-events: auto;

	z-index:1000;
}

.offCanvas-trigger:checked ~ .offCanvas-contentArea {
/*
	overflow-y: auto;
	left:auto;
	right:0;
*/
	/*overflow-y: auto;*/
	visibility: visible;
	max-height:100vh;
	max-height:calc((var(--vh, 1vh) * 100) - 106px);
}

.offCanvas-left .offCanvas-trigger:checked + label {
	left: 275px;
	right:auto;
}

/*
.offCanvas-contentArea.overflow-y{
	overflow-y: auto;
}
*/

.offCanvas-left .offCanvas-trigger:checked ~ .offCanvas-contentArea,
.offCanvas-left .offCanvas-trigger:checked ~ .offCanvas-pageMaster {
	left: 0;
	right:auto;
}


/* +++ offCanvas-area +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.offCanvas-contentArea {
	visibility: hidden;
	position: fixed;
	top: 0;
	/*right:-260px;*/
	right:0;
	bottom:0;
	left:auto;
	max-height:0;

	z-index: 9999;

	/*width: 260px;*/
	min-width:260px;
	max-width:520px;

	width:calc(100% - 50px);
	/*overflow-y: hidden;*/
	overflow-x: hidden;

	background-color: #303030;

	/*
	-webkit-box-shadow: inset 20px 0 20px -20px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: inset 20px 0 20px -20px rgba(0, 0, 0, 0.5);
	box-shadow: inset 20px 0 20px -20px rgba(0, 0, 0, 0.5);
	*/

}

@media (max-width: 590px) {
	.offCanvas-contentArea {
		max-width:calc(100% - 50px);
	}
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* oC Swipe Area */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.oC-hidden {
	display: none !important;
}

.oC-menu {
	position: relative;
	box-sizing: border-box;
	display: block;
	padding: 0;
	margin: 0;

	font-size: 1em;
	font-weight: normal;
}

.oC-menu:after{
	position: absolute;
	content: "";
	bottom:0;
	left:0;
	width:100%;
	height:80px;
	pointer-events: none;

	background: -webkit-gradient(linear, left top, left bottom, from(rgba(48,48,48,0)),to(rgba(48,48,48,1)));
	background: -webkit-linear-gradient(top, rgba(48,48,48,0) 0%,rgba(48,48,48,1) 100%);
	background: -o-linear-gradient(top, rgba(48,48,48,0) 0%,rgba(48,48,48,1) 100%);
	background: linear-gradient(to bottom, rgba(48,48,48,0) 0%,rgba(48,48,48,1) 100%);
	/*
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00303030', endColorstr='#303030',GradientType=0 );
	*/
}

.oC-panels-wrapper{
	box-sizing: border-box;
	position: relative;
	/*margin:62px 0 0 0;*/
	margin:115px 0 0 0;
	overflow-y: auto;

	/*height:calc((var(--vh, 1vh) * 100) - 197px);*/

	background-color: #303030;
}

.oC-panels{
	box-sizing: border-box;
	position: relative;
	margin:0;
	overflow: hidden;
	background-color: transparent;
}

.oC-panels > .oC-panel {
	box-sizing: border-box;
	position: absolute;
	margin: 0;
	left: 0;
	right: 0;
	top: 0;
	bottom:0;

	/*height:100%;*/
	z-index: 0;

	background-color: #303030;
	border-color: #ffffff;
}

.oC-panels > .oC-panel:not(.oC-opened){
	visibility: hidden;
}

.oC-panels > .oC-panel.oC-before{
	visibility: visible;
}

.oC-panel {
	transition: transform 0.4s ease;
	transform: translate(100%, 0);
	transform: translate3d(100%, 0, 0);
}

.oC-panel.oC-opened {
	transform: translate(0%, 0);
	transform: translate3d(0%, 0, 0);
}

.oC-panel.oC-subopened {
	transform: translate(-30%, 0);
	transform: translate3d(-30%, 0, 0);
}

/*
.oC-panel.oC-highest {
	z-index: 1;
}
*/

.oC-panels > .oC-panel {
	overflow: hidden;
	/*
	-webkit-overflow-scrolling: touch;
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: auto;
	*/
	padding: 0 20px;
}

.oC-panels > .oC-panel:not(.oC-hidden) {
	display: block;
}

/*.oC-panels > .oC-panel:after,*/
.oC-panels > .oC-panel:before {
	content: '';
	display: block;
	/*height: 20px;*/
}

.oC-btn {
	position: absolute;
	box-sizing: border-box;
	width: 40px;
	/*height: 40px;*/
	top: 0;
	bottom:0;
	z-index: 1;

	background-color: transparent;

	-webkit-transition: background-color .2s ease;
	-moz-transition: background-color .2s ease;
	-o-transition: background-color .2s ease;
	transition: background-color .2s ease;
}

.oC-prev:before,
.oC-next:after {
	position: absolute;
	top: 50%;
	bottom: 0;
	left: 37px;
	right: auto;
	content: '\E804';

	display: block;
	width: 8px;
	height: 0;
	margin: 0 auto 0 auto;

	box-sizing: border-box;

	font-family: "svgicon";
	font-size:0.6em;
	font-style: normal;
	font-weight: normal;
	text-align: center;
	line-height: 0;

	color:#ffffff;

	-webkit-transition: color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-prev:before {
	transform: rotate(-180deg);
}

.oC-next:after {
	right: 27px;
	left: auto;
	top:50%;
	bottom:auto;

	-webkit-transition: color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-next:hover,
.oC-next:focus{
	color:#db9a01;
	cursor: pointer;

	-webkit-transition: color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-next:hover:after,
.oC-next:focus:after,
.oC-prev:hover:before,
.oC-prev:focus:before{
	color: #db9a01;

	-webkit-transition: color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-navbar {
	position: relative;

	/*
	position: fixed;
	top:0;
	left:0;
	width:100%;
	*/
	height: 81px;

	margin: 0;
	padding: 0;

	font-size:1.4em;
	font-weight: 300 !important;
	text-align: center;
	line-height: 20px;

	background-color: #282828;
	color:#ffffff;
	border-bottom:1px solid #3c4042;

}

.oC-navbar > * {
	display: block;
	padding: 18px 0;
	box-sizing: border-box;
	height:100%;

	line-height: 2.5em;
}

.oC-navbar a,
.oC-navbar a:hover,
.oC-navbar > *{
	text-decoration: none;

	color:#ffffff;

	border:none;
	background-color: transparent;
}

.oC-navbar button:hover{
	cursor: pointer;
}

.oC-navbar .oC-title {
	margin:auto;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	max-width: 70%;
}

.oC-navbar .oC-btn:first-child {
	left: 0;
}

.oC-navbar .oC-btn:last-child {
	text-align: right;
	right: 0;
}

.oC-panel .oC-navbar {
	display: none;
}

.oC-list,
.oC-list > li {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0;
}

.oC-list {
	font-size: 1.35em;
	line-height: 20px;
	font-weight: 300;

/*	border-top: 1px solid #d9e2e6;*/
}

.oC-list a,
.oC-list a:hover {
	text-decoration: none;
}

.oC-list > li {
	position: relative;
	margin:15px 0 15px 0 !important;
}

.oC-list > li > a,
.oC-list > li > span {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;

	display: block;
	padding: 6px 10px 6px 20px;
	margin: 0;

	font-weight: 400;

	color:#a2a2a2;

	/*
	-webkit-transition: background-color .2s ease;
	-moz-transition: background-color .2s ease;
	-o-transition: background-color .2s ease;
	transition: background-color .2s ease;
*/
	-webkit-transition:color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-list > li a:not(.oC-next) {
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0.5);
	tap-highlight-color: rgba(255, 255, 255, 0.5);
}

.oC-list .oC-next {
	width: 50px;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 2;

	background-color: transparent;
	border:none;
}

.oC-list .oC-next:before {
	display: block;
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;

	border-left:1px solid #b8b8b8;
}

.oC-list .oC-next+a,
.oC-list .oC-next+span {
	margin-right: 50px;
}

.oC-list > li .oC-next:hover:after,
.oC-list > li .oC-next:focus:after{
	border-color:#d9e2e6;

	-webkit-transition: border-color .2s ease;
	-moz-transition: border-color .2s ease;
	-o-transition: border-color .2s ease;
	transition: border-color .2s ease;
}

.oC-list > li > a:hover:not(.oC-next),
.oC-list > li > a:focus:not(.oC-next),
.oC-list > li.oC-Active > a:not(.oC-next) {

	/*
	color:#a2a2a2;
	*/

	-webkit-transition:color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-list > li.oC-Active > a{

	color:#ffffff;

	-webkit-transition:color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-list > li > a:hover:not(.oC-next),
.oC-list > li > a:focus:not(.oC-next){
	color:#ffffff;

	-webkit-transition:color .2s ease;
	-moz-transition:color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.oC-list > li > a:not(.oC-next){
	position: relative;
}

.oC-list > li > a:not(.oC-next):before{
	position: absolute;
	content: "";
	display: block;
	bottom:5px;
	left:20px;
	height:2px;
	width:0;

	background-color:#db9a01;

	-webkit-transition:width .4s ease;
	-moz-transition:width .4s ease;
	-o-transition: width .4s ease;
	transition: width .4s ease;
}

.oC-list > li > a:hover:not(.oC-next):before,
.oC-list > li > a:focus:not(.oC-next):before{
	width:60%;

	-webkit-transition:width .4s ease;
	-moz-transition:width .4s ease;
	-o-transition: width .4s ease;
	transition: width .4s ease;
}

.oC-panels > .oC-panel > .oC-list {
	/*margin: 20px -20px 50px -20px;*/
	margin: 15px -20px 80px -20px;
}

/*
.oC-panels > .oC-panel > .oC-list:first-child,
.oC-panels > .oC-panel > .oC-navbar+.oC-list {
	margin-top: -20px;
}
*/


@media (max-width: 400px) {
	.oC-prev::before {
		left: 25px;
	}

	.oC-navbar .oC-title {
		font-size: 0.9em;
		max-width: 70%;
	}
}