:root {
	--font-size: 1rem;
	--nav-color: #fff;
	--nav-background-color: #0e1419;
	--hero-background-color:  var(--contrast);
}

::marker {
	color: var(--contrast);
}

html, body {
	scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5 {
	margin-bottom: 0.5rem;
}

video {
	max-width: 100%;
}

@media (max-width:768px) {
	.hide-mobile {
		display: none !important;
	}
}

@media (min-width:769px) {
	.hide-desktop {
		display: none !important;
	}
}

.flex {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: start;
  align-items: normal;
  align-content: start
}

.flex-item {
  margin: 10px;
}

.item-50 {
	flex-basis: calc(100% / 2 - 20px);
}

.valign-middle {
	align-items: center;
}

@media (max-width:768px) {
	.item-50 {
		flex-basis: 100%;
		flex-basis: fit-content;
	}
}

/*header */

.header {
	background: var(--nav-background-color);
	padding: 1rem 0;
	border-bottom: solid 1px var(--muted-border-color);
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	position: relative;
}

.header-mobile-btn {
	width: 50px;
	height: 50px;
	padding: 0.4rem;
	margin: 0;
	background-color: transparent;
    border-color: var(--primary-inverse);
    box-shadow: none;
}

.header-mobile-btn svg {
	width: 100%;
	height: 100%;
}

.header-logo {
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
	font-style: italic;
	color: var(--primary-inverse);
}

.header-logo-container {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	z-index: 1;
	width: 130px;
	height: 100px;
}

.header-logo-container a {
	display: block;
}

.header-logo-container div {
	width: 100%;
}

.header-logo-container img,
.header-logo-container svg {
	width: 100%;
	height: auto;
	color: #000;
}

@media (max-width:768px) {
	.header-logo-container {
		transform: scale(0.25);
		left: -30px;
		top: -10px;
	}
	
	.header-logo-container svg {
		color: #fff
	}
	
	.header-grid > a {
		display: inline-block;
		position: relative;
		left: 50px;
		top: 0;
	}
}

#index .header-logo-container svg {
	color: #fff
}

@media (min-width:769px) {
	.header-logo-container {
		display: block;
		top: calc(100% - 40px);
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}

.header-grid {
	align-items: center;
}

.header-nav a {
	color: var(--nav-color);
}

.header-nav .current a {
	background: transparent;
	border: transparent;
	border-bottom: solid;
    border-bottom-color: var(--nav-color);
	border-radius: initial;
}

@media (min-width:769px) {

	.header {
		padding: 3rem 0;
	}

}

@media (max-width:768px) {

	.header-grid {
		flex-wrap: wrap;
	}

	.header-nav {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0;
		margin-right: 0 !important;
		margin-left: 0 !important;
		margin-top: 20px;
	}

	.header-nav li {
		width: 100%;
		padding: 8px 0;
		margin: 0;

	}

	.header-nav a {
		width: 100%;
		text-align: center;
		padding: 10px;
		margin: 0;
	}

	.header-nav a[role="button"] {
		margin-left: 0;
		margin-right: 0;
		padding: inherit;
	}

}

/*content and aside */

.hero-background {
	background-color: var(--hero-background-color);
}

.hero-addons {	
	padding: 2rem 0
}

.hero-addons .container {
	padding: 2rem 3rem;
}

.hero-addons * {
	color: var(--primary-inverse);
	text-align: left;
	text-transform: uppercase;
}

.hero-addons h2 {
	font-size: 2rem;
}

.hero-addons h4 {
	font-size: 1rem;
}

.hero-addons h2,
.hero-addons h4 {
	text-align: center;
}

@media (max-width:768px) {
	.grid.hero-addons {
		grid-template-columns: 6fr 6fr;
	}
	
	.hero-addons .container {
		padding: 1rem 2rem;
	}
	
	.hero-addons h2 {
		font-size: 1.4rem;
	}
}

.content {
	padding: 2rem 0;
	padding-bottom: 0;
}

.content-grid {
	display: grid;
	grid-column: 1fr;
	margin: 2rem 0;
	gap: 1.3rem;
}

@media (min-width:769px) {
	.content-grid {
		grid-template-columns: 9fr 3fr;
	}
}

.content-sidebar ul::marker {
	color: #000;
}

.content-sidebar h2 {
	margin-bottom: 10px;
}


.content-title {
	padding-bottom: 1rem;
	border-bottom: solid 1px var(--muted-border-color);
}

.content-sidebar h2 {
	padding-bottom: 10px;
	border-bottom: solid 1px var(--muted-border-color);
	margin-bottom: 20px;
	display: block;
}


.content-sidebar ul {
	list-style-type: square !important;
	background: var(--primary);
	color: #fff;
	line-height: 1;
	border-radius: 5px;
	list-style-type: square;
}

@media (min-width:768px) {

	.content-sidebar {
		margin-top: 2.7rem;
	}

}

.content-main img {
	margin-bottom: 1.3rem;
	border-radius: 0.2rem;
}


.content-main nav[aria-label="breadcrumb"] li {
	padding: 0 0.5rem;
}

.content-main nav[aria-label="breadcrumb"] a {
	color: var(--muted-color);
}



/*footer */

.footer {
	background: var(--nav-background-color);
	padding: 3rem 0;
	border-top: solid 1px var(--muted-border-color);
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}

.footer-grid {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

@media (max-width:768px) {
	.footer-grid {
		flex-direction: column;
	}
}

.footer-grid p {
	padding: 0;
	margin: 0
}

.social-links {
	display: flex;
}

.social-links a {
	display: inline-block;
	color: inherit;
    background-color: hsla(0,0%,100%,.1);
    padding: 0.5rem;
	margin: 0.25rem;
    border-radius: 50%;
}

.social-links svg {
	display: block;
    fill: currentColor;
    width: 24px;
    height: 24px;
}

/*grid variant */


@media (min-width:768px) {

	.content-grid-left {
		grid-template-columns: 3fr 9fr;
	}

	.content-grid-left .content-sidebar {
		order: 1;
	}

	.content-grid-left .content-main {
		order: 2;
	}

	.content-grid-nosidebar {
		grid-template-columns: 1fr;
	}


}

.content-grid-nosidebar .content-sidebar {
	display: none;
}

/* intro container */

.hs9-intro-container {
	padding: 2rem 0;
}

.hs9-intro-container .grid .container:last-child * {
	font-size: 120%;
}

@media (min-width:768px) {
	.hs9-intro-container .grid {
		grid-template-columns: 2fr 1fr;
		grid-gap: 3rem;
	}
}

.hs9-int-container {
	background-color: #000;
	padding: 4rem 0;
	margin-top: calc(var(--block-spacing-vertical) * -1);
}

.hs9-int-container .grid .container {
	padding: 1rem 0;
}

.hs9-int-container .grid .container:last-child * {
	color: #fff;
	font-size: 120%;
}

@media (min-width:768px) {
	.hs9-int-container .grid {
		grid-template-columns: 1fr 2fr;
		grid-gap: 3rem;
	}
	
	.hs9-int-container .grid .container:nth-of-type(1) {
		order: 2;
	}
}

/* video container */

.hs9-vid-container {
	background-image: url('../images/video-background.webp');
	background-color: #000;
	background-repeat: no-repeat;
    background-position: 100%;
	padding: 4rem 0;
}

.hs9-vid-container h2 {
	color: #fff;
	padding-bottom: 3rem;
}

/* gallery container */

[class$="-gal-container"] {
	background-color: #e8eded;
    background-color: 232,237,237;
	background-image: url('../images/gallery-background.svg');
	background-repeat: no-repeat;
    background-position: 100%;
	padding: 4rem 0;
	/*margin-top: calc(var(--block-spacing-vertical) * -1);*/
}

/* versions container */

.hs9-ver-container .grid {
	grid-template-columns: 1fr;
}

@media (min-width: 576px) {
	.hs9-ver-container .grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1200px) {
	.hs9-ver-container .grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* spec container */

.hs9-spec-container {
	background-color: #e8eded;
    background-color: rgb(232,237,237);
	margin-top: calc(var(--block-spacing-vertical) * -1);
	padding: 4rem 0;
}

.hs9-spec-mobile {
	flex-direction: initial;
}

.hs9-spec-mobile > div {
	flex-direction: column;
	flex-wrap: wrap;
}

.hs9-spec-mobile + div {
	width: 100%;
}

.hs9-spec-mobile .flex-item,
.hs9-spec-desktop > div {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.2rem 0.5rem;
	border-bottom: solid 1px rgba(0, 0, 0, .05);
}

.hs9-spec-mobile > div > div {
	flex-direction: column;
}

.hs9-spec-mobile .flex-item:not(:first-child) {
	flex-direction: row;
	justify-content: flex-start
}

.hs9-spec-mobile .flex-item:first-child {
	border: none;
	width: 100%
}

.hs9-spec-mobile .flex-item:not(:first-child) span {
	padding: 0 0.5rem;
	min-width: 2rem;
}

.hs9-spec-desktop {
	display: none
}

@media (min-width: 576px) {
	.hs9-spec-mobile > div {
		width: calc(100% / 2)
	}
	.hs9-spec-mobile > div:first-child {
		width: 100%
	}
}

@media (min-width: 1200px) {
	.hs9-spec-mobile {
		display: none
	}
	
	.hs9-spec-desktop {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		grid-template-rows: repeat(13, auto);
		grid-template-rows: auto;
		grid-column-gap: 0.5rem;
		grid-row-gap: 0;
		height: calc(100vh - 10px);
	}
	
	.hs9-spec-desktop > div {
		display: inline-flex;
	}

	.hs9-spec-desktop div:nth-child(-n+10) {
		flex-direction: column;
		border: none;
	}

	.hs9-spec-desktop div:nth-child(-n+5) {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.hs9-spec-desktop div:nth-child(5n+1) {
		justify-content: flex-start;
		background-color: #fff;
	}

	.hs9-spec-desktop div:nth-last-child(-n+5) {
		border-bottom: none;
	}

	.hs9-spec-desktop div h4 {
		text-align: center;
	}

	.hs9-spec-desktop div a {
		margin: auto;
	}
}

/* config container */

[class$="-config-container"] .flex {
	margin-bottom: 2rem;
}

[class$="-config-container"] .flex-item {
	margin: 0;
}

[class$="-config-container"] h2,
[class$="-config-container"] h3 {
	margin-bottom: 1rem;
}

[class$="-config-container"] input[type=checkbox], 
[class$="-config-container"] input[type=radio] {
    position:absolute;
    clip: rect(0,0,0,0);
    clip: rect(0 0 0 0);
}

[class$="-config-container"] label {
	color: #161616;
    background-color: #e8eded;
    border-radius: 2px;
    padding: 10px;
	text-align: center;
	cursor: pointer;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	align-items: center;
}

[class$="-config-container"] label img {
	display: inline-block;
    width: 100%;
	height: auto;
	margin: 0;
}

[class$="-config-container"] label p {
	margin-bottom: 0;
}

[class$="-config-container"] [class$="-color-choose"] label {
    display: inline-flex;
    justify-content: center;
    align-items: center;
	aspect-ratio: 1;
    border: 2px solid #fff;
	padding: 5px;
	background: none;
	border-radius: 50%;
}

[class$="-config-container"] [class$="-color-choose"] label img {
	width:44px;
}

[class$="-config-container"] input[type="radio"]:checked + label {
    -webkit-box-shadow: inset 0 0 0 2px rgba(22,22,22,.5),inset 0 0 0 6px #fff;
    box-shadow: inset 0 0 0 2px rgba(22,22,22,.5),inset 0 0 0 6px #fff;
    border-radius: 2px
}

[class$="-config-container"] [class$="-color-choose"] input[type="radio"]:checked + label {
	border-radius: 50%;
}

.hs9-config-container [class$="-type-choose"] .flex-item {
	margin-bottom: 0.5rem;
}

.hs9-config-container [class$="-type-choose"] {
	display: grid;
	grid-template-columns: 1fr 1fr; 
	grid-template-rows: 2fr; 
	gap: 4px 4px; 
}

@media (min-width:481px) {
	.hs9-config-container [class$="-type-choose"] {
		grid-template-columns: 1fr 1fr 1fr; 
		grid-template-rows: 2fr; 
	}
}

@media (min-width:951px) {	
	[class$="-config-container"] [class$="-color-choose"] label img {
		width:56px;
	}
	
	[class$="-config-container"] [class$="-type-choose"]  {
		grid-template-columns: 1fr 1fr 1fr 1fr; 
		grid-template-rows: 1fr; 
	}
}

[class$="-config-container"] [class$="-type-choose"] label {
	display: table;
	margin: 0 4px 4px 0; 
	width: 100%;
	height: 100%
}

[class$="-config-container"]  [class$="-type-choose"] label p + p {
	margin-top: 0.5rem
}

/** h9 gallery **/

[class$="-config-container"] .h9-color-choose {
	justify-content: center;
}

#h9-color-name {
	text-align: center;
	margin: 2rem auto;
}

.h9-color-choose label {
	padding: 2px;
}

/* swiper mod */

.swiper-wrapper {
	height: initial;
}

.swiper-slide img {
	display: block;
	width: 100%;
	margin: 0;
    border-radius: initial;
	object-fit: cover;
}

.swiper-button-next,
.swiper-button-prev {
	width: 40px;
    height: 40px;
	padding: 0;
    margin-top: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    -webkit-transition: background-size .3s;
    transition: background-size .3s;
    background-size: 200% 200%;
    background-position: 50%;
    background-repeat: no-repeat;
	background-color: initial;
    background-image: radial-gradient(transparent 25%,hsla(0,0%,100%,.8))
}

@media (min-width:769px) {
    .swiper-button-next,
	.swiper-button-prev {
        width:60px;
        height: 60px
    }
}

.swiper-button-next:after,
.swiper-button-prev:after {
    content: none
}

.swiper-button-next:not(.swiper-button-disabled):focus,
.swiper-button-next:not(.swiper-button-disabled):hover,
.swiper-button-prev:not(.swiper-button-disabled):focus,
.swiper-button-prev:not(.swiper-button-disabled):hover {
    background-size: 100% 100%
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 1;
    pointer-events: unset
}

.swiper-button-next.swiper-button-disabled .icon,
.swiper-button-prev.swiper-button-disabled .icon {
    opacity: .4
}

.swiper-button-prev {
    -webkit-transform: translateY(-50%) scaleX(-1);
    transform: translateY(-50%) scaleX(-1);
    left: 20px
}

@media (min-width:769px) {
    .swiper-button-prev {
        left:30px
    }
}

.swiper-button-next {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 20px
}

[class^="swiper-button-"] svg {
	display: inline-block;
    fill: currentColor;
    width: 24px;
    height: 24px;
}

@media(min-width:769px) {
	.swiper-button-next {
        right:30px
    }
	[class^="swiper-button-"] svg {
		width: 32px;
		height: 32px;
	}
    
}

[thumbsslider] .swiper-slide img {
	filter: brightness(45%)
}

[thumbsslider] .swiper-slide.swiper-slide-thumb-active img {
	filter: brightness(100%)
}

.swiper-custom .swiper-slide {
    -webkit-transition-property: opacity,-webkit-transform;
    transition-property: opacity,-webkit-transform;
    transition-property: transform,opacity;
    transition-property: transform,opacity,-webkit-transform
}

#hongqi-e-hs9 .monsterGallery-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	grid-row-gap: 10px;
}

#hongqi-e-hs9 .monsterGallery-grid a {
	display: block;
}

#hongqi-e-hs9 .monsterGallery-grid a img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
}

@media (min-width:769px) {
	#hongqi-e-hs9 .monsterGallery-grid {
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 10px;
	}
	
	#hongqi-e-hs9 div:nth-of-type(1) .monsterGallery-grid a:nth-of-type(1) {
		grid-column: 1 / 3;
		grid-row: 1 / 3;
	}
	
	#hongqi-e-hs9 div:nth-of-type(2) .monsterGallery-grid a:nth-of-type(1) {
		grid-column: initial;
		grid-row: initial;
	}
	
	#hongqi-e-hs9 div:nth-of-type(2) .monsterGallery-grid a:nth-of-type(5) {
		grid-column: 2 / 4;
		grid-row: 2 / 4;
	}
}

/* specification table */

.table-spec {
	white-space: nowrap;
	margin: 0;
	border: none;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.table-spec td,
.table-spec th {
	border: none;
	padding: 0.5rem 1rem;
}

.table-spec td {
	text-align: center;
}

.table-spec thead th {
	background-color: #333;
	color: #fff;
	text-align: center;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 1;
	line-height: 150%;
}

.table-spec tbody th {
	white-space: normal;
	font-style: italic;
	text-align: left;
	position: relative;
	position: sticky;
	left: 0;
	z-index: 1;
}

.table-spec thead th:first-child {
	z-index: 2;
}

.table-spec tbody th:nth-of-type(odd) {
	background-color: #fff;
}

.table-spec tbody tr:nth-of-type(even) td,
.table-spec tbody tr:nth-of-type(even) th {
	background-color: #e6e6fa;
}

.table-spec tbody th[colspan="4"] {
	margin-top: 2rem;
    margin-bottom: 2rem;
    display: block;
	background-color: #fff !important;
	font-weight: 700;
	position: sticky;
    left: 0;
} 

.table-spec caption {
	text-align: left;
	padding: 1.25rem;
	position: sticky;
	left: 0;
	font-weight: 700;
}

[role="region"][aria-labelledby][tabindex] {
	width: 100%;
	overflow: auto;
}

[role="region"][aria-labelledby][tabindex]:focus {
	box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.5);
	outline: 0;
}

@media (max-width:768px) {
	[role="region"][aria-labelledby][tabindex]  {
		width: calc(100vw - 2rem);
		max-height: 100vh;
	}
	.table-spec {
		table-layout: initial;
	}
	.table-spec thead th {
		min-width: calc((100vw - 4rem) / 2);
	}
}

/* Google reCaptcha fix */

.g-recaptcha > div {
	margin: 0 auto;
}

/* Google Maps */

.google-maps {
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
}

.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/*
@media (max-width: 480px) {
	.g-recaptcha {
		transform:scale(0.75);
		transform-origin:0 0;
		transform-origin:50% 50%;
	}
}
*/

/* scroll to top */

.scrollup {
	position: fixed;
    z-index: 999;
    bottom: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    padding: 0.25rem;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 250ms linear;
	transform: translate(100px,0);
	border-radius: 50%;
	color: #fff;
}

.scrollup:hover {
    box-shadow: 1px 1px 10px rgba(0, 0,0,0.1);
}

.scrollup svg {
    width: 90%;
    height: 90%;
}

#cbcookies-bottom {
	padding: 1rem !important;
}

#cbcookies_accept {
	background-color: var(--primary) !important;
	padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal) !important;
	max-width: 120px;
	margin: 1rem auto 0 auto;
	text-align: center;
	display: flex;
	justify-content: center;
}

@media (min-width:769px) {
	#cbcookies_accept {
		display: inline-flex;
		margin: 0.5rem;
	}
}

/* contact form */

.p01-contact {
	--form-element-spacing-vertical: 0.75rem;
    --form-element-spacing-horizontal: 1rem;
	--border-radius: 0.25rem;
    --border-width: 1px;
	--border-color: var(--primary-hover);
    --outline-width: 3px;
	--primary-hover: hsl(195deg, 90%, 32%);
	background-color: #fff;
	max-width: 40em !important;
	padding: 4rem;
}

.p01-contact input,
.p01-contact textarea {
	background-color: #fff;
}

@media (max-width:768px) {
	.p01-contact {
		padding: 2rem 1rem;
	}
}

.p01-contact .options [type=checkbox], 
.p01-contact .options [type=radio] {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto; 
}

.p01-contact input[type=submit]:not([type=radio]):not([type=checkbox]) {
	padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal) !important;
    border: var(--border-width) solid var(--border-color) !important;
    border-radius: var(--border-radius);
    outline: 0;
    background-color: var(--primary-hover) !important;
    box-shadow: var(--box-shadow);
    color: var(--color);
    font-weight: var(--font-weight);
    font-size: 1rem;
    line-height: var(--line-height);
    text-align: center;
    cursor: pointer;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}

.spec-container .grid {
	grid-template-columns: repeat(2, 1fr); 
	grid-template-rows: repeat(3, 1fr);
	gap: 4px 4px;
}

.spec-container .grid p span {
	font-weight: 700;
    font-size: 1.5vw;
}

@media (min-width:769px) {
	.spec-container .grid {
		grid-template-columns: repeat(3, 1fr); 
		grid-template-rows: repeat(2, 1fr);
	}
}

.grid.-1\/4  {
	grid-template-rows: repeat(2, 1fr);
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	width: 100%;
	height: 100%;
}

.grid.\-1\/4 #div1 {
	grid-area: 1 / 1 / 2 / 4;
}

.grid.\-1\/4 #div2 {
	grid-area: 2/1/3/2;
	
}

.grid.\-1\/4 #div3 {
	grid-area: 2/2/3/3;
}

.grid.\-1\/4 #div4 {
	grid-area: 2/3/3/4;
}

.grid.\-1\/4 div:not(#div1) img {
	object-fit: cover;
	aspect-ratio: 1
}