/**
* template:  Blend&Buzz

TABLE OF CONTENTS

      + Global
	  + Header
	  + Header Content
	  + About Us
	  + Services
	  + Menu
	  + Banner
	  + Booking
	  + Testimonials
	  + Contacts

      
*/

@import 'reset.css';
@import 'all.min.css';
@import 'magnific-popup.css';
@import 'owl.carousel.min.css';
@import 'owl.theme.default.min.css';
@import 'scrollCue.css';

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


/**************************************
*
*         GLOBAL   
*
***************************************/


:root {
   --color-dark: #0D0D0F;
   --color-dark-gray: #1F1F24;
   --color-gold: #E6B450;
   --color-dark-gold: #B5835A;
   --color-white: #FFFFFF;
}

@-webkit-keyframes load {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes load {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

 ::-moz-selection {
	background-color: var(--color-gold);
	color: var(--color-dark);
}

 ::selection {
	background-color: var(--color-gold);
	color: var(--color-dark);
}

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
	outline: none;
}

a {
	text-decoration: none;
	display: inline-block;
	-webkit-transition: all;
	-o-transition: all;
	transition: all;
	-webkit-transition-duration: 0.5s;
	     -o-transition-duration: 0.5s;
	        transition-duration: 0.5s;
}

img {
	display: block;
	height: auto;
	width: 100%;
}

body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
	line-height: 1.5;
  color: var(--color-white);
  background-color: var(--color-dark);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
	line-height: 1.2;
	margin-bottom: 30px;
	text-transform: uppercase;
    color: var(--color-white);
}

h1 {
	font-size: 70px;
}

h2 {
	font-size: 50px;
}

h3 {
	font-size: 20px;
}

.align-center {
	text-align: center;
}

.btn {
	padding: 15px 30px;
	background-color: transparent;
	color: var(--color-gold);
	text-transform: uppercase;
    border-radius: 3px;
	border: 1px solid var(--color-gold);
}

.btn:hover {
  border: 1px solid var(--color-white);
  color: var(--color-white);
}

.wrapper {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}

.container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}

.ptb {
	padding-top: 100px;
	padding-bottom: 100px;
}

.flex { 
	display: -webkit-box; 
	display: -ms-flexbox; 
	display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
   -ms-flex-wrap: wrap;
       flex-wrap: wrap;
}

.suptitle {
	display: inline-block;
	color: var(--color-gold);
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 10px;
	position: relative;
}

.suptitle:before {
	content: "";
	width: 50px;
	height: 1px;
	background-color: var(--color-gold);
	position: absolute;
	top: 50%;
	right: -60px;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
}

#openmenu,
#closemenu {
	font-size: 30px;
	color: var(--color-white);
	display: none;
}

#openmenu:hover,
#closemenu:hover {
	color: var(--color-gold);
}

#closemenu {
	float: right;
}

#scroll-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 100;
	padding: 15px;
	background-color: var(--color-gold);
	color: var(--color-white);
	font-size: 18px;
}

#scroll-top:hover {
	background-color: var(--color-dark-gold);
}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: 0;
	background-color:  rgba(255, 255, 255, 0.5);
	-webkit-transition: all;
	-o-transition: all;
	transition: all;
	-webkit-transition-duration: 0.5s;
	     -o-transition-duration: 0.5s;
	        transition-duration: 0.5s;
}

.overlay i {
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--color-gold);
	font-size: 20px;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}

#preload {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--color-dark-gray);
	z-index: 100000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#preload img {
	width: 44px;
	height: auto;
	-webkit-animation-name: load;
	animation-name: load;
	-webkit-animation-duration: 3s;
	animation-duration: 3s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

.res-booking {
	margin-top: 30px;
	margin-left: 10px;
	display: none;
	font-size: 16px;
	margin-top: 20px;
}

.res-booking .error {
	color: #ff0000;
}

.res-booking .send {
	color: var(--color-white);
}


/**************************************
*
*         HEADER   
*
***************************************/


.header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

#logo {
   margin-right: 20px;
   outline: none;
   border: none;
}

#logo img {
   max-width: 100%;
    outline: none;
   border: none;
}

.wrapper-top-header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 15px;
    padding-bottom: 5px;
    color: var(--color-white);
}

.wrapper-top-header i {
    margin-right: 10px;
}

.wrapper-header {
	padding-top: 5px;
	padding-bottom: 15px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.wrapper-menu {
   -webkit-box-align: center;
       -ms-flex-align: center;
           align-items: center;
}

.header-menu li {
   float: left;
   margin-left: 30px;
}

.header-menu>li a {
	color: var(--color-white);
	text-transform: uppercase;
	padding-top: 10px;
	padding-bottom: 10px;
}

.header-menu>li a:hover {
	color: var(--color-gold);
}


/**************************************
*
*         HEADER CONTENT
*
***************************************/


.wrapper-header-content {
	min-height: 900px;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center top;
  background-attachment: fixed;
	background-size: cover;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}


/**************************************
*
*        ABOUT US
*
***************************************/


.wrapper-aboutus {
     -webkit-box-align: center;
         -ms-flex-align: center;
             align-items: center;
}

.aboutus-img {
	width:calc(50% - 50px);
	margin: 25px;
	position:relative;
}

.experiense {
	 position: absolute;
	 bottom: -20px;
	 right: -20px;
	 background-color: var(--color-gold);
	 padding: 40px 30px;
	 color: var(--color-white);
	 -webkit-box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.25);
	         box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.25);
}

.experiense .counter {
	font-size: 50px;
	font-weight: 700;
} 

.aboutus-content {
	width: 50%;
	padding:50px;
	background-color: var(--color-dark-gray);
	-webkit-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
}

.aboutus-content p {
	margin-bottom: 20px;
}

.wrapper-signature {
	margin-top: 50px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 50px;
}

.wrapper-signature img {
	max-width: 180px;
	margin-right: 10px;
}

.wrapper-signature h3 {
	font-size: 18px;
	margin-bottom: 5px;
}

.wrapper-signature p {
	text-transform: uppercase;
	letter-spacing: 3px;
	font-size: 12px;
	color: var(--color-gold);
}


/**************************************
*
*        SERVICES
*
***************************************/


.single-service {
	width: calc(25% - 20px);
	margin: 10px;
	padding: 40px 20px;
	background-color: var(--color-dark-gray);
}

.single-service h3 {
	margin-bottom: 10px;
}

.single-service img {
	max-width: 64px;
	height: auto;
	margin: 0 auto 30px auto;
}


/**************************************
*
*         MENU
*
***************************************/


.list-menu {
	width: 100%;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.list-menu li {
	margin:10px;
}

.list-menu li a {
	text-transform: uppercase;
	color: var(--color-white);
	font-size: 18px;
	font-weight: 700;
}

.list-menu li a:hover {
	color: var(--color-gold);
}

.list-menu .active {
	color: var(--color-gold);
}

.wrapper-menu {
   -webkit-box-align: center;
       -ms-flex-align: center;
           align-items: center;
}

.menu-item .single-product  {
	width: calc(25% - 20px);
	margin: 10px;
	background-color: var(--color-dark-gray);
}

.wrapper-menu {
	margin-bottom: 30px;
}

.single-product-img {
	position: relative;
	display: block;
	border: none;
	outline: none;
}

.single-product-img:hover .overlay {
    opacity: 1;
}

.single-product-content {
	padding: 40px 10px;
}

.single-product-content h3 {
	color: var(--color-white);
	margin-bottom: 10px;
}

.single-product-content span {
	font-size: 20px;
	display: inline-block;
	margin-top: 20px;
	color: var(--color-gold);
}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: 0;
	background-color:  rgba(13, 13, 15, 0.4);
	-webkit-transition: all;
	-o-transition: all;
	transition: all;
	-webkit-transition-duration: 0.5s;
	     -o-transition-duration: 0.5s;
	        transition-duration: 0.5s;
}

.overlay i {
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--color-gold);
	font-size: 20px;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}


/**************************************
*
*        BANNER
*
***************************************/


#banner h2 {
	font-size: 60px;
}


/**************************************
*
*         BOOKING   
*
***************************************/


#booking {
	width: 100%;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: cover;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.wrapper-booking {
	width: 50%;
	padding: 100px 50px;
	background-color: var(--color-dark-gray);
}

form {
	margin-top: 50px;
}

input, textarea {
	outline: none;
	border: none;
	padding: 15px;
	border: 1px solid var(--color-gold);
	color: var(--color-white);
    font-size: 16px;
	background-color: transparent;
	display: block;
	font-family: "Lato", sans-serif;
    font-weight: 400;
	border-radius: 3px;
}

textarea {
    min-height: 150px;
	width: 100%;
	margin-bottom: 20px;
}

::-webkit-input-placeholder {
	color: var(--color-gold);
	font-size: 12px;
	text-transform: uppercase;
	 font-family: "Lato", sans-serif;
    font-weight: 400;
}

::-moz-placeholder {
	color: var(--color-gold);
	font-size: 12px;
	text-transform: uppercase;
	 font-family: "Lato", sans-serif;
    font-weight: 400;
}

:-ms-input-placeholder {
	color: var(--color-gold);
	font-size: 12px;
	text-transform: uppercase;
	 font-family: "Lato", sans-serif;
    font-weight: 400;
}

::-ms-input-placeholder {
	color: var(--color-gold);
	font-size: 12px;
	text-transform: uppercase;
	 font-family: "Lato", sans-serif;
    font-weight: 400;
}

::placeholder {
	color: var(--color-gold);
	font-size: 12px;
	text-transform: uppercase;
	 font-family: "Lato", sans-serif;
    font-weight: 400;
}

input:focus, textarea:focus {
		border: 1px solid var(--color-dark-gold);
}

.wrapper-input {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.wrapper-input input {
   width: calc(50% - 10px);
   margin-bottom: 20px;
}

#sendmessage {
	cursor: pointer;
	-webkit-transition: all;
	-o-transition: all;
	transition: all;
	-webkit-transition-duration: 0.5s;
	     -o-transition-duration: 0.5s;
	        transition-duration: 0.5s;
}


/**************************************
*
*        TESTIMONIALS
*
***************************************/


#testimonials h2 {
	color: var(--color-white);
}

.wrapper-testimonials {
	max-width: 1000px;
	margin-top: 50px;
}

.single-testimonials img {
	width: 80px !important;
	height: 80px !important;
	margin: 0 auto;
	border-radius: 50%;
	margin-bottom: 30px;
}

.single-testimonials p {
	margin-bottom: 20px;
	color: var(--color-white);
}

.wrapper-author h3 {
	margin-bottom: 10px;
	font-size: 20px;
	color: var(--color-white);
}

.wrapper-author p {
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--color-white);
}

#testimonials .owl-carousel.testimonials-carousel .owl-item {
	height: auto;
}

#testimonials .owl-theme .owl-nav.disabled+.owl-dots {
    margin-top: 40px;
}

#testimonials .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: var(--color-gold);
}

#testimonials .owl-theme .owl-dots .owl-dot span {
    width: 20px;
    height: 3px;
    margin: 5px 7px;
    background: var(--color-dark-gold);
    display: block;
    -webkit-backface-visibility: visible;
    -webkit-transition: opacity .2s ease;
    -o-transition: opacity .2s ease;
    transition: opacity .2s ease;
    border-radius: none;
}


/**************************************
*
*         CONTACTS
*
***************************************/


#contacts {
	background-color: var(--color-dark-gray);
}

#contacts h2 {
	color: var(--color-white);
}

.wrapper-contact {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.wrapper-contact>div {
	width: 25%;
	padding: 20px;
}

.wrapper-contact>div .social-link {
	margin-left: 0px;
}

.wrapper-contact>div .social-link li {
	margin-left: 0px;
	margin-right: 15px;
}

.wrapper-contact>div p {
	margin-bottom: 10px;
	color: var(--color-white);
}

.wrapper-contact>div h3 {
	font-size: 20px;
	color: var(--color-white);
}

.wrapper-contact>div a {
	color: var(--color-gold);
}

.wrapper-contact>div a:hover {
      color: var(--color-dark-gold);
}

.wrapper-map iframe {
	width: 100%;
	height: 400px;
	display: block;
}

.copyright {
	padding: 30px 15px;
	text-align: center;
	font-size: 14px;
	color: var(--color-white);
}

/**************************************
*
*        TOP GAMES
*
***************************************/

.games-grid {
   display: grid;
   grid-template-columns: repeat(6, 1fr);
   gap: 20px;
   margin-top: 50px;
}

.game-card {
   position: relative;
   background-color: var(--color-dark-gray);
   border-radius: 6px;
   overflow: hidden;
}

.game-card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.game-overlay {
   position: absolute;
   inset: 0;
   background: rgba(13, 13, 15, 0.7);
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   transition: all 0.4s ease;
}

.game-card:hover .game-overlay {
   opacity: 1;
}

/* ====== Responsive ====== */

@media (max-width: 1200px) {
   .games-grid {
      grid-template-columns: repeat(4, 1fr);
   }
}

@media (max-width: 768px) {
   .games-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 15px;
   }
}

@media (max-width: 480px) {
   .games-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
   }
}

.single-service img {
   width: 64px;
   height: 64px;
   margin: 0 auto 25px auto;
   object-fit: contain;

   /* Gold color filter */
   filter: brightness(0) saturate(100%)
           invert(72%) sepia(52%) saturate(528%)
           hue-rotate(2deg) brightness(95%) contrast(92%);
}
.app-store-buttons {
   display: flex;
   justify-content: center;
   gap: 20px;
   margin-top: 30px;
   flex-wrap: wrap;
}

.app-store-buttons img {
   height: 50px;
   width: auto;
   max-width: 180px;
   object-fit: contain;
   transition: transform 0.3s ease;
}

.app-store-buttons img:hover {
   transform: translateY(-3px);
}

/* Mobile */
@media (max-width: 480px) {
   .app-store-buttons img {
      height: 44px;
      max-width: 160px;
   }
}
/* Payments Tabs */
.payments-tabs {
   display: flex;
   justify-content: center;
   gap: 20px;
   margin-bottom: 30px;
}

.tab-btn {
   padding: 10px 30px;
   border: 1px solid var(--color-gold);
   background: transparent;
   color: #fff;
   cursor: pointer;
}

.tab-btn.active {
   background-color: var(--color-gold);
   color: #000;
}

/* Table Wrapper */
.payments-table-wrapper {
   max-width: 800px;
   margin: 0 auto;
   background-color: var(--color-dark);
   border-radius: 6px;
   padding: 20px;
}

/* Table */
.payments-table {
   width: 100%;
   border-collapse: collapse;
   display: none;
}

.payments-table.active {
   display: table;
}

.payments-table td {
   padding: 14px 10px;
   border-bottom: 1px solid rgba(255,255,255,0.08);
   text-align: left;
}

.payments-table td:last-child {
   text-align: right;
   white-space: nowrap;
}

/* Icons */
.payments-table img {
   width: 46px;
   height: 46px;
   object-fit: contain;
}

/* Mobile */
@media (max-width: 600px) {
   .payments-table td {
      font-size: 14px;
   }

   .payments-table img {
      width: 28px;
      height: 28px;
   }
}
/**************************************
*
*     PAYMENTS TRUST BLOCK
*
***************************************/

.payments-trust {
   max-width: 1100px;
   margin: 80px auto 0 auto;
   background: linear-gradient(180deg, #1b1b1f 0%, #141416 100%);
   border-radius: 8px;
   padding: 60px 50px;
}

.payments-trust-header p {
   max-width: 850px;
   margin: 20px auto 0 auto;
   opacity: 0.9;
}

.payments-trust-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px;
   margin-top: 60px;
}

.trust-item {
   background-color: var(--color-dark);
   padding: 35px;
   border-radius: 6px;
   text-align: center;
}

.trust-icon {
   width: 56px;
   height: 56px;
   margin: 0 auto 25px auto;
}

.trust-icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.trust-item h4 {
   margin-bottom: 15px;
   color: var(--color-gold);
}

.trust-item ul {
   list-style: none;
   padding: 0;
   margin-top: 20px;
}

.trust-item ul li {
   margin-bottom: 10px;
   font-size: 14px;
   opacity: 0.9;
}

.payments-trust-footer {
   margin-top: 50px;
   padding-top: 30px;
   border-top: 1px solid rgba(255,255,255,0.08);
}

/* Mobile */
@media (max-width: 900px) {
   .payments-trust-grid {
      grid-template-columns: 1fr;
   }

   .payments-trust {
      padding: 40px 25px;
   }
}

.gold-icon {
   width: 36px;
   height: 36px;
   object-fit: contain;

   filter: brightness(0) saturate(100%)
           invert(66%) sepia(38%) saturate(520%)
           hue-rotate(8deg) brightness(92%) contrast(98%);
}

/**************************************
*
*   PLATFORM INTEGRITY BLOCK
*
***************************************/

.integrity-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px;
}

.integrity-item {
   background-color: var(--color-dark);
   padding: 40px;
   border-radius: 8px;
   text-align: center; 
}

.integrity-item h3 {
   margin: 20px 0 15px 0;
   color: var(--color-gold);
}

.integrity-item p {
   margin-bottom: 12px;
   opacity: 0.95;
}

.integrity-item img {
   width: 42px;
   height: 42px;
   object-fit: contain;
   display: block;
   margin: 0 auto; 
}


/* Mobile */
@media (max-width: 900px) {
   .integrity-grid {
      grid-template-columns: 1fr;
   }
}
/**************************************
*
*            FAQ
*
***************************************/

.faq-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 40px;
}

.faq-item {
   background-color: var(--color-dark);
   border-radius: 6px;
   margin-bottom: 20px;
   overflow: hidden;
}

.faq-question {
   width: 100%;
   padding: 18px 20px;
   background: none;
   border: none;
   color: #fff;
   text-align: left;
   font-size: 16px;
   cursor: pointer;
   position: relative;
}

.faq-question::after {
   content: "+";
   position: absolute;
   right: 20px;
   top: 50%;
   transform: translateY(-50%);
   color: var(--color-gold);
   font-size: 20px;
}

.faq-item.active .faq-question::after {
   content: "−";
}

.faq-answer {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.3s ease;
   padding: 0 20px;
}

.faq-item.active .faq-answer {
   max-height: 300px;
   padding-bottom: 20px;
}

.faq-answer p {
   margin-top: 10px;
   font-size: 14px;
   opacity: 0.95;
}

/* Mobile */
@media (max-width: 900px) {
   .faq-grid {
      grid-template-columns: 1fr;
   }
}

/**************************************
*
*            FOOTER
*
***************************************/

.footer {
   background-color: #0f0f12;
   padding-top: 70px;
   color: #cfcfcf;
}

.footer-grid {
   display: grid;
   grid-template-columns: 2fr 1fr 1fr 1.3fr;
   gap: 50px;
}

.footer-logo img {
   max-width: 160px;
   margin-bottom: 20px;
}

.footer-about p {
   font-size: 14px;
   line-height: 1.7;
   opacity: 0.9;
}

.footer-col h4 {
   color: var(--color-gold);
   margin-bottom: 20px;
}

.footer-col ul {
   list-style: none;
   padding: 0;
}

.footer-col ul li {
   margin-bottom: 10px;
}

.footer-col ul li a {
   color: #cfcfcf;
   font-size: 14px;
}

.footer-col ul li a:hover {
   color: var(--color-gold);
}

.footer-col p a {
   color: #cfcfcf;
}

.footer-col p a:hover {
   color: var(--color-gold);
}

/* Bottom */
.footer-bottom {
   margin-top: 60px;
   border-top: 1px solid rgba(255,255,255,0.08);
   padding: 25px 0;
}

.footer-bottom-inner {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 15px;
}

.footer-disclaimer {
   font-size: 13px;
   opacity: 0.7;
}

/* Mobile */
@media (max-width: 900px) {
   .footer-grid {
      grid-template-columns: 1fr;
   }

   .footer-bottom-inner {
      text-align: center;
      justify-content: center;
   }
}
.reef-services-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 30px;
}

.reef-service-card {
   background-color: var(--color-dark-gray);
   padding: 35px;
   border-radius: 8px;
}

.reef-service-card h4 {
   color: var(--color-gold);
   margin-bottom: 12px;
}

/* Mobile */
@media (max-width: 900px) {
   .reef-services-grid {
      grid-template-columns: 1fr;
   }
}

/* ==================================================
   FIXED HEADER
================================================== */

html {
   scroll-behavior: smooth;
   scroll-padding-top: 90px;
}

.header {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   width: 100%;
   z-index: 9999;

   background-color: rgba(13, 13, 15, 0.96);
   border-bottom: 1px solid rgba(255, 255, 255, 0.08);

   -webkit-backdrop-filter: blur(12px);
   backdrop-filter: blur(12px);
}

.wrapper-header {
   min-height: 80px;
   padding-top: 10px;
   padding-bottom: 10px;

   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: nowrap;
}


/* ===== LOGO ===== */

#logo {
   margin-right: 25px;
   flex-shrink: 0;
   outline: none;
   border: none;
}

#logo img {
   width: auto;
   height: auto;
   max-width: 70px;
   display: block;
}


/* ===== NAVIGATION ===== */

#navigation {
   display: flex;
   align-items: center;
}

.header-menu {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 22px;

   margin: 0;
   padding: 0;
   list-style: none;
}

.header-menu li {
   float: none;
   margin: 0;
   padding: 0;
}

.header-menu > li > a {
   display: inline-block;

   color: var(--color-white);
   font-size: 13px;
   font-weight: 500;
   line-height: 1.2;

   letter-spacing: 0.5px;
   text-transform: uppercase;
   white-space: nowrap;

   padding: 10px 0;

   transition: color 0.3s ease;
}

.header-menu > li > a:hover {
   color: var(--color-gold);
}


/* ===== PLAY NOW BUTTON ===== */

.header-menu > li > a.btn {
   padding: 12px 20px;

   color: var(--color-gold);
   background-color: transparent;

   border: 1px solid var(--color-gold);
   border-radius: 3px;

   transition:
      color 0.3s ease,
      border-color 0.3s ease,
      background-color 0.3s ease;
}

.header-menu > li > a.btn:hover {
   color: var(--color-white);
   border-color: var(--color-white);
}


/* ===== MOBILE MENU BUTTONS ===== */

#openmenu,
#closemenu {
   color: var(--color-white);
}

#openmenu:hover,
#closemenu:hover {
   color: var(--color-gold);
}


/* ===== ANCHOR OFFSET ===== */

section {
   scroll-margin-top: 90px;
}


/* ==================================================
   TABLET / SMALL DESKTOP
================================================== */

@media (max-width: 1200px) {

   .header-menu {
      gap: 14px;
   }

   .header-menu > li > a {
      font-size: 12px;
   }

   .header-menu > li > a.btn {
      padding: 11px 15px;
   }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 900px) {

   .wrapper-header {
      min-height: 72px;
   }

   #logo img {
      max-width: 65px;
   }

   #openmenu {
      display: block;
      font-size: 28px;
   }

   #navigation {
      position: fixed;
      top: 0;
      right: -100%;

      width: min(360px, 88%);
      height: 100vh;

      padding: 30px;

      background-color: var(--color-dark-gray);

      display: block;

      transition: right 0.35s ease;

      overflow-y: auto;
      z-index: 10000;
   }

   #navigation.active {
      right: 0;
   }

   #closemenu {
      display: block;
      float: none;
      margin-left: auto;
      margin-bottom: 35px;
      width: fit-content;
   }

   .header-menu {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;

      gap: 8px;
      width: 100%;
   }

   .header-menu li {
      width: 100%;
   }

   .header-menu > li > a {
      width: 100%;
      padding: 12px 0;

      font-size: 14px;
   }

   .header-menu > li > a.btn {
      width: auto;
      margin-top: 15px;
      padding: 12px 22px;
   }
}

/**************************************
*
*       CASINO ABOUT
*
***************************************/

.casino-about {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ===== Heading ===== */

.about-heading {
   max-width: 900px;
   margin-bottom: 60px;
}

.about-heading h2 {
   max-width: 850px;
   margin-bottom: 25px;
}

.about-intro {
   max-width: 780px;
   font-size: 18px;
   line-height: 1.8;
   color: rgba(255, 255, 255, 0.72);
}


/* ===== Main layout ===== */

.about-main {
   display: grid;
   grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
   align-items: stretch;
   gap: 0;

   margin-bottom: 35px;
}


/* ===== Image ===== */

.about-image {
   position: relative;
   min-height: 610px;
   overflow: hidden;
}

.about-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.02) 45%,
      rgba(13, 13, 15, 0.75) 100%
   );

   pointer-events: none;
}

.about-image img {
   width: 100%;
   height: 100%;
   min-height: 610px;

   object-fit: cover;
   object-position: center;

   transition: transform 0.7s ease;
}

.about-main:hover .about-image img {
   transform: scale(1.025);
}


/* Image badge */

.about-image-badge {
   position: absolute;
   left: 35px;
   bottom: 35px;
   z-index: 2;

   display: flex;
   flex-direction: column;

   padding: 20px 25px;

   background-color: rgba(13, 13, 15, 0.88);
   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.badge-year {
   color: var(--color-gold);
   font-family: "Montserrat", sans-serif;
   font-size: 32px;
   line-height: 1;
   font-weight: 500;
}

.badge-text {
   margin-top: 8px;

   color: rgba(255, 255, 255, 0.72);
   font-size: 12px;
   letter-spacing: 1px;
   text-transform: uppercase;
}


/* ===== Main text ===== */

.about-content {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 60px;

   background-color: var(--color-dark-gray);
   border-top: 1px solid rgba(230, 180, 80, 0.22);
   border-right: 1px solid rgba(230, 180, 80, 0.22);
   border-bottom: 1px solid rgba(230, 180, 80, 0.22);
}

.about-label {
   display: inline-block;

   margin-bottom: 14px;

   color: var(--color-gold);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 2px;
   text-transform: uppercase;
}

.about-content h3 {
   max-width: 500px;

   margin-bottom: 28px;

   font-size: 30px;
   line-height: 1.25;
}

.about-content p {
   margin-bottom: 20px;

   color: rgba(255, 255, 255, 0.76);
   font-size: 15px;
   line-height: 1.85;
}

.about-content p:last-child {
   margin-bottom: 0;
}


/* ===== Facts ===== */

.about-facts {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   margin-bottom: 35px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.about-fact {
   min-height: 275px;
   padding: 32px 28px;

   background-color: var(--color-dark-gray);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);

   transition:
      background-color 0.3s ease,
      transform 0.3s ease;
}

.about-fact:hover {
   background-color: #25252b;
}

.fact-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   margin-bottom: 30px;

   border: 1px solid rgba(230, 180, 80, 0.45);
}

.fact-icon i {
   color: var(--color-gold);
   font-size: 18px;
}

.fact-value {
   display: block;

   margin-bottom: 8px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 23px;
   line-height: 1.2;
}

.about-fact h3 {
   margin-bottom: 13px;

   color: var(--color-white);
   font-size: 14px;
   letter-spacing: 1px;
}

.about-fact p {
   color: rgba(255, 255, 255, 0.64);

   font-size: 14px;
   line-height: 1.7;
}


/* ===== Historical identity ===== */

.about-identity {
   display: grid;
   grid-template-columns: 0.8fr 1.2fr;
   gap: 70px;

   padding: 65px;

   margin-bottom: 35px;

   background-color: #151518;

   border-top: 1px solid rgba(230, 180, 80, 0.32);
}

.identity-title h3 {
   max-width: 470px;

   margin-bottom: 0;

   font-size: 31px;
   line-height: 1.35;
}

.identity-text {
   padding-left: 45px;

   border-left: 1px solid rgba(230, 180, 80, 0.25);
}

.identity-text p {
   margin-bottom: 20px;

   color: rgba(255, 255, 255, 0.72);

   font-size: 15px;
   line-height: 1.85;
}

.identity-text p:last-child {
   margin-bottom: 0;
}


/* ===== Operator ===== */

.about-operator {
   display: grid;
   grid-template-columns: 80px 1fr;
   gap: 30px;

   align-items: flex-start;

   padding: 40px 45px;

   background-color: var(--color-dark-gray);

   border-left: 3px solid var(--color-gold);
}

.operator-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 64px;
   height: 64px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.operator-icon i {
   color: var(--color-gold);
   font-size: 22px;
}

.operator-content .about-label {
   margin-bottom: 10px;
}

.operator-content h3 {
   margin-bottom: 15px;

   font-size: 22px;
}

.operator-content p {
   max-width: 1050px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);

   font-size: 14px;
   line-height: 1.8;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

   .about-main {
      grid-template-columns: 1fr;
   }

   .about-image,
   .about-image img {
      min-height: 500px;
   }

   .about-content {
      border-left: 1px solid rgba(230, 180, 80, 0.22);
   }

   .about-facts {
      grid-template-columns: repeat(2, 1fr);
   }

   .about-identity {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .identity-text {
      padding-left: 0;
      padding-top: 30px;

      border-left: none;
      border-top: 1px solid rgba(230, 180, 80, 0.25);
   }
}


@media (max-width: 768px) {

   .about-heading {
      margin-bottom: 40px;
   }

   .about-heading h2 {
      font-size: 36px;
   }

   .about-intro {
      font-size: 16px;
   }

   .about-image,
   .about-image img {
      min-height: 420px;
   }

   .about-content {
      padding: 40px 30px;
   }

   .about-content h3 {
      font-size: 25px;
   }

   .about-identity {
      padding: 40px 30px;
   }

   .identity-title h3 {
      font-size: 25px;
   }

   .about-operator {
      grid-template-columns: 1fr;
      padding: 35px 30px;
   }
}


@media (max-width: 550px) {

   .about-facts {
      grid-template-columns: 1fr;
   }

   .about-fact {
      min-height: auto;
   }

   .about-image,
   .about-image img {
      min-height: 350px;
   }

   .about-image-badge {
      left: 20px;
      bottom: 20px;

      padding: 16px 20px;
   }

   .badge-year {
      font-size: 27px;
   }
}

/**************************************
*
*       VISIT OVERVIEW
*
***************************************/

.visit-overview {
   position: relative;
   background-color: var(--color-dark-gray);
   overflow: hidden;
}


/* ===== Heading ===== */

.visit-heading {
   max-width: 850px;
   margin: 0 auto 60px auto;
}

.visit-heading h2 {
   margin-bottom: 25px;
}

.visit-heading p {
   max-width: 750px;
   margin: 0 auto;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}


/* ===== Main facts ===== */

.visit-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.visit-card {
   position: relative;

   min-height: 310px;
   padding: 38px 30px;

   background-color: var(--color-dark);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);

   transition:
      background-color 0.3s ease,
      transform 0.3s ease;
}

.visit-card:hover {
   background-color: #161619;
}


/* Icon */

.visit-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   margin-bottom: 35px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.visit-icon i {
   color: var(--color-gold);
   font-size: 18px;
}


/* Large value */

.visit-number {
   display: block;

   margin-bottom: 10px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 27px;
   font-weight: 500;
   line-height: 1.2;
}

.visit-card h3 {
   margin-bottom: 16px;

   color: var(--color-white);
   font-size: 15px;
   letter-spacing: 1px;
}

.visit-card p {
   margin: 0;

   color: rgba(255, 255, 255, 0.65);

   font-size: 14px;
   line-height: 1.75;
}


/* ===== Practical Information ===== */

.visit-practical {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   margin-top: 30px;

   background-color: var(--color-dark);
   border: 1px solid rgba(255, 255, 255, 0.09);
}

.visit-practical-item {
   display: flex;
   align-items: flex-start;
   gap: 18px;

   min-height: 125px;
   padding: 28px 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.visit-practical-item:last-child {
   border-right: none;
}

.practical-icon {
   flex-shrink: 0;

   display: flex;
   align-items: center;
   justify-content: center;

   width: 38px;
   height: 38px;

   color: var(--color-gold);

   border: 1px solid rgba(230, 180, 80, 0.3);
}

.practical-icon i {
   font-size: 14px;
}

.visit-practical-item span {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}

.visit-practical-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.78);

   font-size: 14px;
   line-height: 1.55;
}


/* ===== Bottom Note ===== */

.visit-note {
   display: grid;
   grid-template-columns: 55px 1fr auto;
   align-items: center;
   gap: 25px;

   margin-top: 30px;
   padding: 30px 35px;

   background-color: #151518;

   border-left: 3px solid var(--color-gold);
}

.visit-note-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.visit-note-icon i {
   color: var(--color-gold);
   font-size: 18px;
}

.visit-note-content span {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.4px;
   text-transform: uppercase;
}

.visit-note-content p {
   max-width: 780px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 14px;
   line-height: 1.7;
}


/* Link */

.visit-more {
   display: inline-flex;
   align-items: center;
   gap: 12px;

   padding-left: 25px;

   color: var(--color-gold);

   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1px;
   text-transform: uppercase;

   white-space: nowrap;

   transition: color 0.3s ease;
}

.visit-more:hover {
   color: var(--color-white);
}

.visit-more i {
   font-size: 12px;
   transition: transform 0.3s ease;
}

.visit-more:hover i {
   transform: translateX(4px);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

   .visit-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .visit-practical {
      grid-template-columns: repeat(2, 1fr);
   }

   .visit-practical-item:nth-child(2) {
      border-right: none;
   }

   .visit-practical-item:nth-child(-n+2) {
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
   }

   .visit-note {
      grid-template-columns: 55px 1fr;
   }

   .visit-more {
      grid-column: 2;
      padding-left: 0;
   }
}


@media (max-width: 700px) {

   .visit-heading {
      margin-bottom: 40px;
   }

   .visit-heading h2 {
      font-size: 36px;
   }

   .visit-heading p {
      font-size: 16px;
   }

   .visit-grid {
      grid-template-columns: 1fr;
   }

   .visit-card {
      min-height: auto;
      padding: 32px 25px;
   }

   .visit-practical {
      grid-template-columns: 1fr;
   }

   .visit-practical-item,
   .visit-practical-item:nth-child(2) {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
   }

   .visit-practical-item:last-child {
      border-bottom: none;
   }

   .visit-note {
      grid-template-columns: 1fr;
      gap: 18px;

      padding: 30px 25px;
   }

   .visit-more {
      grid-column: 1;
   }
}

/**************************************
*
*       ADMISSION & HOURS
*
***************************************/

.admission-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.admission-heading {
   max-width: 900px;
   margin-bottom: 60px;
}

.admission-heading h2 {
   max-width: 850px;
   margin-bottom: 24px;
}

.admission-heading > p {
   max-width: 780px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}


/* ====================================
   ADMISSION LAYOUT
==================================== */

.admission-layout {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 25px;
   margin-bottom: 25px;
}

.admission-panel {
   padding: 45px;
   background-color: var(--color-dark-gray);
   border: 1px solid rgba(255, 255, 255, 0.09);
}


/* Panel heading */

.panel-heading {
   display: flex;
   align-items: center;
   gap: 20px;

   margin-bottom: 28px;
}

.panel-icon {
   flex-shrink: 0;

   display: flex;
   align-items: center;
   justify-content: center;

   width: 55px;
   height: 55px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.panel-icon i {
   color: var(--color-gold);
   font-size: 19px;
}

.panel-label {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.6px;
   text-transform: uppercase;
}

.panel-heading h3 {
   margin: 0;
   font-size: 23px;
   line-height: 1.3;
}

.panel-intro {
   margin-bottom: 30px;

   color: rgba(255, 255, 255, 0.7);
   font-size: 15px;
   line-height: 1.8;
}


/* ====================================
   AGE
==================================== */

.admission-rule {
   display: grid;
   grid-template-columns: 90px 1fr;
   align-items: center;
   gap: 25px;

   margin-bottom: 25px;
   padding: 25px;

   background-color: var(--color-dark);
   border-left: 3px solid var(--color-gold);
}

.rule-value {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 32px;
   font-weight: 500;
}

.admission-rule h4 {
   margin-bottom: 7px;
   color: var(--color-white);
   font-size: 15px;
}

.admission-rule p {
   margin: 0;

   color: rgba(255, 255, 255, 0.64);
   font-size: 13px;
   line-height: 1.65;
}


/* ====================================
   DOCUMENTS
==================================== */

.document-box {
   padding: 25px;

   background-color: rgba(13, 13, 15, 0.55);
   border: 1px solid rgba(255, 255, 255, 0.08);
}

.document-box + .document-box {
   margin-top: 15px;
}

.document-title {
   display: flex;
   align-items: center;
   gap: 12px;

   margin-bottom: 13px;
}

.document-title i {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 27px;
   height: 27px;

   color: var(--color-gold);
   font-size: 11px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.document-title span {
   color: var(--color-white);
   font-size: 14px;
   font-weight: 600;
}

.document-box p {
   margin-bottom: 12px;

   color: rgba(255, 255, 255, 0.62);
   font-size: 13px;
   line-height: 1.65;
}

.document-box ul {
   margin: 0;
   padding: 0;

   display: flex;
   flex-wrap: wrap;
   gap: 8px;

   list-style: none;
}

.document-box li {
   padding: 7px 11px;

   color: rgba(255, 255, 255, 0.78);
   background-color: rgba(255, 255, 255, 0.045);

   font-size: 12px;
}


/* ====================================
   PRICES
==================================== */

.price-area {
   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.price-area-heading {
   display: flex;
   justify-content: space-between;
   align-items: center;

   padding: 18px 0;

   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.price-area-heading span {
   color: var(--color-white);
   font-size: 14px;
   font-weight: 600;
}

.price-area-heading small {
   color: var(--color-gold);
   font-size: 10px;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}

.price-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 20px;

   padding: 19px 0;

   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.price-row h4 {
   margin: 0 0 4px;

   color: var(--color-white);
   font-size: 14px;
}

.price-row span {
   color: rgba(255, 255, 255, 0.48);
   font-size: 11px;
}

.price-row strong {
   flex-shrink: 0;

   color: var(--color-gold);
   font-family: "Montserrat", sans-serif;
   font-size: 21px;
   font-weight: 500;
}


/* Free entry */

.free-entry {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 20px;

   margin-top: 28px;
   padding: 25px;

   background-color: var(--color-dark);
   border-left: 3px solid var(--color-gold);
}

.free-entry-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.free-entry-icon i {
   color: var(--color-gold);
}

.free-entry span {
   display: block;

   margin-bottom: 4px;

   color: rgba(255, 255, 255, 0.55);
   font-size: 11px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.free-entry strong {
   display: block;

   margin-bottom: 8px;

   color: var(--color-gold);
   font-size: 20px;
   font-weight: 500;
}

.free-entry p {
   margin: 0;

   color: rgba(255, 255, 255, 0.62);
   font-size: 12px;
   line-height: 1.6;
}


/* ====================================
   DRESSCODE
==================================== */

.dresscode-block {
   margin-bottom: 90px;
   padding: 45px;

   background-color: #151518;
   border-top: 1px solid rgba(230, 180, 80, 0.32);
}

.dresscode-heading {
   display: flex;
   align-items: center;
   gap: 20px;

   margin-bottom: 35px;
}

.dresscode-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 55px;
   height: 55px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.dresscode-icon i {
   color: var(--color-gold);
   font-size: 18px;
}

.dresscode-heading h3 {
   margin: 0;
   font-size: 24px;
}

.dresscode-content {
   display: grid;
   grid-template-columns: 1.25fr 0.75fr;
   gap: 55px;
}

.dresscode-main {
   padding-right: 45px;
   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.dresscode-main p {
   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.7);
   font-size: 14px;
   line-height: 1.8;
}

.dresscode-main p:last-child {
   margin-bottom: 0;
}

.dresscode-guide {
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: 20px;
}

.dresscode-item {
   display: grid;
   grid-template-columns: 35px 1fr;
   gap: 15px;
}

.dresscode-item > i {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 30px;
   height: 30px;

   color: var(--color-gold);
   font-size: 11px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.dresscode-item span {
   display: block;

   margin-bottom: 5px;

   color: var(--color-white);
   font-size: 13px;
   font-weight: 600;
}

.dresscode-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.6);
   font-size: 12px;
   line-height: 1.6;
}


/* ====================================
   OPENING HOURS
==================================== */

.hours-block {
   scroll-margin-top: 95px;
}

.hours-heading {
   max-width: 850px;
   margin-bottom: 45px;
}

.hours-heading h2 {
   margin-bottom: 20px;
}

.hours-heading > p {
   max-width: 720px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);
   font-size: 16px;
   line-height: 1.8;
}


/* Cards */

.hours-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.hours-card {
   min-height: 340px;
   padding: 32px 27px;

   background-color: var(--color-dark-gray);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.hours-featured {
   background-color: #25252a;
}

.hours-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 45px;
   height: 45px;

   margin-bottom: 30px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.hours-icon i {
   color: var(--color-gold);
   font-size: 16px;
}

.hours-label {
   display: block;

   min-height: 40px;
   margin-bottom: 20px;

   color: var(--color-gold);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1.1px;
   text-transform: uppercase;
}

.hours-row {
   display: flex;
   justify-content: space-between;
   gap: 15px;

   padding: 11px 0;

   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hours-row span {
   color: rgba(255, 255, 255, 0.58);
   font-size: 11px;
}

.hours-row strong {
   color: var(--color-white);
   font-size: 12px;
   font-weight: 500;
   white-space: nowrap;
}

.game-start {
   display: flex;
   justify-content: space-between;
   align-items: center;

   margin-top: 20px;
   padding-top: 17px;

   border-top: 1px solid rgba(230, 180, 80, 0.25);
}

.game-start span {
   color: rgba(255, 255, 255, 0.55);
   font-size: 11px;
}

.game-start strong {
   color: var(--color-gold);
   font-size: 14px;
}


/* Simple hours */

.hours-simple {
   margin-bottom: 22px;
}

.hours-simple span {
   display: block;

   margin-bottom: 6px;

   color: rgba(255, 255, 255, 0.5);
   font-size: 11px;
   text-transform: uppercase;
}

.hours-simple strong {
   display: block;

   color: var(--color-white);
   font-family: "Montserrat", sans-serif;
   font-size: 20px;
   font-weight: 500;
}

.hours-card > p {
   margin: 0;

   color: rgba(255, 255, 255, 0.6);
   font-size: 13px;
   line-height: 1.7;
}


/* ====================================
   CLOSING DAYS
==================================== */

.closing-note {
   display: grid;
   grid-template-columns: 60px 1fr;
   gap: 25px;

   margin-top: 25px;
   padding: 32px 35px;

   background-color: #151518;
   border-left: 3px solid var(--color-gold);
}

.closing-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 52px;
   height: 52px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.closing-icon i {
   color: var(--color-gold);
   font-size: 18px;
}

.closing-content span {
   display: block;

   margin-bottom: 8px;

   color: var(--color-gold);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.closing-content p {
   max-width: 1050px;
   margin: 0;

   color: rgba(255, 255, 255, 0.65);
   font-size: 13px;
   line-height: 1.75;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .admission-layout {
      grid-template-columns: 1fr;
   }

   .dresscode-content {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   .dresscode-main {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

   .hours-grid {
      grid-template-columns: repeat(2, 1fr);
   }
}


@media (max-width: 700px) {

   .admission-heading {
      margin-bottom: 40px;
   }

   .admission-heading h2,
   .hours-heading h2 {
      font-size: 34px;
   }

   .admission-panel,
   .dresscode-block {
      padding: 30px 25px;
   }

   .panel-heading,
   .dresscode-heading {
      align-items: flex-start;
   }

   .admission-rule {
      grid-template-columns: 1fr;
      gap: 10px;
   }

   .hours-grid {
      grid-template-columns: 1fr;
   }

   .hours-card {
      min-height: auto;
   }

   .closing-note {
      grid-template-columns: 1fr;
      padding: 28px 25px;
   }
}


@media (max-width: 480px) {

   .price-row {
      align-items: flex-end;
   }

   .free-entry {
      grid-template-columns: 1fr;
   }

   .document-box ul {
      flex-direction: column;
   }

   .document-box li {
      width: 100%;
   }
}

/**************************************
*
*       GAMES OVERVIEW
*
***************************************/

.games-overview {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.games-heading {
   max-width: 900px;
   margin-bottom: 60px;
}

.games-heading h2 {
   max-width: 800px;
   margin-bottom: 24px;
}

.games-heading > p {
   max-width: 790px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}


/* ====================================
   TWO GAMING WORLDS
==================================== */

.games-worlds {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 25px;

   margin-bottom: 30px;
}

.game-world {
   position: relative;

   display: flex;
   flex-direction: column;

   min-height: 600px;
   padding: 45px;

   background-color: var(--color-dark);
   border: 1px solid rgba(255, 255, 255, 0.09);
}

.game-world-classic {
   border-top: 2px solid var(--color-gold);
}


/* ===== World top ===== */

.world-top {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;

   margin-bottom: 55px;
}

.world-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 58px;
   height: 58px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.world-icon i {
   color: var(--color-gold);
   font-size: 20px;
}

.world-number {
   color: rgba(255, 255, 255, 0.08);

   font-family: "Montserrat", sans-serif;
   font-size: 58px;
   font-weight: 500;
   line-height: 0.9;
}


/* ===== World content ===== */

.world-content {
   flex-grow: 1;
}

.world-label,
.section-label {
   display: block;

   margin-bottom: 12px;

   color: var(--color-gold);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.7px;
   text-transform: uppercase;
}

.world-content h3 {
   max-width: 500px;

   margin-bottom: 25px;

   color: var(--color-white);
   font-size: 27px;
   line-height: 1.35;
}

.world-content p {
   margin-bottom: 18px;

   color: rgba(255, 255, 255, 0.68);
   font-size: 14px;
   line-height: 1.8;
}

.world-content p:last-child {
   margin-bottom: 0;
}


/* ===== Statistics ===== */

.world-stats {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   margin-top: 40px;
   padding-top: 28px;

   border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.world-stat {
   padding: 0 18px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.world-stat:first-child {
   padding-left: 0;
}

.world-stat:last-child {
   padding-right: 0;
   border-right: none;
}

.world-stat strong {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 25px;
   font-weight: 500;
   line-height: 1;
}

.world-stat span {
   display: block;

   color: rgba(255, 255, 255, 0.52);
   font-size: 10px;
   line-height: 1.4;
   letter-spacing: 0.5px;
   text-transform: uppercase;
}


/* ====================================
   GAME MAP
==================================== */

.game-map {
   padding: 55px;

   background-color: #151518;
   border-top: 1px solid rgba(230, 180, 80, 0.3);
}

.game-map-heading {
   max-width: 760px;
   margin-bottom: 40px;
}

.game-map-heading h3 {
   margin-bottom: 15px;

   color: var(--color-white);
   font-size: 29px;
   line-height: 1.35;
}

.game-map-heading p {
   max-width: 680px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);
   font-size: 14px;
   line-height: 1.75;
}


/* ===== Map grid ===== */

.game-map-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.game-map-item {
   display: grid;
   grid-template-columns: 45px 1fr;
   gap: 18px;

   min-height: 195px;
   padding: 28px 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);

   transition: background-color 0.3s ease;
}

.game-map-item:hover {
   background-color: rgba(255, 255, 255, 0.025);
}

.map-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 42px;
   height: 42px;

   border: 1px solid rgba(230, 180, 80, 0.32);
}

.map-icon i {
   color: var(--color-gold);
   font-size: 14px;
}

.game-map-item span {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);
   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.game-map-item h4 {
   margin-bottom: 10px;

   color: var(--color-white);
   font-size: 16px;
}

.game-map-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.57);
   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   DIFFERENCE
==================================== */

.games-difference {
   display: grid;
   grid-template-columns: 0.7fr 1.3fr;
   gap: 60px;

   margin-top: 30px;
   padding: 50px;

   background-color: var(--color-dark);
   border: 1px solid rgba(255, 255, 255, 0.09);
}

.difference-title {
   padding-right: 45px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.difference-title h3 {
   max-width: 360px;

   margin: 0;

   color: var(--color-white);
   font-size: 25px;
   line-height: 1.4;
}

.difference-content {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 35px;
}

.difference-item {
   display: grid;
   grid-template-columns: 35px 1fr;
   gap: 15px;
}

.difference-index {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 13px;
}

.difference-item h4 {
   margin-bottom: 10px;

   color: var(--color-white);
   font-size: 15px;
}

.difference-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.6);
   font-size: 13px;
   line-height: 1.7;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .games-worlds {
      grid-template-columns: 1fr;
   }

   .game-world {
      min-height: auto;
   }

   .game-map-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .games-difference {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .difference-title {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }
}


@media (max-width: 700px) {

   .games-heading {
      margin-bottom: 40px;
   }

   .games-heading h2 {
      font-size: 35px;
   }

   .game-world {
      padding: 32px 25px;
   }

   .world-top {
      margin-bottom: 35px;
   }

   .world-content h3 {
      font-size: 23px;
   }

   .world-stats {
      grid-template-columns: 1fr;
      gap: 18px;
   }

   .world-stat,
   .world-stat:first-child,
   .world-stat:last-child {
      padding: 0 0 18px;
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
   }

   .world-stat:last-child {
      padding-bottom: 0;
      border-bottom: none;
   }

   .game-map {
      padding: 35px 25px;
   }

   .game-map-grid {
      grid-template-columns: 1fr;
   }

   .game-map-item {
      min-height: auto;
   }

   .games-difference {
      padding: 35px 25px;
   }

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

/**************************************
*
*       AUTOMATENSPIEL
*
***************************************/

.slots-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.slots-heading {
   max-width: 900px;
   margin-bottom: 60px;
}

.slots-heading h2 {
   max-width: 850px;
   margin-bottom: 24px;
}

.slots-heading > p {
   max-width: 790px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}


/* ====================================
   MAIN CONTENT
==================================== */

.slots-main {
   display: grid;
   grid-template-columns: 0.95fr 1.05fr;
   align-items: stretch;

   margin-bottom: 30px;
}


/* ===== Image ===== */

.slots-image {
   position: relative;
   min-height: 650px;
   overflow: hidden;
}

.slots-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.02) 45%,
      rgba(13, 13, 15, 0.8) 100%
   );

   pointer-events: none;
}

.slots-image img {
   width: 100%;
   height: 100%;
   min-height: 650px;

   display: block;

   object-fit: cover;
   object-position: center;
}


/* Image information */

.slots-image-info {
   position: absolute;
   left: 35px;
   right: 35px;
   bottom: 35px;
   z-index: 2;

   padding: 20px 23px;

   background-color: rgba(13, 13, 15, 0.9);
   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.slots-image-info span {
   display: block;

   margin-bottom: 5px;

   color: var(--color-gold);

   font-size: 10px;
   font-weight: 700;
   letter-spacing: 1.4px;
   text-transform: uppercase;
}

.slots-image-info strong {
   color: var(--color-white);

   font-family: "Montserrat", sans-serif;
   font-size: 20px;
   font-weight: 500;
}


/* ====================================
   CONTENT
==================================== */

.slots-content {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 55px;

   background-color: var(--color-dark-gray);

   border-top: 1px solid rgba(230, 180, 80, 0.2);
   border-right: 1px solid rgba(230, 180, 80, 0.2);
   border-bottom: 1px solid rgba(230, 180, 80, 0.2);
}

.slots-label {
   display: block;

   margin-bottom: 11px;

   color: var(--color-gold);

   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.6px;
   text-transform: uppercase;
}

.slots-content h3 {
   max-width: 570px;

   margin-bottom: 25px;

   color: var(--color-white);

   font-size: 28px;
   line-height: 1.35;
}

.slots-content > p {
   margin-bottom: 18px;

   color: rgba(255, 255, 255, 0.68);

   font-size: 14px;
   line-height: 1.8;
}

.slots-content > p:last-of-type {
   margin-bottom: 0;
}


/* ====================================
   FACTS
==================================== */

.slots-facts {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   margin-top: 35px;

   border-top: 1px solid rgba(255, 255, 255, 0.1);
   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.slots-fact {
   padding: 20px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.slots-fact strong {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 22px;
   font-weight: 500;
}

.slots-fact span {
   display: block;

   color: rgba(255, 255, 255, 0.5);

   font-size: 10px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}


/* ====================================
   CASHLESS SYSTEM
==================================== */

.slots-system {
   padding: 50px;

   margin-bottom: 30px;

   background-color: #151518;
   border-top: 1px solid rgba(230, 180, 80, 0.3);
}


/* Heading */

.system-heading {
   display: flex;
   align-items: center;
   gap: 20px;

   max-width: 800px;

   margin-bottom: 40px;
}

.system-icon {
   flex-shrink: 0;

   display: flex;
   align-items: center;
   justify-content: center;

   width: 58px;
   height: 58px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.system-icon i {
   color: var(--color-gold);
   font-size: 19px;
}

.system-heading h3 {
   margin: 0;

   color: var(--color-white);

   font-size: 26px;
   line-height: 1.35;
}


/* Layout */

.system-layout {
   display: grid;
   grid-template-columns: 0.8fr 1.2fr;
   gap: 60px;
}

.system-description {
   padding-right: 45px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.system-description p {
   margin-bottom: 18px;

   color: rgba(255, 255, 255, 0.67);

   font-size: 14px;
   line-height: 1.8;
}

.system-description p:last-child {
   margin-bottom: 0;
}


/* Steps */

.system-steps {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 0;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.system-step {
   min-height: 205px;

   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.step-number {
   display: block;

   margin-bottom: 35px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 12px;
}

.system-step h4 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 14px;
}

.system-step p {
   margin: 0;

   color: rgba(255, 255, 255, 0.55);

   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   PERSONALIZED CARD
==================================== */

.bonus-card-info {
   display: grid;
   grid-template-columns: 50px 1fr;
   gap: 20px;

   max-width: 850px;

   margin-top: 35px;
   padding-top: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bonus-card-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 45px;
   height: 45px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.bonus-card-icon i {
   color: var(--color-gold);
   font-size: 14px;
}

.bonus-card-info span {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.7px;
}

.bonus-card-info p {
   max-width: 700px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 13px;
   line-height: 1.7;
}


/* ====================================
   BOTTOM DETAILS
==================================== */

.slots-bottom {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.slots-detail {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 22px;

   min-height: 205px;
   padding: 35px;

   background-color: var(--color-dark-gray);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.slots-detail-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.slots-detail-icon i {
   color: var(--color-gold);
   font-size: 17px;
}

.slots-detail span {
   display: block;

   margin-bottom: 7px;

   color: rgba(255, 255, 255, 0.48);

   font-size: 10px;
   font-weight: 600;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.slots-detail strong {
   display: block;

   margin-bottom: 12px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 21px;
   font-weight: 500;
}

.slots-detail p {
   max-width: 500px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 13px;
   line-height: 1.7;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .slots-main {
      grid-template-columns: 1fr;
   }

   .slots-image,
   .slots-image img {
      min-height: 520px;
   }

   .slots-content {
      border-left: 1px solid rgba(230, 180, 80, 0.2);
   }

   .system-layout {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .system-description {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }
}


@media (max-width: 750px) {

   .slots-heading {
      margin-bottom: 40px;
   }

   .slots-heading h2 {
      font-size: 35px;
   }

   .slots-main {
      display: block;
   }

   .slots-image,
   .slots-image img {
      min-height: 400px;
   }

   .slots-content {
      padding: 35px 25px;
   }

   .slots-content h3 {
      font-size: 24px;
   }

   .slots-system {
      padding: 35px 25px;
   }

   .system-heading {
      align-items: flex-start;
   }

   .system-heading h3 {
      font-size: 23px;
   }

   .system-steps {
      grid-template-columns: 1fr;
   }

   .system-step {
      min-height: auto;
   }

   .step-number {
      margin-bottom: 18px;
   }

   .slots-bottom {
      grid-template-columns: 1fr;
   }
}


@media (max-width: 500px) {

   .slots-facts {
      grid-template-columns: 1fr;
   }

   .slots-image,
   .slots-image img {
      min-height: 330px;
   }

   .slots-image-info {
      left: 20px;
      right: 20px;
      bottom: 20px;
   }

   .bonus-card-info,
   .slots-detail {
      grid-template-columns: 1fr;
   }
}

/**************************************
*
*       JACKPOTS
*
***************************************/

.jackpots-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.jackpots-heading {
   max-width: 900px;
   margin-bottom: 60px;
}

.jackpots-heading h2 {
   max-width: 850px;
   margin-bottom: 24px;
}

.jackpots-heading > p {
   max-width: 780px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);

   font-size: 17px;
   line-height: 1.8;
}


/* ====================================
   HOMBURGER GLÜCK
==================================== */

.jackpot-feature {
   display: grid;
   grid-template-columns: 1.15fr 0.85fr;

   margin-bottom: 30px;

   background-color: var(--color-dark);

   border-top: 2px solid var(--color-gold);
}


/* Main content */

.jackpot-feature-main {
   padding: 60px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.jackpot-symbol {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 62px;
   height: 62px;

   margin-bottom: 45px;

   border: 1px solid rgba(230, 180, 80, 0.45);
}

.jackpot-symbol i {
   color: var(--color-gold);
   font-size: 22px;
}

.jackpot-label {
   display: block;

   margin-bottom: 11px;

   color: var(--color-gold);

   font-size: 11px;
   font-weight: 700;

   letter-spacing: 1.7px;
   text-transform: uppercase;
}

.jackpot-feature-main h3 {
   margin-bottom: 25px;

   color: var(--color-white);

   font-size: 36px;
   line-height: 1.25;
}

.jackpot-feature-main p {
   max-width: 680px;

   margin-bottom: 18px;

   color: rgba(255, 255, 255, 0.67);

   font-size: 14px;
   line-height: 1.8;
}

.jackpot-feature-main p:last-child {
   margin-bottom: 0;
}

.jackpot-feature-main .jackpot-lead {
   color: rgba(255, 255, 255, 0.83);

   font-size: 16px;
   line-height: 1.75;
}


/* ====================================
   FEATURE FACTS
==================================== */

.jackpot-feature-facts {
   display: flex;
   flex-direction: column;
}

.jackpot-feature-fact {
   flex: 1;

   display: grid;
   grid-template-columns: 45px 1fr;
   gap: 22px;

   align-items: center;

   padding: 35px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.jackpot-feature-fact:last-child {
   border-bottom: none;
}

.feature-index {
   align-self: flex-start;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 12px;
}

.jackpot-feature-fact h4 {
   margin-bottom: 9px;

   color: var(--color-white);
   font-size: 15px;
}

.jackpot-feature-fact p {
   max-width: 350px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   JACKPOT LEVELS
==================================== */

.jackpot-levels {
   padding: 50px;

   margin-bottom: 30px;

   background-color: #151518;

   border: 1px solid rgba(255, 255, 255, 0.08);
}

.jackpot-levels-heading {
   max-width: 750px;
   margin-bottom: 38px;
}

.jackpot-levels-heading h3 {
   margin-bottom: 14px;

   color: var(--color-white);

   font-size: 27px;
   line-height: 1.35;
}

.jackpot-levels-heading p {
   max-width: 680px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 14px;
   line-height: 1.75;
}


/* Levels */

.jackpot-level-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.jackpot-level {
   min-height: 190px;
   padding: 28px 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.jackpot-level-main {
   background-color: rgba(230, 180, 80, 0.045);
}

.jackpot-level > span {
   display: block;

   margin-bottom: 25px;

   color: rgba(255, 255, 255, 0.42);

   font-size: 9px;
   font-weight: 600;

   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.jackpot-level strong {
   display: block;

   margin-bottom: 12px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 23px;
   font-weight: 500;
}

.jackpot-level p {
   margin: 0;

   color: rgba(255, 255, 255, 0.55);

   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   OTHER JACKPOTS
==================================== */

.other-jackpots {
   display: grid;
   grid-template-columns: 0.75fr 1.25fr;
   gap: 55px;

   padding: 50px;

   margin-bottom: 30px;

   background-color: var(--color-dark);

   border: 1px solid rgba(255, 255, 255, 0.09);
}

.other-jackpots-heading {
   padding-right: 45px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.other-jackpots-heading h3 {
   margin-bottom: 15px;

   color: var(--color-white);

   font-size: 27px;
   line-height: 1.35;
}

.other-jackpots-heading p {
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 13px;
   line-height: 1.75;
}


/* Jackpot names */

.jackpot-list {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.jackpot-name {
   display: flex;
   align-items: center;
   gap: 15px;

   min-height: 70px;
   padding: 15px 20px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.jackpot-name i {
   flex-shrink: 0;

   width: 20px;

   color: var(--color-gold);

   font-size: 13px;
   text-align: center;
}

.jackpot-name span {
   color: rgba(255, 255, 255, 0.75);

   font-size: 12px;
}


/* ====================================
   DYNAMIC NOTE
==================================== */

.jackpot-note {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 22px;

   align-items: center;

   padding: 30px 35px;

   background-color: #151518;

   border-left: 3px solid var(--color-gold);
}

.jackpot-note-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.jackpot-note-icon i {
   color: var(--color-gold);

   font-size: 16px;
}

.jackpot-note span {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 11px;
   font-weight: 700;

   letter-spacing: 1.3px;
   text-transform: uppercase;
}

.jackpot-note p {
   max-width: 900px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 13px;
   line-height: 1.7;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1050px) {

   .jackpot-feature {
      grid-template-columns: 1fr;
   }

   .jackpot-feature-main {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
   }

   .jackpot-level-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .other-jackpots {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .other-jackpots-heading {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }
}


@media (max-width: 700px) {

   .jackpots-heading {
      margin-bottom: 40px;
   }

   .jackpots-heading h2 {
      font-size: 34px;
   }

   .jackpot-feature-main {
      padding: 38px 25px;
   }

   .jackpot-feature-main h3 {
      font-size: 30px;
   }

   .jackpot-feature-fact {
      padding: 28px 25px;
   }

   .jackpot-levels,
   .other-jackpots {
      padding: 35px 25px;
   }

   .jackpot-level-grid {
      grid-template-columns: 1fr;
   }

   .jackpot-list {
      grid-template-columns: 1fr;
   }

   .jackpot-note {
      grid-template-columns: 1fr;

      padding: 28px 25px;
   }
}

/**************************************
*
*       TOUCHBET ROULETTE
*
***************************************/

.touchbet-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ====================================
   MAIN LAYOUT
==================================== */

.touchbet-layout {
   display: grid;
   grid-template-columns: 0.9fr 1.1fr;
   align-items: stretch;
}


/* ====================================
   IMAGE
==================================== */

.touchbet-image {
   position: relative;

   min-height: 650px;

   overflow: hidden;
}

.touchbet-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.02) 50%,
      rgba(13, 13, 15, 0.78) 100%
   );

   pointer-events: none;
}

.touchbet-image img {
   display: block;

   width: 100%;
   height: 100%;
   min-height: 650px;

   object-fit: cover;
   object-position: center;
}


/* Image stat */

.touchbet-image-stat {
   position: absolute;
   left: 35px;
   bottom: 35px;
   z-index: 2;

   min-width: 180px;
   padding: 20px 24px;

   background-color: rgba(13, 13, 15, 0.9);

   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.touchbet-image-stat strong {
   display: block;

   margin-bottom: 5px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 30px;
   font-weight: 500;
   line-height: 1;
}

.touchbet-image-stat span {
   color: rgba(255, 255, 255, 0.65);

   font-size: 10px;
   font-weight: 600;

   letter-spacing: 1.2px;
   text-transform: uppercase;
}


/* ====================================
   CONTENT
==================================== */

.touchbet-content {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 55px;

   background-color: var(--color-dark-gray);

   border-top: 1px solid rgba(230, 180, 80, 0.22);
   border-right: 1px solid rgba(230, 180, 80, 0.22);
   border-bottom: 1px solid rgba(230, 180, 80, 0.22);
}

.touchbet-content h2 {
   max-width: 650px;

   margin-bottom: 25px;

   font-size: 34px;
   line-height: 1.3;
}

.touchbet-content > p {
   max-width: 720px;

   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.66);

   font-size: 14px;
   line-height: 1.8;
}

.touchbet-content .touchbet-lead {
   color: rgba(255, 255, 255, 0.83);

   font-size: 16px;
   line-height: 1.75;
}


/* ====================================
   TWO OPTIONS
==================================== */

.touchbet-choice {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   margin-top: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.1);
   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.touchbet-choice-item {
   position: relative;

   min-height: 245px;

   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.choice-number {
   position: absolute;
   top: 20px;
   right: 20px;

   color: rgba(255, 255, 255, 0.12);

   font-family: "Montserrat", sans-serif;
   font-size: 19px;
}

.choice-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 40px;
   height: 40px;

   margin-bottom: 25px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.choice-icon i {
   color: var(--color-gold);
   font-size: 14px;
}

.touchbet-choice-item h3 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 15px;
   line-height: 1.4;
}

.touchbet-choice-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.55);

   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   BOTTOM EXPLANATION
==================================== */

.touchbet-bottom {
   display: grid;
   grid-template-columns: 0.7fr 1.3fr;
   gap: 60px;

   margin-top: 30px;
   padding: 45px 50px;

   background-color: #151518;

   border-top: 1px solid rgba(230, 180, 80, 0.3);
}

.touchbet-bottom-title {
   padding-right: 45px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.touchbet-bottom-title > span {
   display: block;

   margin-bottom: 11px;

   color: var(--color-gold);

   font-size: 10px;
   font-weight: 700;

   letter-spacing: 1.5px;
   text-transform: uppercase;
}

.touchbet-bottom-title h3 {
   max-width: 370px;
   margin: 0;

   color: var(--color-white);

   font-size: 25px;
   line-height: 1.4;
}

.touchbet-bottom-text {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 30px;
}

.touchbet-bottom-text p {
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 13px;
   line-height: 1.75;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1050px) {

   .touchbet-layout {
      grid-template-columns: 1fr;
   }

   .touchbet-image,
   .touchbet-image img {
      min-height: 500px;
   }

   .touchbet-content {
      border-left: 1px solid rgba(230, 180, 80, 0.22);
   }

   .touchbet-bottom {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   .touchbet-bottom-title {
      padding-right: 0;
      padding-bottom: 25px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }
}


@media (max-width: 700px) {

   .touchbet-image,
   .touchbet-image img {
      min-height: 380px;
   }

   .touchbet-image-stat {
      left: 20px;
      bottom: 20px;
   }

   .touchbet-content {
      padding: 35px 25px;
   }

   .touchbet-content h2 {
      font-size: 29px;
   }

   .touchbet-choice {
      grid-template-columns: 1fr;
   }

   .touchbet-choice-item {
      min-height: auto;
   }

   .touchbet-bottom {
      padding: 35px 25px;
   }

   .touchbet-bottom-text {
      grid-template-columns: 1fr;
   }
}

/**************************************
*
*       KLASSISCHES SPIEL
*
***************************************/

.classic-games-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.classic-games-heading {
   max-width: 930px;
   margin-bottom: 60px;
}

.classic-games-heading h2 {
   max-width: 900px;
   margin-bottom: 24px;
}

.classic-games-heading > p {
   max-width: 800px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}

.classic-label {
   display: block;

   margin-bottom: 11px;

   color: var(--color-gold);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.6px;
   text-transform: uppercase;
}


/* ====================================
   INTRO
==================================== */

.classic-intro {
   display: grid;
   grid-template-columns: 1.25fr 0.75fr;

   margin-bottom: 30px;

   background-color: var(--color-dark);
   border-top: 2px solid var(--color-gold);
}

.classic-intro-main {
   padding: 55px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.classic-intro-main h3 {
   max-width: 650px;

   margin-bottom: 25px;

   color: var(--color-white);
   font-size: 29px;
   line-height: 1.35;
}

.classic-intro-main p {
   max-width: 720px;

   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.66);
   font-size: 14px;
   line-height: 1.8;
}

.classic-intro-main .classic-lead {
   color: rgba(255, 255, 255, 0.82);
   font-size: 16px;
}


/* ====================================
   PRACTICAL INFORMATION
==================================== */

.classic-practical {
   display: grid;
   grid-template-rows: repeat(2, 1fr);
}

.classic-practical-item {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 22px;

   align-items: center;

   padding: 35px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.classic-practical-item:last-child {
   border-bottom: none;
}

.classic-practical-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.classic-practical-icon i {
   color: var(--color-gold);
   font-size: 16px;
}

.classic-practical-item span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.46);
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.classic-practical-item strong {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 23px;
   font-weight: 500;
}

.classic-practical-item p {
   max-width: 330px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);
   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   MAIN GAMES
==================================== */

.classic-games-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.classic-game-card {
   min-height: 465px;
   padding: 38px 32px;

   background-color: #151518;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.classic-game-top {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;

   margin-bottom: 42px;
}

.classic-game-number {
   color: rgba(255, 255, 255, 0.12);

   font-family: "Montserrat", sans-serif;
   font-size: 23px;
}

.classic-game-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 45px;
   height: 45px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.classic-game-icon i {
   color: var(--color-gold);
   font-size: 15px;
}

.classic-game-type {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);
   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}

.classic-game-card h3 {
   margin-bottom: 17px;

   color: var(--color-white);
   font-size: 25px;
}

.classic-game-card > p {
   min-height: 125px;
   margin-bottom: 25px;

   color: rgba(255, 255, 255, 0.62);
   font-size: 13px;
   line-height: 1.75;
}


/* Meta */

.classic-game-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 7px;

   padding-top: 20px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.classic-game-meta span {
   padding: 6px 9px;

   color: rgba(255, 255, 255, 0.58);
   background-color: rgba(255, 255, 255, 0.04);

   font-size: 9px;
   letter-spacing: 0.3px;
}


/* ====================================
   CLASSIC VS SLOTS
==================================== */

.classic-comparison {
   display: grid;
   grid-template-columns: 0.7fr 1.3fr;
   gap: 55px;

   margin-bottom: 30px;
   padding: 50px;

   background-color: var(--color-dark);
   border: 1px solid rgba(255, 255, 255, 0.09);
}

.classic-comparison-heading {
   padding-right: 45px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.classic-comparison-heading h3 {
   max-width: 390px;

   margin-bottom: 17px;

   color: var(--color-white);
   font-size: 25px;
   line-height: 1.4;
}

.classic-comparison-heading p {
   max-width: 380px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);
   font-size: 13px;
   line-height: 1.7;
}

.classic-comparison-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.comparison-column {
   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.comparison-classic {
   background-color: rgba(230, 180, 80, 0.035);
}

.comparison-title {
   display: flex;
   align-items: center;
   gap: 15px;

   padding: 20px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.comparison-title span {
   color: var(--color-gold);
   font-size: 10px;
}

.comparison-title h4 {
   margin: 0;

   color: var(--color-white);
   font-size: 14px;
}

.comparison-row {
   display: grid;
   grid-template-columns: 25px 1fr;
   gap: 10px;

   align-items: center;

   padding: 15px 20px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.comparison-row:last-child {
   border-bottom: none;
}

.comparison-row i {
   color: var(--color-gold);
   font-size: 11px;
}

.comparison-row p {
   margin: 0;

   color: rgba(255, 255, 255, 0.59);
   font-size: 11px;
   line-height: 1.5;
}


/* ====================================
   BEGINNER ORIENTATION
==================================== */

.classic-beginner {
   padding: 45px 50px;

   background-color: #151518;
   border-top: 1px solid rgba(230, 180, 80, 0.3);
}

.classic-beginner-heading {
   max-width: 650px;
   margin-bottom: 30px;
}

.classic-beginner-heading h3 {
   margin: 0;

   color: var(--color-white);
   font-size: 25px;
}

.beginner-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.beginner-item {
   min-height: 155px;
   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.beginner-item span {
   display: block;

   margin-bottom: 11px;

   color: var(--color-gold);
   font-size: 13px;
   font-weight: 600;
}

.beginner-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.57);
   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .classic-intro {
      grid-template-columns: 1fr;
   }

   .classic-intro-main {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
   }

   .classic-practical {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
   }

   .classic-practical-item:first-child {
      border-right: 1px solid rgba(255, 255, 255, 0.09);
   }

   .classic-games-grid {
      grid-template-columns: 1fr;
   }

   .classic-game-card {
      min-height: auto;
   }

   .classic-game-card > p {
      min-height: auto;
   }

   .classic-comparison {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .classic-comparison-heading {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }
}


@media (max-width: 700px) {

   .classic-games-heading {
      margin-bottom: 40px;
   }

   .classic-games-heading h2 {
      font-size: 34px;
   }

   .classic-intro-main {
      padding: 38px 25px;
   }

   .classic-intro-main h3 {
      font-size: 25px;
   }

   .classic-practical {
      grid-template-columns: 1fr;
   }

   .classic-practical-item:first-child {
      border-right: none;
   }

   .classic-game-card {
      padding: 32px 25px;
   }

   .classic-comparison {
      padding: 35px 25px;
   }

   .classic-comparison-grid {
      grid-template-columns: 1fr;
   }

   .classic-beginner {
      padding: 35px 25px;
   }

   .beginner-grid {
      grid-template-columns: 1fr;
   }
}


@media (max-width: 480px) {

   .classic-practical-item {
      grid-template-columns: 1fr;
   }
}

/**************************************
*
*       ROULETTE
*
***************************************/

.roulette-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.roulette-heading {
   max-width: 930px;
   margin-bottom: 60px;
}

.roulette-heading h2 {
   max-width: 850px;
   margin-bottom: 24px;
}

.roulette-heading > p {
   max-width: 800px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}

.roulette-label {
   display: block;

   margin-bottom: 10px;

   color: var(--color-gold);
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 1.5px;
   text-transform: uppercase;
}


/* ====================================
   INTRO
==================================== */

.roulette-intro {
   display: grid;
   grid-template-columns: 1.1fr 0.9fr;

   background-color: var(--color-dark-gray);
   border-top: 2px solid var(--color-gold);
}

.roulette-intro-main {
   padding: 55px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-intro-main h3 {
   max-width: 600px;

   margin-bottom: 24px;

   color: var(--color-white);
   font-size: 29px;
   line-height: 1.35;
}

.roulette-intro-main p {
   max-width: 680px;
   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.65);
   font-size: 14px;
   line-height: 1.8;
}

.roulette-intro-main .roulette-lead {
   color: rgba(255, 255, 255, 0.82);
   font-size: 16px;
}


/* ====================================
   ROULETTE TYPES
==================================== */

.roulette-types {
   display: grid;
   grid-template-rows: repeat(2, 1fr);
}

.roulette-type {
   display: grid;
   grid-template-columns: 45px 1fr;
   gap: 20px;

   align-items: center;

   padding: 35px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-type:last-child {
   border-bottom: none;
}

.roulette-type-number {
   align-self: flex-start;

   color: rgba(255, 255, 255, 0.15);

   font-family: "Montserrat", sans-serif;
   font-size: 17px;
}

.roulette-type h3 {
   margin-bottom: 10px;

   color: var(--color-white);
   font-size: 19px;
}

.roulette-type p {
   max-width: 390px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);
   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   SCALE
==================================== */

.roulette-scale {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   margin-bottom: 30px;

   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-scale-item {
   min-height: 120px;
   padding: 25px;

   background-color: #151518;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-scale-item strong {
   display: block;

   margin-bottom: 8px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 26px;
   font-weight: 500;
}

.roulette-scale-item span {
   color: rgba(255, 255, 255, 0.5);

   font-size: 10px;
   line-height: 1.5;
   letter-spacing: 0.7px;
   text-transform: uppercase;
}


/* ====================================
   BETS
==================================== */

.roulette-bets {
   margin-bottom: 30px;
   padding: 50px;

   background-color: var(--color-dark-gray);
}

.roulette-bets-heading {
   max-width: 750px;
   margin-bottom: 40px;
}

.roulette-bets-heading h3 {
   margin-bottom: 15px;

   color: var(--color-white);
   font-size: 27px;
   line-height: 1.35;
}

.roulette-bets-heading p {
   max-width: 700px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);
   font-size: 14px;
   line-height: 1.75;
}


/* Bet grid */

.roulette-bets-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-bet {
   min-height: 205px;
   padding: 25px;

   background-color: rgba(13, 13, 15, 0.35);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-bet-top {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 10px;

   margin-bottom: 30px;
}

.roulette-bet-top span {
   color: rgba(255, 255, 255, 0.42);

   font-size: 9px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}

.roulette-bet-top strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 16px;
   font-weight: 500;
}

.roulette-bet h4 {
   margin-bottom: 10px;

   color: var(--color-white);
   font-size: 15px;
}

.roulette-bet p {
   margin: 0;

   color: rgba(255, 255, 255, 0.55);
   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   VIERTELCHANCE
==================================== */

.viertelchance {
   display: grid;
   grid-template-columns: 1.2fr 0.8fr;

   margin-bottom: 30px;

   background-color: #151518;

   border-top: 2px solid var(--color-gold);
}

.viertelchance-main {
   padding: 55px;

   border-right: 1px solid rgba(230, 180, 80, 0.2);
}

.viertelchance-main h3 {
   margin-bottom: 23px;

   color: var(--color-white);
   font-size: 31px;
   line-height: 1.3;
}

.viertelchance-main p {
   max-width: 690px;
   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.65);
   font-size: 14px;
   line-height: 1.8;
}

.viertelchance-main .viertelchance-lead {
   color: rgba(255, 255, 255, 0.82);
   font-size: 16px;
}


/* Facts */

.viertelchance-facts {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 45px;
}

.viertelchance-symbol {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 80px;
   height: 80px;

   margin-bottom: 35px;

   border: 1px solid rgba(230, 180, 80, 0.45);
}

.viertelchance-symbol span {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 34px;
}

.viertelchance-fact {
   padding: 20px 0;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.viertelchance-fact strong {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-size: 17px;
   font-weight: 500;
}

.viertelchance-fact span {
   color: rgba(255, 255, 255, 0.5);

   font-size: 10px;
   line-height: 1.5;
   text-transform: uppercase;
}


/* ====================================
   TRONC & PERMANENZEN
==================================== */

.roulette-service {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-service-item {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 22px;

   padding: 35px;

   background-color: var(--color-dark-gray);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.roulette-service-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.roulette-service-icon i {
   color: var(--color-gold);
   font-size: 15px;
}

.roulette-service-item > div > span {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 10px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.roulette-service-item h3 {
   margin-bottom: 10px;

   color: var(--color-white);
   font-size: 17px;
}

.roulette-service-item p {
   max-width: 480px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);
   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .roulette-intro {
      grid-template-columns: 1fr;
   }

   .roulette-intro-main {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
   }

   .roulette-scale,
   .roulette-bets-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .viertelchance {
      grid-template-columns: 1fr;
   }

   .viertelchance-main {
      border-right: none;
      border-bottom: 1px solid rgba(230, 180, 80, 0.2);
   }
}


@media (max-width: 700px) {

   .roulette-heading {
      margin-bottom: 40px;
   }

   .roulette-heading h2 {
      font-size: 34px;
   }

   .roulette-intro-main,
   .viertelchance-main {
      padding: 38px 25px;
   }

   .roulette-types {
      grid-template-rows: auto;
   }

   .roulette-type {
      grid-template-columns: 1fr;
      padding: 30px 25px;
   }

   .roulette-scale {
      grid-template-columns: 1fr 1fr;
   }

   .roulette-bets {
      padding: 35px 25px;
   }

   .roulette-bets-grid {
      grid-template-columns: 1fr;
   }

   .viertelchance-facts {
      padding: 35px 25px;
   }

   .roulette-service {
      grid-template-columns: 1fr;
   }
}


@media (max-width: 480px) {

   .roulette-scale {
      grid-template-columns: 1fr;
   }

   .roulette-service-item {
      grid-template-columns: 1fr;
   }
}

/**************************************
*
*       BLACK JACK
*
***************************************/

.blackjack-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.blackjack-heading {
   max-width: 930px;
   margin-bottom: 60px;
}

.blackjack-heading h2 {
   max-width: 850px;
   margin-bottom: 24px;
}

.blackjack-heading > p {
   max-width: 800px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}

.blackjack-label {
   display: block;

   margin-bottom: 10px;

   color: var(--color-gold);
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 1.5px;
   text-transform: uppercase;
}


/* ====================================
   MAIN
==================================== */

.blackjack-main {
   display: grid;
   grid-template-columns: 0.9fr 1.1fr;

   margin-bottom: 30px;
}


/* Image */

.blackjack-image {
   position: relative;
   min-height: 590px;
   overflow: hidden;
}

.blackjack-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.02) 45%,
      rgba(13, 13, 15, 0.82) 100%
   );

   pointer-events: none;
}

.blackjack-image img {
   display: block;

   width: 100%;
   height: 100%;
   min-height: 590px;

   object-fit: cover;
   object-position: center;
}


/* Image information */

.blackjack-image-info {
   position: absolute;
   left: 30px;
   right: 30px;
   bottom: 30px;
   z-index: 2;

   display: grid;
   grid-template-columns: repeat(2, 1fr);

   background-color: rgba(13, 13, 15, 0.92);
   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.blackjack-image-info > div {
   padding: 20px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.blackjack-image-info > div:last-child {
   border-right: none;
}

.blackjack-image-info strong {
   display: block;

   margin-bottom: 5px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 26px;
   font-weight: 500;
}

.blackjack-image-info span {
   color: rgba(255, 255, 255, 0.58);

   font-size: 9px;
   letter-spacing: 1px;
   text-transform: uppercase;
}


/* Basic rules */

.blackjack-basics {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 55px;

   background-color: var(--color-dark);

   border-top: 1px solid rgba(230, 180, 80, 0.22);
   border-right: 1px solid rgba(230, 180, 80, 0.22);
   border-bottom: 1px solid rgba(230, 180, 80, 0.22);
}

.blackjack-basics h3 {
   margin-bottom: 24px;

   color: var(--color-white);
   font-size: 30px;
}

.blackjack-basics > p {
   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.65);
   font-size: 14px;
   line-height: 1.8;
}

.blackjack-basics .blackjack-lead {
   color: rgba(255, 255, 255, 0.82);
   font-size: 16px;
}


/* Basic facts */

.blackjack-basic-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   margin-top: 25px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.blackjack-basic-item {
   padding: 18px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.blackjack-basic-item span {
   display: block;

   margin-bottom: 6px;

   color: rgba(255, 255, 255, 0.42);
   font-size: 9px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}

.blackjack-basic-item strong {
   color: var(--color-white);

   font-size: 13px;
   font-weight: 500;
}


/* ====================================
   CHANCE BLANC
==================================== */

.chance-blanc {
   display: grid;
   grid-template-columns: 1.25fr 0.75fr;

   margin-bottom: 30px;

   background-color: #151518;
   border-top: 2px solid var(--color-gold);
}

.chance-blanc-main {
   padding: 55px;

   border-right: 1px solid rgba(230, 180, 80, 0.2);
}

.chance-blanc-main h3 {
   margin-bottom: 22px;

   color: var(--color-white);
   font-size: 32px;
}

.chance-blanc-main p {
   max-width: 700px;
   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.65);
   font-size: 14px;
   line-height: 1.8;
}

.chance-blanc-main .chance-blanc-lead {
   color: rgba(255, 255, 255, 0.82);
   font-size: 16px;
}


/* Playing card */

.chance-blanc-card {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 45px;
}

.blanc-card-symbol {
   position: relative;

   display: flex;
   flex-direction: column;

   width: 100px;
   height: 140px;

   margin-bottom: 30px;
   padding: 15px;

   background-color: #f2eee5;
   border: 1px solid rgba(230, 180, 80, 0.5);
}

.blanc-card-symbol span {
   color: #17171a;

   font-family: "Montserrat", sans-serif;
   font-size: 29px;
   line-height: 1;
}

.blanc-card-symbol i {
   margin-top: 5px;

   color: #7d2828;
   font-size: 20px;
}

.blanc-card-info > span {
   display: block;

   margin-bottom: 6px;

   color: rgba(255, 255, 255, 0.45);

   font-size: 9px;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.blanc-card-info strong {
   display: block;

   margin-bottom: 10px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 31px;
   font-weight: 500;
}

.blanc-card-info p {
   max-width: 270px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 12px;
   line-height: 1.6;
}


/* ====================================
   GOLD JACK
==================================== */

.gold-jack {
   display: grid;
   grid-template-columns: 0.8fr 1.2fr;
   gap: 50px;

   margin-bottom: 30px;
   padding: 50px;

   background-color: var(--color-dark);
   border: 1px solid rgba(255, 255, 255, 0.09);
}

.gold-jack-heading {
   padding-right: 40px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.gold-jack-heading h3 {
   margin-bottom: 15px;

   color: var(--color-white);
   font-size: 28px;
}

.gold-jack-heading p {
   margin: 0;

   color: rgba(255, 255, 255, 0.62);
   font-size: 13px;
   line-height: 1.75;
}


/* Gold Jack payout */

.gold-jack-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.gold-jack-item {
   min-height: 180px;
   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.gold-jack-featured {
   background-color: rgba(230, 180, 80, 0.05);
}

.gold-jack-index {
   display: block;

   margin-bottom: 32px;

   color: rgba(255, 255, 255, 0.22);
   font-size: 10px;
}

.gold-jack-name {
   display: block;

   margin-bottom: 8px;

   color: rgba(255, 255, 255, 0.62);
   font-size: 12px;
}

.gold-jack-item strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 24px;
   font-weight: 500;
}


/* ====================================
   FREE BET
==================================== */

.freebet-block {
   margin-bottom: 30px;
   padding: 50px;

   background-color: #151518;

   border-top: 1px solid rgba(230, 180, 80, 0.3);
}

.freebet-heading {
   max-width: 780px;
   margin-bottom: 38px;
}

.freebet-heading h3 {
   margin-bottom: 15px;

   color: var(--color-white);
   font-size: 29px;
}

.freebet-heading p {
   margin: 0;

   color: rgba(255, 255, 255, 0.63);
   font-size: 14px;
   line-height: 1.75;
}


/* Free Bet cards */

.freebet-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.freebet-card {
   position: relative;

   min-height: 275px;
   padding: 28px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.freebet-number {
   position: absolute;
   top: 22px;
   right: 22px;

   color: rgba(255, 255, 255, 0.1);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.freebet-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 43px;
   height: 43px;

   margin-bottom: 32px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.freebet-icon i {
   color: var(--color-gold);
   font-size: 14px;
}

.freebet-card h4 {
   margin-bottom: 11px;

   color: var(--color-white);
   font-size: 16px;
}

.freebet-card p {
   margin: 0;

   color: rgba(255, 255, 255, 0.56);
   font-size: 12px;
   line-height: 1.7;
}


/* Push 22 */

.push22 {
   display: grid;
   grid-template-columns: 80px 1fr 130px;
   gap: 25px;

   align-items: center;

   margin-top: 25px;
   padding: 30px;

   background-color: var(--color-dark);

   border-left: 3px solid var(--color-gold);
}

.push22-symbol {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 70px;
   height: 70px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.push22-symbol strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 24px;
   font-weight: 500;
}

.push22-content > span,
.push22-payout span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.43);

   font-size: 9px;
   letter-spacing: 1.1px;
   text-transform: uppercase;
}

.push22-content h4 {
   margin-bottom: 7px;

   color: var(--color-white);
   font-size: 15px;
}

.push22-content p {
   max-width: 700px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);
   font-size: 12px;
   line-height: 1.65;
}

.push22-payout {
   padding-left: 25px;

   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.push22-payout strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 27px;
   font-weight: 500;
}


/* ====================================
   ORIENTATION
==================================== */

.blackjack-orientation {
   padding: 45px 50px;

   background-color: var(--color-dark);
   border: 1px solid rgba(255, 255, 255, 0.09);
}

.blackjack-orientation-heading {
   max-width: 700px;
   margin-bottom: 30px;
}

.blackjack-orientation-heading h3 {
   margin: 0;

   color: var(--color-white);
   font-size: 25px;
}

.blackjack-orientation-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.blackjack-orientation-item {
   min-height: 150px;
   padding: 23px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.blackjack-orientation-item span {
   display: block;

   margin-bottom: 25px;

   color: var(--color-gold);
   font-size: 10px;
}

.blackjack-orientation-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.57);
   font-size: 12px;
   line-height: 1.65;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .blackjack-main,
   .chance-blanc {
      grid-template-columns: 1fr;
   }

   .blackjack-image,
   .blackjack-image img {
      min-height: 500px;
   }

   .blackjack-basics {
      border-left: 1px solid rgba(230, 180, 80, 0.22);
   }

   .chance-blanc-main {
      border-right: none;
      border-bottom: 1px solid rgba(230, 180, 80, 0.2);
   }

   .chance-blanc-card {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 30px;
   }

   .gold-jack {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .gold-jack-heading {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

   .blackjack-orientation-grid {
      grid-template-columns: repeat(2, 1fr);
   }
}


@media (max-width: 700px) {

   .blackjack-heading {
      margin-bottom: 40px;
   }

   .blackjack-heading h2 {
      font-size: 34px;
   }

   .blackjack-image,
   .blackjack-image img {
      min-height: 380px;
   }

   .blackjack-image-info {
      left: 20px;
      right: 20px;
      bottom: 20px;
   }

   .blackjack-basics,
   .chance-blanc-main {
      padding: 38px 25px;
   }

   .blackjack-basic-grid {
      grid-template-columns: 1fr;
   }

   .chance-blanc-card {
      display: block;
      padding: 35px 25px;
   }

   .gold-jack,
   .freebet-block,
   .blackjack-orientation {
      padding: 35px 25px;
   }

   .gold-jack-grid,
   .freebet-grid,
   .blackjack-orientation-grid {
      grid-template-columns: 1fr;
   }

   .gold-jack-item,
   .freebet-card,
   .blackjack-orientation-item {
      min-height: auto;
   }

   .push22 {
      grid-template-columns: 1fr;
   }

   .push22-payout {
      padding-top: 20px;
      padding-left: 0;

      border-top: 1px solid rgba(255, 255, 255, 0.1);
      border-left: none;
   }
}


@media (max-width: 480px) {

   .blackjack-image-info {
      grid-template-columns: 1fr;
   }

   .blackjack-image-info > div {
      padding: 13px 17px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

   .blackjack-image-info > div:last-child {
      border-bottom: none;
   }
}

/**************************************
*
*       ULTIMATE TEXAS HOLD'EM
*
***************************************/

.uth-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.uth-heading {
   max-width: 930px;
   margin-bottom: 60px;
}

.uth-heading h2 {
   max-width: 850px;
   margin-bottom: 24px;
}

.uth-heading > p {
   max-width: 810px;
   margin: 0;

   color: rgba(255, 255, 255, 0.7);
   font-size: 17px;
   line-height: 1.8;
}

.uth-label {
   display: block;

   margin-bottom: 10px;

   color: var(--color-gold);
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 1.5px;
   text-transform: uppercase;
}


/* ====================================
   MAIN
==================================== */

.uth-main {
   display: grid;
   grid-template-columns: 1.08fr 0.92fr;

   margin-bottom: 30px;

   background-color: var(--color-dark-gray);
   border-top: 2px solid var(--color-gold);
}

.uth-intro {
   padding: 55px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-intro h3 {
   max-width: 650px;

   margin-bottom: 24px;

   color: var(--color-white);
   font-size: 30px;
   line-height: 1.35;
}

.uth-intro > p {
   max-width: 700px;

   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.64);
   font-size: 14px;
   line-height: 1.8;
}

.uth-intro .uth-lead {
   color: rgba(255, 255, 255, 0.82);
   font-size: 16px;
}


/* Main facts */

.uth-main-facts {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   margin-top: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-main-fact {
   padding: 20px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-main-fact strong {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 22px;
   font-weight: 500;
}

.uth-main-fact span {
   color: rgba(255, 255, 255, 0.45);

   font-size: 9px;
   line-height: 1.5;
   letter-spacing: 0.7px;
   text-transform: uppercase;
}


/* ====================================
   IMAGE
==================================== */

.uth-image {
   position: relative;

   min-height: 610px;

   overflow: hidden;
}

.uth-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.02) 45%,
      rgba(13, 13, 15, 0.85) 100%
   );

   pointer-events: none;
}

.uth-image img {
   display: block;

   width: 100%;
   height: 100%;
   min-height: 610px;

   object-fit: cover;
   object-position: center;
}

.uth-image-note {
   position: absolute;
   left: 30px;
   right: 30px;
   bottom: 30px;
   z-index: 2;

   padding: 24px;

   background-color: rgba(13, 13, 15, 0.92);
   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.uth-image-note span {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.uth-image-note strong {
   display: block;

   margin-bottom: 7px;

   color: var(--color-white);
   font-size: 19px;
   font-weight: 500;
}

.uth-image-note p {
   margin: 0;

   color: rgba(255, 255, 255, 0.55);
   font-size: 11px;
}


/* ====================================
   PROCESS
==================================== */

.uth-process {
   margin-bottom: 30px;
   padding: 50px;

   background-color: #151518;
}

.uth-process-heading {
   max-width: 750px;
   margin-bottom: 38px;
}

.uth-process-heading h3 {
   margin-bottom: 14px;

   color: var(--color-white);
   font-size: 28px;
}

.uth-process-heading p {
   max-width: 690px;
   margin: 0;

   color: rgba(255, 255, 255, 0.6);
   font-size: 13px;
   line-height: 1.75;
}

.uth-process-grid {
   display: grid;
   grid-template-columns: repeat(5, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-step {
   min-height: 210px;
   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-step-number {
   display: block;

   margin-bottom: 35px;

   color: var(--color-gold);
   font-size: 10px;
}

.uth-step h4 {
   margin-bottom: 10px;

   color: var(--color-white);
   font-size: 14px;
}

.uth-step p {
   margin: 0;

   color: rgba(255, 255, 255, 0.54);
   font-size: 11px;
   line-height: 1.65;
}


/* ====================================
   BETS
==================================== */

.uth-bets {
   display: grid;
   grid-template-columns: 0.72fr 1.28fr;
   gap: 50px;

   margin-bottom: 30px;
   padding: 50px;

   background-color: var(--color-dark-gray);
}

.uth-bets-heading {
   padding-right: 40px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.uth-bets-heading h3 {
   margin-bottom: 15px;

   color: var(--color-white);
   font-size: 27px;
   line-height: 1.4;
}

.uth-bets-heading p {
   margin: 0;

   color: rgba(255, 255, 255, 0.6);
   font-size: 13px;
   line-height: 1.75;
}

.uth-bets-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-bet-card {
   min-height: 200px;
   padding: 25px;

   background-color: rgba(13, 13, 15, 0.25);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.uth-bet-required {
   background-color: rgba(230, 180, 80, 0.035);
}

.uth-bet-type {
   display: block;

   margin-bottom: 25px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 9px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.uth-bet-card h4 {
   margin-bottom: 7px;

   color: var(--color-white);
   font-size: 17px;
}

.uth-bet-card strong {
   display: block;

   margin-bottom: 13px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
   font-weight: 500;
}

.uth-bet-card p {
   margin: 0;

   color: rgba(255, 255, 255, 0.54);
   font-size: 11px;
   line-height: 1.65;
}


/* ====================================
   ULTIMATE JACKPOT
==================================== */

.uth-jackpot {
   display: grid;
   grid-template-columns: 1fr 0.38fr 0.85fr;

   margin-bottom: 30px;

   background-color: #151518;
   border-top: 2px solid var(--color-gold);
}

.uth-jackpot-main {
   padding: 50px;

   border-right: 1px solid rgba(230, 180, 80, 0.18);
}

.uth-jackpot-main h3 {
   margin-bottom: 18px;

   color: var(--color-white);
   font-size: 29px;
}

.uth-jackpot-main p {
   margin-bottom: 15px;

   color: rgba(255, 255, 255, 0.62);
   font-size: 13px;
   line-height: 1.75;
}

.uth-jackpot-main .uth-jackpot-lead {
   color: rgba(255, 255, 255, 0.8);
   font-size: 15px;
}


/* Jackpot entry */

.uth-jackpot-entry {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 35px;

   border-right: 1px solid rgba(230, 180, 80, 0.18);
}

.uth-jackpot-entry span {
   margin-bottom: 8px;

   color: rgba(255, 255, 255, 0.43);

   font-size: 9px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.uth-jackpot-entry strong {
   margin-bottom: 8px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 39px;
   font-weight: 500;
}

.uth-jackpot-entry p {
   margin: 0;

   color: rgba(255, 255, 255, 0.5);
   font-size: 11px;
   line-height: 1.5;
}


/* Jackpot table */

.uth-jackpot-table {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 30px;
}

.uth-jackpot-row {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 20px;

   padding: 13px 0;

   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.uth-jackpot-row:last-child {
   border-bottom: none;
}

.uth-jackpot-row span {
   color: rgba(255, 255, 255, 0.57);
   font-size: 11px;
}

.uth-jackpot-row strong {
   color: var(--color-white);

   font-size: 11px;
   font-weight: 500;
}

.uth-jackpot-head span {
   color: rgba(255, 255, 255, 0.3);

   font-size: 8px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}

.uth-jackpot-highlight strong {
   color: var(--color-gold);
}


/* ====================================
   DISTINCTION
==================================== */

.uth-distinction {
   display: grid;
   grid-template-columns: 65px 1fr;
   gap: 25px;

   align-items: center;

   padding: 35px 40px;

   background-color: var(--color-dark-gray);

   border-left: 3px solid var(--color-gold);
}

.uth-distinction-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 58px;
   height: 58px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.uth-distinction-icon i {
   color: var(--color-gold);
   font-size: 17px;
}

.uth-distinction-content > span {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.uth-distinction-content h3 {
   margin-bottom: 8px;

   color: var(--color-white);
   font-size: 18px;
}

.uth-distinction-content p {
   max-width: 950px;
   margin: 0;

   color: rgba(255, 255, 255, 0.59);
   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .uth-main {
      grid-template-columns: 1fr;
   }

   .uth-intro {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
   }

   .uth-image,
   .uth-image img {
      min-height: 500px;
   }

   .uth-process-grid {
      grid-template-columns: repeat(3, 1fr);
   }

   .uth-bets {
      grid-template-columns: 1fr;
      gap: 35px;
   }

   .uth-bets-heading {
      padding-right: 0;
      padding-bottom: 30px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

   .uth-jackpot {
      grid-template-columns: 1fr 0.5fr;
   }

   .uth-jackpot-table {
      grid-column: 1 / -1;

      border-top: 1px solid rgba(230, 180, 80, 0.18);
   }
}


@media (max-width: 700px) {

   .uth-heading {
      margin-bottom: 40px;
   }

   .uth-heading h2 {
      font-size: 34px;
   }

   .uth-intro {
      padding: 38px 25px;
   }

   .uth-main-facts {
      grid-template-columns: 1fr;
   }

   .uth-image,
   .uth-image img {
      min-height: 390px;
   }

   .uth-image-note {
      left: 20px;
      right: 20px;
      bottom: 20px;
   }

   .uth-process,
   .uth-bets {
      padding: 35px 25px;
   }

   .uth-process-grid,
   .uth-bets-grid {
      grid-template-columns: 1fr;
   }

   .uth-step {
      min-height: auto;
   }

   .uth-jackpot {
      grid-template-columns: 1fr;
   }

   .uth-jackpot-main,
   .uth-jackpot-entry {
      padding: 35px 25px;

      border-right: none;
      border-bottom: 1px solid rgba(230, 180, 80, 0.18);
   }

   .uth-jackpot-table {
      grid-column: auto;
      padding: 30px 25px;
   }

   .uth-distinction {
      grid-template-columns: 1fr;

      padding: 30px 25px;
   }
}

/**************************************
*
*       SPECIAL GAMES
*
***************************************/

.special-games-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.special-games-heading {
   max-width: 900px;
   margin-bottom: 55px;
}

.special-games-heading h2 {
   max-width: 800px;
   margin-bottom: 22px;
}

.special-games-heading > p {
   max-width: 790px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 16px;
   line-height: 1.8;
}


/* ====================================
   FEATURE GRID
==================================== */

.special-games-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.special-game {
   position: relative;

   display: flex;
   flex-direction: column;

   min-height: 330px;
   padding: 32px;

   background-color: #151518;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.special-game-large {
   grid-row: span 2;

   min-height: 660px;

   justify-content: flex-end;

   background:
      linear-gradient(
         180deg,
         rgba(230, 180, 80, 0.08),
         rgba(13, 13, 15, 0.15) 45%,
         #151518 100%
      );
}

.special-game-wide {
   grid-column: span 2;
}


/* ====================================
   TOP
==================================== */

.special-game-top {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;

   margin-bottom: 42px;
}

.special-game-large .special-game-top {
   margin-bottom: auto;
}

.special-game-number {
   color: rgba(255, 255, 255, 0.14);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.special-game-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.special-game-icon > span {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 19px;
}

.special-game-icon > i {
   color: var(--color-gold);
   font-size: 15px;
}


/* Playing card icon */

.special-card-icon {
   position: relative;

   display: block;

   padding: 8px;

   background-color: #eee9df;
}

.special-card-icon > span {
   display: block;

   color: #17171a;

   font-size: 16px;
   line-height: 1;
}

.special-card-icon > i {
   display: block;

   margin-top: 3px;

   color: #812b2b;
   font-size: 10px;
}


/* ====================================
   CONTENT
==================================== */

.special-game-category {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}

.special-game h3 {
   margin-bottom: 14px;

   color: var(--color-white);

   font-size: 21px;
   line-height: 1.35;
}

.special-game-large h3 {
   max-width: 360px;

   font-size: 29px;
}

.special-game > p {
   max-width: 560px;
   margin: 0 0 25px 0;

   color: rgba(255, 255, 255, 0.58);

   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   SIGNATURE FACTS
==================================== */

.special-game-signature {
   display: flex;
   flex-wrap: wrap;
   gap: 7px;

   margin-top: auto;
   padding-top: 20px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.special-game-signature span {
   padding: 6px 9px;

   color: rgba(255, 255, 255, 0.57);
   background-color: rgba(255, 255, 255, 0.04);

   font-size: 9px;
   line-height: 1.3;
}


/* ====================================
   SUMMARY
==================================== */

.special-games-summary {
   display: grid;
   grid-template-columns: 150px 1fr;
   gap: 40px;

   align-items: center;

   padding: 40px 45px;

   background-color: var(--color-dark);

   border-left: 3px solid var(--color-gold);
}

.special-summary-number {
   padding-right: 35px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.special-summary-number strong {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 42px;
   font-weight: 500;
   line-height: 1;
}

.special-summary-number span {
   color: rgba(255, 255, 255, 0.42);

   font-size: 9px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.special-summary-content > span {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}

.special-summary-content h3 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 21px;
   line-height: 1.4;
}

.special-summary-content p {
   max-width: 900px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);

   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   HOVER
==================================== */

@media (hover: hover) {

   .special-game {
      transition:
         background-color 0.3s ease,
         border-color 0.3s ease;
   }

   .special-game:hover {
      background-color: #19191d;
      border-color: rgba(230, 180, 80, 0.28);
   }

}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1050px) {

   .special-games-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .special-game-large {
      grid-row: auto;

      min-height: 330px;

      justify-content: flex-start;
   }

   .special-game-large .special-game-top {
      margin-bottom: 42px;
   }

   .special-game-wide {
      grid-column: span 2;
   }

}


@media (max-width: 700px) {

   .special-games-heading {
      margin-bottom: 40px;
   }

   .special-games-heading h2 {
      font-size: 34px;
   }

   .special-games-grid {
      grid-template-columns: 1fr;
   }

   .special-game,
   .special-game-large {
      min-height: auto;
      padding: 30px 25px;
   }

   .special-game-wide {
      grid-column: auto;
   }

   .special-game-large .special-game-top,
   .special-game-top {
      margin-bottom: 35px;
   }

   .special-game-large h3 {
      font-size: 23px;
   }

   .special-games-summary {
      grid-template-columns: 1fr;
      gap: 25px;

      padding: 35px 25px;
   }

   .special-summary-number {
      padding-right: 0;
      padding-bottom: 22px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

}

/**************************************
*
*       SPECIAL GAMES
*
***************************************/

.special-games-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.special-games-heading {
   max-width: 900px;
   margin-bottom: 55px;
}

.special-games-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.special-games-heading > p {
   max-width: 800px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);
   font-size: 16px;
   line-height: 1.8;
}


/* ====================================
   GRID
==================================== */

.special-games-grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}


/* ====================================
   CARD
==================================== */

.special-game-card {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 390px;
   padding: 28px 24px;

   background-color: #151518;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}


/* ====================================
   CARD HEAD
==================================== */

.special-game-head {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;

   height: 55px;
   margin-bottom: 35px;
}

.special-game-number {
   color: rgba(255, 255, 255, 0.14);

   font-family: "Montserrat", sans-serif;
   font-size: 17px;
   line-height: 1;
}

.special-game-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 46px;
   height: 46px;
   flex: 0 0 46px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.special-game-icon > span {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.special-game-icon > i {
   color: var(--color-gold);
   font-size: 14px;
}


/* Chance Blanc icon */

.special-card-icon {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: flex-start;

   padding: 7px;

   background-color: #eee9df;
}

.special-card-icon > span {
   color: #17171a;

   font-size: 14px;
   line-height: 1;
}

.special-card-icon > i {
   margin-top: 3px;

   color: #812b2b;
   font-size: 9px;
}


/* ====================================
   CONTENT
==================================== */

.special-game-content {
   display: flex;
   flex-direction: column;
   flex: 1;
}

.special-game-category {
   display: block;

   min-height: 15px;
   margin-bottom: 10px;

   color: var(--color-gold);

   font-size: 8px;
   font-weight: 700;
   line-height: 1.4;
   letter-spacing: 1.1px;
   text-transform: uppercase;
}

.special-game-content h3 {
   min-height: 58px;
   margin: 0 0 16px 0;

   color: var(--color-white);

   font-size: 19px;
   line-height: 1.35;
}

.special-game-content p {
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 11px;
   line-height: 1.7;
}


/* ====================================
   FACTS
==================================== */

.special-game-facts {
   display: flex;
   flex-direction: column;
   gap: 7px;

   min-height: 72px;
   margin-top: 28px;
   padding-top: 18px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.special-game-facts span {
   display: flex;
   align-items: center;

   min-height: 23px;
   padding: 5px 8px;

   color: rgba(255, 255, 255, 0.58);
   background-color: rgba(255, 255, 255, 0.04);

   font-size: 8px;
   line-height: 1.35;
   letter-spacing: 0.3px;
}


/* ====================================
   SUMMARY
==================================== */

.special-games-summary {
   display: grid;
   grid-template-columns: 105px 1fr;
   gap: 35px;

   align-items: center;

   padding: 38px 42px;

   background-color: var(--color-dark);

   border-left: 3px solid var(--color-gold);
}

.special-summary-mark {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 85px;
   height: 85px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.special-summary-mark span {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 28px;
   font-weight: 500;
}

.special-summary-content {
   min-width: 0;
}

.special-summary-label {
   display: block;

   margin-bottom: 7px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.special-summary-content h3 {
   margin-bottom: 9px;

   color: var(--color-white);

   font-size: 21px;
   line-height: 1.4;
}

.special-summary-content p {
   max-width: 900px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);

   font-size: 12px;
   line-height: 1.7;
}


/* ====================================
   HOVER
==================================== */

@media (hover: hover) {

   .special-game-card {
      transition:
         background-color 0.25s ease,
         border-color 0.25s ease;
   }

   .special-game-card:hover {
      background-color: #19191d;
      border-color: rgba(230, 180, 80, 0.25);
   }

}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1200px) {

   .special-games-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }

   .special-game-card {
      min-height: 370px;
   }

}


@media (max-width: 850px) {

   .special-games-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .special-game-card {
      min-height: 360px;
   }

}


@media (max-width: 600px) {

   .special-games-heading {
      margin-bottom: 40px;
   }

   .special-games-heading h2 {
      font-size: 34px;
   }

   .special-games-grid {
      grid-template-columns: 1fr;
   }

   .special-game-card {
      min-height: auto;
      padding: 28px 24px;
   }

   .special-game-content h3 {
      min-height: auto;
   }

   .special-game-facts {
      min-height: auto;
   }

   .special-games-summary {
      grid-template-columns: 1fr;
      gap: 25px;

      padding: 32px 25px;
   }

   .special-summary-mark {
      width: 70px;
      height: 70px;
   }

}

/**************************************
*
*       EVENTS
*
***************************************/

.events-section {
   position: relative;
   overflow: hidden;
   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.events-heading {
   max-width: 920px;
   margin-bottom: 55px;
}

.events-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.events-heading > p {
   max-width: 800px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);
   font-size: 16px;
   line-height: 1.8;
}

.events-label {
   display: block;

   margin-bottom: 10px;

   color: var(--color-gold);
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 1.4px;
   text-transform: uppercase;
}


/* ====================================
   MAIN
==================================== */

.events-main {
   display: grid;
   grid-template-columns: 1.05fr 0.95fr;

   margin-bottom: 30px;

   background-color: var(--color-dark-gray);
   border-top: 2px solid var(--color-gold);
}


/* Image */

.events-image {
   position: relative;
   min-height: 560px;
   overflow: hidden;
}

.events-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.03) 45%,
      rgba(13, 13, 15, 0.85) 100%
   );

   pointer-events: none;
}

.events-image img {
   display: block;

   width: 100%;
   height: 100%;
   min-height: 560px;

   object-fit: cover;
   object-position: center;
}

.events-image-note {
   position: absolute;
   left: 30px;
   right: 30px;
   bottom: 30px;
   z-index: 2;

   padding: 22px 25px;

   background-color: rgba(13, 13, 15, 0.92);
   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.events-image-note span {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);
   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.1px;
   text-transform: uppercase;
}

.events-image-note strong {
   color: var(--color-white);
   font-size: 15px;
   font-weight: 500;
}


/* Intro */

.events-intro {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 50px;

   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.events-intro h3 {
   max-width: 550px;
   margin-bottom: 22px;

   color: var(--color-white);
   font-size: 29px;
   line-height: 1.35;
}

.events-intro > p {
   max-width: 590px;
   margin-bottom: 16px;

   color: rgba(255, 255, 255, 0.62);
   font-size: 13px;
   line-height: 1.8;
}

.events-intro .events-lead {
   color: rgba(255, 255, 255, 0.8);
   font-size: 15px;
}


/* Intro facts */

.events-intro-facts {
   display: grid;
   grid-template-columns: repeat(3, 1fr);

   margin-top: 25px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.events-intro-fact {
   min-width: 0;
   padding: 18px 15px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.events-intro-fact i {
   display: block;

   margin-bottom: 14px;

   color: var(--color-gold);
   font-size: 13px;
}

.events-intro-fact strong {
   display: block;

   margin-bottom: 4px;

   color: var(--color-white);
   font-size: 11px;
   font-weight: 500;
}

.events-intro-fact span {
   color: rgba(255, 255, 255, 0.4);

   font-size: 8px;
   line-height: 1.4;
   text-transform: uppercase;
}


/* ====================================
   EVENT TYPES
==================================== */

.event-types {
   margin-bottom: 30px;
   padding: 50px;

   background-color: #151518;
}

.event-types-heading {
   max-width: 760px;
   margin-bottom: 38px;
}

.event-types-heading h3 {
   margin-bottom: 14px;

   color: var(--color-white);
   font-size: 27px;
}

.event-types-heading p {
   max-width: 700px;
   margin: 0;

   color: rgba(255, 255, 255, 0.59);
   font-size: 13px;
   line-height: 1.75;
}


/* Symmetrical grid */

.event-types-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.event-type-card {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 260px;
   padding: 27px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.event-type-top {
   display: flex;
   justify-content: space-between;
   align-items: center;

   height: 35px;
   margin-bottom: 32px;
}

.event-type-top span {
   color: rgba(255, 255, 255, 0.14);

   font-family: "Montserrat", sans-serif;
   font-size: 16px;
}

.event-type-top i {
   color: var(--color-gold);
   font-size: 14px;
}

.event-type-content {
   display: flex;
   flex-direction: column;
   flex: 1;
}

.event-category {
   display: block;

   min-height: 15px;
   margin-bottom: 8px;

   color: var(--color-gold);

   font-size: 8px;
   font-weight: 700;
   letter-spacing: 1.1px;
   text-transform: uppercase;
}

.event-type-content h4 {
   min-height: 46px;
   margin-bottom: 11px;

   color: var(--color-white);

   font-size: 16px;
   line-height: 1.4;
}

.event-type-content p {
   margin: 0;

   color: rgba(255, 255, 255, 0.54);

   font-size: 11px;
   line-height: 1.7;
}


/* ====================================
   CALENDAR
==================================== */

.events-calendar {
   display: grid;
   grid-template-columns: 65px 1fr 150px;
   gap: 25px;

   align-items: center;

   padding: 35px 40px;

   background-color: var(--color-dark-gray);

   border-left: 3px solid var(--color-gold);
}

.events-calendar-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 58px;
   height: 58px;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.events-calendar-icon i {
   color: var(--color-gold);
   font-size: 17px;
}

.events-calendar-content > span {
   display: block;

   margin-bottom: 6px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.events-calendar-content h3 {
   margin-bottom: 8px;

   color: var(--color-white);
   font-size: 18px;
}

.events-calendar-content p {
   max-width: 850px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);

   font-size: 12px;
   line-height: 1.7;
}

.events-calendar-status {
   padding-left: 25px;

   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.events-calendar-status span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 8px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.events-calendar-status strong {
   color: var(--color-gold);

   font-size: 16px;
   font-weight: 500;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1050px) {

   .events-main {
      grid-template-columns: 1fr;
   }

   .events-intro {
      border-top: 1px solid rgba(255, 255, 255, 0.09);
      border-left: none;
   }

   .events-image,
   .events-image img {
      min-height: 480px;
   }

   .event-types-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

}


@media (max-width: 700px) {

   .events-heading {
      margin-bottom: 40px;
   }

   .events-heading h2 {
      font-size: 34px;
   }

   .events-image,
   .events-image img {
      min-height: 380px;
   }

   .events-image-note {
      left: 20px;
      right: 20px;
      bottom: 20px;
   }

   .events-intro {
      padding: 38px 25px;
   }

   .events-intro-facts {
      grid-template-columns: 1fr;
   }

   .event-types {
      padding: 35px 25px;
   }

   .event-types-grid {
      grid-template-columns: 1fr;
   }

   .event-type-card {
      min-height: auto;
   }

   .event-type-content h4 {
      min-height: auto;
   }

   .events-calendar {
      grid-template-columns: 1fr;
      gap: 22px;

      padding: 32px 25px;
   }

   .events-calendar-status {
      padding-top: 20px;
      padding-left: 0;

      border-top: 1px solid rgba(255, 255, 255, 0.1);
      border-left: none;
   }

}

/**************************************
*
*       RESTAURANT LE BLANC
*
***************************************/

.restaurant-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.restaurant-heading {
   max-width: 920px;
   margin-bottom: 55px;
}

.restaurant-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.restaurant-heading > p {
   max-width: 810px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 16px;
   line-height: 1.8;
}

.restaurant-label {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}


/* ====================================
   MAIN
==================================== */

.restaurant-main {
   display: grid;
   grid-template-columns: 1.05fr 0.95fr;

   margin-bottom: 30px;

   background-color: var(--color-dark);

   border-top: 2px solid var(--color-gold);
}


/* ====================================
   IMAGE
==================================== */

.restaurant-image {
   position: relative;

   min-height: 590px;

   overflow: hidden;
}

.restaurant-image::after {
   content: "";
   position: absolute;
   inset: 0;

   background: linear-gradient(
      180deg,
      rgba(13, 13, 15, 0.02) 45%,
      rgba(13, 13, 15, 0.86) 100%
   );

   pointer-events: none;
}

.restaurant-image img {
   display: block;

   width: 100%;
   height: 100%;
   min-height: 590px;

   object-fit: cover;
   object-position: center;
}


/* Image info */

.restaurant-image-info {
   position: absolute;
   left: 30px;
   right: 30px;
   bottom: 30px;
   z-index: 2;

   display: grid;
   grid-template-columns: repeat(2, 1fr);

   background-color: rgba(13, 13, 15, 0.93);

   border-left: 3px solid var(--color-gold);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.restaurant-image-info > div {
   padding: 20px 22px;
}

.restaurant-image-info > div:first-child {
   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.restaurant-image-info span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.43);

   font-size: 8px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.restaurant-image-info strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
}

.restaurant-image-time strong {
   color: var(--color-gold);
}


/* ====================================
   MAIN CONTENT
==================================== */

.restaurant-content {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 50px;
}

.restaurant-content h3 {
   max-width: 540px;
   margin-bottom: 22px;

   color: var(--color-white);

   font-size: 29px;
   line-height: 1.4;
}

.restaurant-content > p {
   max-width: 580px;
   margin-bottom: 16px;

   color: rgba(255, 255, 255, 0.62);

   font-size: 13px;
   line-height: 1.8;
}

.restaurant-content .restaurant-lead {
   color: rgba(255, 255, 255, 0.81);

   font-size: 15px;
}


/* ====================================
   RESTAURANT FACTS
==================================== */

.restaurant-facts {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   margin-top: 26px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.restaurant-fact {
   display: grid;
   grid-template-columns: 35px 1fr;
   gap: 12px;

   align-items: center;

   min-height: 90px;
   padding: 16px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.restaurant-fact-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 32px;
   height: 32px;

   border: 1px solid rgba(230, 180, 80, 0.3);
}

.restaurant-fact-icon i {
   color: var(--color-gold);
   font-size: 11px;
}

.restaurant-fact span {
   display: block;

   margin-bottom: 4px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 8px;
   letter-spacing: 0.7px;
   text-transform: uppercase;
}

.restaurant-fact strong {
   display: block;

   color: var(--color-white);

   font-size: 10px;
   font-weight: 500;
   line-height: 1.4;
}


/* ====================================
   GLASS VIEW
==================================== */

.restaurant-view {
   display: grid;
   grid-template-columns: 70px 1fr 0.9fr;
   gap: 35px;

   align-items: center;

   margin-bottom: 30px;
   padding: 45px;

   background-color: #151518;

   border-left: 3px solid var(--color-gold);
}

.restaurant-view-number {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 62px;
   height: 62px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.restaurant-view-number span {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 17px;
}

.restaurant-view-content h3 {
   margin-bottom: 11px;

   color: var(--color-white);

   font-size: 22px;
}

.restaurant-view-content p {
   max-width: 650px;
   margin: 0;

   color: rgba(255, 255, 255, 0.59);

   font-size: 12px;
   line-height: 1.75;
}


/* Glass visual */

.restaurant-view-graphic {
   display: grid;
   grid-template-columns: 1fr 52px 1fr;

   min-height: 120px;

   border: 1px solid rgba(255, 255, 255, 0.09);
}

.view-side {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 10px;

   padding: 15px;

   text-align: center;
}

.view-side i {
   color: var(--color-gold);
   font-size: 16px;
}

.view-side span {
   color: rgba(255, 255, 255, 0.62);

   font-size: 9px;
   letter-spacing: 0.5px;
   text-transform: uppercase;
}

.view-glass {
   position: relative;

   display: flex;
   align-items: center;
   justify-content: center;

   background-color: rgba(230, 180, 80, 0.04);

   border-left: 1px solid rgba(230, 180, 80, 0.3);
   border-right: 1px solid rgba(230, 180, 80, 0.3);
}

.view-glass::before,
.view-glass::after {
   content: "";

   position: absolute;
   top: 0;
   bottom: 0;

   width: 1px;

   background-color: rgba(255, 255, 255, 0.07);
}

.view-glass::before {
   left: 16px;
}

.view-glass::after {
   right: 16px;
}

.view-glass span {
   position: relative;
   z-index: 1;

   padding: 4px;

   color: rgba(230, 180, 80, 0.65);
   background-color: #151518;

   font-size: 7px;
   letter-spacing: 1px;
   text-transform: uppercase;

   writing-mode: vertical-rl;
}


/* ====================================
   PRACTICAL INFORMATION
==================================== */

.restaurant-practical {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.restaurant-practical-item {
   position: relative;

   display: flex;
   flex-direction: column;

   min-height: 345px;
   padding: 40px;

   background-color: var(--color-dark);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.restaurant-practical-number {
   position: absolute;
   top: 28px;
   right: 30px;

   color: rgba(255, 255, 255, 0.12);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.restaurant-practical-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 46px;
   height: 46px;

   margin-bottom: 30px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.restaurant-practical-icon i {
   color: var(--color-gold);
   font-size: 14px;
}

.restaurant-practical-item h3 {
   margin-bottom: 13px;

   color: var(--color-white);

   font-size: 20px;
}

.restaurant-practical-item > p {
   max-width: 570px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 12px;
   line-height: 1.75;
}

.restaurant-practical-detail {
   margin-top: auto;
   padding-top: 20px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.restaurant-practical-detail span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 8px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}

.restaurant-practical-detail strong {
   color: var(--color-gold);

   font-size: 14px;
   font-weight: 500;
}


/* ====================================
   MIDNIGHT MENU
==================================== */

.midnight-menu {
   display: grid;
   grid-template-columns: 170px 1fr 290px;

   background-color: #151518;

   border-top: 2px solid var(--color-gold);
}

.midnight-time {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 35px;

   border-right: 1px solid rgba(230, 180, 80, 0.18);
}

.midnight-label {
   margin-bottom: 10px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 8px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.midnight-time > strong {
   margin-bottom: 7px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 31px;
   font-weight: 500;
}

.midnight-small {
   color: rgba(255, 255, 255, 0.4);

   font-size: 9px;
}

.midnight-content {
   padding: 35px 40px;

   border-right: 1px solid rgba(230, 180, 80, 0.18);
}

.midnight-content h3 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 20px;
}

.midnight-content p {
   max-width: 680px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 11px;
   line-height: 1.7;
}

.midnight-hours {
   display: flex;
   flex-direction: column;
   justify-content: center;

   padding: 30px;
}

.midnight-hours-row {
   padding: 14px 0;

   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.midnight-hours-row:last-child {
   border-bottom: none;
}

.midnight-hours-row span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.42);

   font-size: 8px;
   text-transform: uppercase;
}

.midnight-hours-row strong {
   color: var(--color-white);

   font-size: 13px;
   font-weight: 500;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .restaurant-main {
      grid-template-columns: 1fr;
   }

   .restaurant-image,
   .restaurant-image img {
      min-height: 500px;
   }

   .restaurant-view {
      grid-template-columns: 70px 1fr;
   }

   .restaurant-view-graphic {
      grid-column: 1 / -1;
   }

   .midnight-menu {
      grid-template-columns: 160px 1fr;
   }

   .midnight-hours {
      grid-column: 1 / -1;

      display: grid;
      grid-template-columns: repeat(2, 1fr);

      border-top: 1px solid rgba(230, 180, 80, 0.18);
   }

   .midnight-hours-row {
      border-bottom: none;
   }

   .midnight-hours-row:first-child {
      border-right: 1px solid rgba(255, 255, 255, 0.08);
   }

}


@media (max-width: 700px) {

   .restaurant-heading {
      margin-bottom: 40px;
   }

   .restaurant-heading h2 {
      font-size: 34px;
   }

   .restaurant-image,
   .restaurant-image img {
      min-height: 390px;
   }

   .restaurant-image-info {
      left: 20px;
      right: 20px;
      bottom: 20px;

      grid-template-columns: 1fr;
   }

   .restaurant-image-info > div:first-child {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

   .restaurant-content {
      padding: 38px 25px;
   }

   .restaurant-facts {
      grid-template-columns: 1fr;
   }

   .restaurant-view {
      grid-template-columns: 1fr;
      gap: 25px;

      padding: 35px 25px;
   }

   .restaurant-view-graphic {
      grid-column: auto;
   }

   .restaurant-practical {
      grid-template-columns: 1fr;
   }

   .restaurant-practical-item {
      min-height: auto;
      padding: 35px 25px;
   }

   .restaurant-practical-detail {
      margin-top: 30px;
   }

   .midnight-menu {
      grid-template-columns: 1fr;
   }

   .midnight-time,
   .midnight-content {
      padding: 30px 25px;

      border-right: none;
      border-bottom: 1px solid rgba(230, 180, 80, 0.18);
   }

   .midnight-hours {
      grid-column: auto;
      grid-template-columns: 1fr;

      padding: 20px 25px;
   }

   .midnight-hours-row:first-child {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
   }

}

/**************************************
*
*       BARS & LOUNGE
*
***************************************/

.bars-lounge-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.bars-lounge-heading {
   max-width: 930px;
   margin-bottom: 55px;
}

.bars-lounge-heading h2 {
   max-width: 850px;
   margin-bottom: 22px;
}

.bars-lounge-heading > p {
   max-width: 810px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 16px;
   line-height: 1.8;
}

.bars-label {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.3px;
   text-transform: uppercase;
}


/* ====================================
   MAIN IMAGE
==================================== */

.bars-lounge-visual {
   position: relative;

   min-height: 560px;
   margin-bottom: 30px;

   overflow: hidden;
}

.bars-lounge-visual::after {
   content: "";
   position: absolute;
   inset: 0;

   background:
      linear-gradient(
         180deg,
         rgba(13, 13, 15, 0.05) 20%,
         rgba(13, 13, 15, 0.25) 48%,
         rgba(13, 13, 15, 0.94) 100%
      );

   pointer-events: none;
}

.bars-lounge-visual > img {
   display: block;

   width: 100%;
   height: 100%;
   min-height: 560px;

   object-fit: cover;
   object-position: center;
}

.bars-lounge-visual-overlay {
   position: absolute;
   left: 40px;
   right: 40px;
   bottom: 35px;
   z-index: 2;

   display: grid;
   grid-template-columns: 1fr 1.25fr;
   gap: 50px;

   align-items: end;
}

.bars-visual-label > span {
   display: block;

   margin-bottom: 8px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}

.bars-visual-label h3 {
   max-width: 470px;
   margin: 0;

   color: var(--color-white);

   font-size: 27px;
   line-height: 1.35;
}


/* Three zones */

.bars-visual-zones {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   background-color: rgba(13, 13, 15, 0.91);

   border-top: 1px solid rgba(230, 180, 80, 0.35);
   border-left: 1px solid rgba(255, 255, 255, 0.1);

   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

.bars-visual-zone {
   min-width: 0;
   min-height: 110px;

   padding: 18px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.bars-visual-zone > span {
   display: block;

   margin-bottom: 17px;

   color: var(--color-gold);

   font-size: 9px;
}

.bars-visual-zone strong {
   display: block;

   margin-bottom: 5px;

   color: var(--color-white);

   font-size: 11px;
   font-weight: 500;
   line-height: 1.4;
}

.bars-visual-zone small {
   color: rgba(255, 255, 255, 0.42);

   font-size: 8px;
   text-transform: uppercase;
}


/* ====================================
   TWO BARS
==================================== */

.casino-bars {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.casino-bar {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 540px;

   padding: 40px;

   background-color: var(--color-dark-gray);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}


/* Top */

.casino-bar-top {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;

   height: 52px;
   margin-bottom: 35px;
}

.casino-bar-number {
   color: rgba(255, 255, 255, 0.13);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.casino-bar-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.casino-bar-icon i {
   color: var(--color-gold);
   font-size: 15px;
}


/* Content */

.casino-bar-content {
   flex: 1;
}

.casino-bar-content h3 {
   margin-bottom: 17px;

   color: var(--color-white);

   font-size: 25px;
}

.casino-bar-content p {
   max-width: 550px;
   margin-bottom: 15px;

   color: rgba(255, 255, 255, 0.57);

   font-size: 12px;
   line-height: 1.75;
}

.casino-bar-content .casino-bar-lead {
   color: rgba(255, 255, 255, 0.78);

   font-size: 14px;
}


/* Offer */

.casino-bar-offer {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));

   margin-top: 25px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.casino-bar-offer span {
   min-width: 0;
   padding: 10px 12px;

   color: rgba(255, 255, 255, 0.56);

   font-size: 9px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}


/* Location */

.casino-bar-location {
   display: grid;
   grid-template-columns: 35px 1fr;
   gap: 12px;

   align-items: center;

   margin-top: 25px;
   padding-top: 20px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.casino-bar-location i {
   color: var(--color-gold);
   font-size: 13px;
}

.casino-bar-location span {
   display: block;

   margin-bottom: 3px;

   color: rgba(255, 255, 255, 0.37);

   font-size: 8px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}

.casino-bar-location strong {
   color: var(--color-white);

   font-size: 11px;
   font-weight: 500;
}


/* ====================================
   BAR DIFFERENCE
==================================== */

.bars-difference {
   display: grid;
   grid-template-columns: 0.75fr 1.25fr;
   gap: 50px;

   align-items: center;

   margin-bottom: 30px;
   padding: 42px;

   background-color: #151518;

   border-left: 3px solid var(--color-gold);
}

.bars-difference-title h3 {
   max-width: 400px;
   margin: 0;

   color: var(--color-white);

   font-size: 22px;
   line-height: 1.4;
}

.bars-difference-grid {
   display: grid;
   grid-template-columns: 1fr 55px 1fr;

   align-items: stretch;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.bars-difference-item {
   padding: 23px;
}

.difference-name {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 11px;
   font-weight: 500;
}

.bars-difference-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.55);

   font-size: 10px;
   line-height: 1.65;
}

.bars-difference-divider {
   display: flex;
   align-items: center;
   justify-content: center;

   border-left: 1px solid rgba(255, 255, 255, 0.09);
   border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.bars-difference-divider span {
   color: rgba(255, 255, 255, 0.27);

   font-size: 8px;
   text-transform: uppercase;
}


/* ====================================
   LOUNGE
==================================== */

.casino-lounge {
   padding: 55px;

   background-color: var(--color-dark-gray);

   border-top: 2px solid var(--color-gold);
}

.casino-lounge-intro {
   max-width: 850px;
   margin-bottom: 40px;
}

.casino-lounge-intro h3 {
   max-width: 680px;
   margin-bottom: 18px;

   color: var(--color-white);

   font-size: 30px;
   line-height: 1.35;
}

.casino-lounge-intro > p {
   max-width: 790px;
   margin-bottom: 15px;

   color: rgba(255, 255, 255, 0.61);

   font-size: 13px;
   line-height: 1.8;
}

.casino-lounge-intro .casino-lounge-lead {
   color: rgba(255, 255, 255, 0.8);

   font-size: 15px;
}


/* ====================================
   LOUNGE FEATURE
==================================== */

.casino-lounge-feature {
   display: grid;
   grid-template-columns: 190px 1px 1fr;
   gap: 35px;

   align-items: center;

   margin-bottom: 30px;
   padding: 30px 35px;

   background-color: var(--color-dark);
}

.lounge-feature-day > span,
.lounge-feature-text > span {
   display: block;

   margin-bottom: 7px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 8px;
   letter-spacing: 0.9px;
   text-transform: uppercase;
}

.lounge-feature-day strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 25px;
   font-weight: 500;
}

.lounge-feature-line {
   width: 1px;
   height: 55px;

   background-color: rgba(255, 255, 255, 0.1);
}

.lounge-feature-text p {
   max-width: 650px;
   margin: 0;

   color: rgba(255, 255, 255, 0.58);

   font-size: 11px;
   line-height: 1.65;
}


/* ====================================
   LOUNGE PROGRAM
==================================== */

.lounge-program {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.lounge-program-item {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 250px;

   padding: 25px;

   background-color: #19191d;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.lounge-program-number {
   display: block;

   margin-bottom: 25px;

   color: rgba(255, 255, 255, 0.13);

   font-family: "Montserrat", sans-serif;
   font-size: 15px;
}

.lounge-program-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 40px;
   height: 40px;

   margin-bottom: 25px;

   border: 1px solid rgba(230, 180, 80, 0.32);
}

.lounge-program-icon i {
   color: var(--color-gold);
   font-size: 12px;
}

.lounge-program-item h4 {
   margin-bottom: 9px;

   color: var(--color-white);

   font-size: 15px;
}

.lounge-program-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.52);

   font-size: 10px;
   line-height: 1.65;
}


/* ====================================
   LOUNGE NOTE
==================================== */

.lounge-note {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 22px;

   align-items: center;

   padding: 28px 30px;

   background-color: var(--color-dark);

   border-left: 3px solid var(--color-gold);
}

.lounge-note-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 50px;
   height: 50px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.lounge-note-icon i {
   color: var(--color-gold);
   font-size: 14px;
}

.lounge-note-content > span {
   display: block;

   margin-bottom: 5px;

   color: var(--color-gold);

   font-size: 8px;
   font-weight: 700;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.lounge-note-content h4 {
   margin-bottom: 7px;

   color: var(--color-white);

   font-size: 16px;
}

.lounge-note-content p {
   max-width: 850px;
   margin: 0;

   color: rgba(255, 255, 255, 0.55);

   font-size: 10px;
   line-height: 1.65;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .bars-lounge-visual-overlay {
      grid-template-columns: 1fr;
      gap: 25px;
   }

   .bars-difference {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   .lounge-program {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

}


@media (max-width: 750px) {

   .bars-lounge-heading {
      margin-bottom: 40px;
   }

   .bars-lounge-heading h2 {
      font-size: 34px;
   }

   .bars-lounge-visual,
   .bars-lounge-visual > img {
      min-height: 600px;
   }

   .bars-lounge-visual-overlay {
      left: 20px;
      right: 20px;
      bottom: 20px;
   }

   .bars-visual-zones {
      grid-template-columns: 1fr;
   }

   .bars-visual-zone {
      min-height: auto;
   }

   .casino-bars {
      grid-template-columns: 1fr;
   }

   .casino-bar {
      min-height: auto;
      padding: 35px 25px;
   }

   .casino-bar-offer {
      margin-top: 30px;
   }

   .bars-difference {
      padding: 35px 25px;
   }

   .bars-difference-grid {
      grid-template-columns: 1fr;
   }

   .bars-difference-divider {
      min-height: 40px;

      border-top: 1px solid rgba(255, 255, 255, 0.09);
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.09);
      border-left: none;
   }

   .casino-lounge {
      padding: 40px 25px;
   }

   .casino-lounge-feature {
      grid-template-columns: 1fr;
      gap: 20px;

      padding: 28px 25px;
   }

   .lounge-feature-line {
      width: 100%;
      height: 1px;
   }

   .lounge-program {
      grid-template-columns: 1fr;
   }

   .lounge-program-item {
      min-height: auto;
   }

   .lounge-note {
      grid-template-columns: 1fr;
   }

}


@media (max-width: 480px) {

   .bars-visual-label h3 {
      font-size: 22px;
   }

   .casino-bar-offer {
      grid-template-columns: 1fr;
   }

}

/**************************************
*
*       PACKAGES
*
***************************************/

.packages-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.packages-heading {
   max-width: 930px;
   margin-bottom: 55px;
}

.packages-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.packages-heading > p {
   max-width: 810px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 16px;
   line-height: 1.8;
}

.packages-label {
   display: block;

   margin-bottom: 8px;

   color: var(--color-gold);

   font-size: 9px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}


/* ====================================
   PACKAGE GRID
==================================== */

.packages-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.package-card {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 610px;

   padding: 35px;

   background-color: var(--color-dark);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}


/* ====================================
   PACKAGE TOP
==================================== */

.package-top {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;

   height: 50px;
   margin-bottom: 38px;
}

.package-number {
   color: rgba(255, 255, 255, 0.13);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.package-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.package-icon i {
   color: var(--color-gold);

   font-size: 15px;
}


/* ====================================
   PACKAGE CONTENT
==================================== */

.package-content {
   min-height: 190px;
}

.package-category {
   display: block;

   min-height: 14px;
   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 8px;
   font-weight: 700;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.package-content h3 {
   min-height: 38px;
   margin-bottom: 15px;

   color: var(--color-white);

   font-size: 23px;
   line-height: 1.4;
}

.package-content p {
   margin: 0;

   color: rgba(255, 255, 255, 0.58);

   font-size: 12px;
   line-height: 1.75;
}


/* ====================================
   PACKAGE INCLUDES
==================================== */

.package-includes {
   flex: 1;

   margin-top: 25px;
   padding-top: 23px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.package-includes-title {
   display: block;

   margin-bottom: 17px;

   color: rgba(255, 255, 255, 0.37);

   font-size: 8px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.package-feature {
   display: grid;
   grid-template-columns: 20px 1fr;
   gap: 9px;

   align-items: center;

   min-height: 35px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.package-feature:last-child {
   border-bottom: none;
}

.package-feature i {
   color: var(--color-gold);

   font-size: 8px;
}

.package-feature span {
   color: rgba(255, 255, 255, 0.66);

   font-size: 10px;
   line-height: 1.4;
}


/* ====================================
   CHARACTER
==================================== */

.package-character {
   min-height: 70px;
   margin-top: 25px;
   padding: 16px;

   background-color: rgba(230, 180, 80, 0.05);

   border-left: 2px solid var(--color-gold);
}

.package-character span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.38);

   font-size: 8px;
   letter-spacing: 0.8px;
   text-transform: uppercase;
}

.package-character strong {
   display: block;

   color: var(--color-white);

   font-size: 11px;
   font-weight: 500;
   line-height: 1.4;
}


/* ====================================
   COMPARISON
==================================== */

.packages-comparison {
   margin-bottom: 30px;
   padding: 45px;

   background-color: #151518;
}

.packages-comparison-heading {
   max-width: 680px;
   margin-bottom: 30px;
}

.packages-comparison-heading h3 {
   margin: 0;

   color: var(--color-white);

   font-size: 24px;
   line-height: 1.4;
}

.packages-comparison-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.package-comparison-item {
   min-width: 0;
   min-height: 190px;

   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.comparison-index {
   display: block;

   margin-bottom: 25px;

   color: var(--color-gold);

   font-size: 9px;
}

.package-comparison-item strong {
   display: block;

   min-height: 35px;
   margin-bottom: 8px;

   color: var(--color-white);

   font-size: 13px;
   font-weight: 500;
}

.package-comparison-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.52);

   font-size: 10px;
   line-height: 1.65;
}


/* ====================================
   GIFT
==================================== */

.packages-gift {
   display: grid;
   grid-template-columns: 70px 1fr 180px;
   gap: 30px;

   align-items: center;

   margin-bottom: 20px;
   padding: 38px 40px;

   background-color: var(--color-dark);

   border-left: 3px solid var(--color-gold);
}

.packages-gift-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 62px;
   height: 62px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.packages-gift-icon i {
   color: var(--color-gold);

   font-size: 18px;
}

.packages-gift-content h3 {
   margin-bottom: 9px;

   color: var(--color-white);

   font-size: 20px;
}

.packages-gift-content p {
   max-width: 780px;
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 11px;
   line-height: 1.7;
}

.packages-gift-mark {
   padding-left: 30px;

   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.packages-gift-mark span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.36);

   font-size: 8px;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.packages-gift-mark strong {
   display: block;

   color: var(--color-gold);

   font-size: 15px;
   font-weight: 500;
}


/* ====================================
   DYNAMIC NOTE
==================================== */

.packages-note {
   display: grid;
   grid-template-columns: 45px 1fr;
   gap: 18px;

   align-items: center;

   padding: 23px 28px;

   background-color: rgba(230, 180, 80, 0.05);

   border: 1px solid rgba(230, 180, 80, 0.18);
}

.packages-note-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 40px;
   height: 40px;

   border: 1px solid rgba(230, 180, 80, 0.3);
}

.packages-note-icon i {
   color: var(--color-gold);

   font-size: 12px;
}

.packages-note-content > span {
   display: block;

   margin-bottom: 5px;

   color: var(--color-gold);

   font-size: 8px;
   font-weight: 700;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.packages-note-content p {
   max-width: 950px;
   margin: 0;

   color: rgba(255, 255, 255, 0.53);

   font-size: 10px;
   line-height: 1.65;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1050px) {

   .packages-grid {
      grid-template-columns: 1fr;
   }

   .package-card {
      min-height: auto;
   }

   .package-content {
      min-height: auto;
   }

   .packages-comparison-grid {
      grid-template-columns: 1fr;
   }

   .package-comparison-item {
      min-height: auto;
   }

}


@media (max-width: 750px) {

   .packages-heading {
      margin-bottom: 40px;
   }

   .packages-heading h2 {
      font-size: 34px;
   }

   .package-card {
      padding: 32px 25px;
   }

   .packages-comparison {
      padding: 35px 25px;
   }

   .packages-gift {
      grid-template-columns: 1fr;
      gap: 22px;

      padding: 32px 25px;
   }

   .packages-gift-mark {
      padding-top: 20px;
      padding-left: 0;

      border-top: 1px solid rgba(255, 255, 255, 0.1);
      border-left: none;
   }

}


@media (max-width: 480px) {

   .packages-note {
      grid-template-columns: 1fr;
   }

}

/* ====================================
   FINAL TYPOGRAPHY OVERRIDE
==================================== */

/* Main section descriptions */
.special-games-heading > p,
.events-heading > p,
.restaurant-heading > p,
.bars-lounge-heading > p,
.packages-heading > p {
   font-size: 17px !important;
   line-height: 1.8 !important;
}


/* Main body text */
.special-game-content p,
.events-intro > p,
.event-type-content p,
.event-types-heading p,
.events-calendar-content p,
.restaurant-content > p,
.restaurant-view-content p,
.restaurant-practical-item > p,
.midnight-content p,
.casino-bar-content p,
.bars-difference-item p,
.casino-lounge-intro > p,
.lounge-feature-text p,
.lounge-program-item p,
.lounge-note-content p,
.package-content p,
.package-comparison-item p,
.packages-gift-content p,
.packages-note-content p {
   font-size: 16px !important;
   line-height: 1.75 !important;
}


/* Lead paragraphs */
.events-intro .events-lead,
.restaurant-content .restaurant-lead,
.casino-bar-content .casino-bar-lead,
.casino-lounge-intro .casino-lounge-lead {
   font-size: 17px !important;
   line-height: 1.8 !important;
}


/* Feature lists and secondary information */
.package-feature span,
.special-game-facts span,
.casino-bar-offer span,
.restaurant-fact strong,
.casino-bar-location strong,
.midnight-hours-row strong,
.package-character strong,
.packages-gift-mark strong {
   font-size: 15px !important;
   line-height: 1.55 !important;
}


/* Small descriptive text */
.restaurant-fact span,
.casino-bar-location span,
.midnight-hours-row span,
.package-character span,
.packages-gift-mark span,
.lounge-feature-day > span,
.lounge-feature-text > span,
.bars-visual-zone small {
   font-size: 12px !important;
   line-height: 1.45 !important;
}


/* Categories and labels */
.special-game-category,
.event-category,
.events-label,
.restaurant-label,
.bars-label,
.package-category,
.packages-label,
.package-includes-title,
.special-summary-label,
.lounge-note-content > span,
.events-calendar-content > span,
.packages-note-content > span,
.events-image-note span,
.restaurant-image-info span,
.bars-visual-label > span {
   font-size: 12px !important;
   line-height: 1.4 !important;
}


/* Main card headings */
.special-game-content h3 {
   font-size: 22px !important;
   line-height: 1.35 !important;
}

.event-type-content h4 {
   font-size: 20px !important;
   line-height: 1.4 !important;
}

.lounge-program-item h4 {
   font-size: 19px !important;
   line-height: 1.4 !important;
}

.package-content h3 {
   font-size: 24px !important;
   line-height: 1.4 !important;
}


/* Secondary block headings */
.restaurant-view-content h3,
.restaurant-practical-item h3,
.midnight-content h3,
.bars-difference-title h3,
.packages-comparison-heading h3,
.packages-gift-content h3 {
   font-size: 22px !important;
   line-height: 1.4 !important;
}


/* Package comparison */
.package-comparison-item strong {
   font-size: 16px !important;
   line-height: 1.5 !important;
}


/* Bar offer */
.casino-bar-offer span {
   padding: 13px 14px !important;
}


/* Event facts */
.events-intro-fact strong {
   font-size: 14px !important;
}

.events-intro-fact span {
   font-size: 12px !important;
}


/* Image information */
.events-image-note strong,
.restaurant-image-info strong {
   font-size: 16px !important;
}


/* Lounge visual zones */
.bars-visual-zone strong {
   font-size: 14px !important;
}

.bars-visual-zone > span {
   font-size: 12px !important;
}


/* Mobile */
@media (max-width: 700px) {

   .special-games-heading > p,
   .events-heading > p,
   .restaurant-heading > p,
   .bars-lounge-heading > p,
   .packages-heading > p {
      font-size: 16px !important;
   }

   .special-game-content p,
   .events-intro > p,
   .event-type-content p,
   .event-types-heading p,
   .events-calendar-content p,
   .restaurant-content > p,
   .restaurant-view-content p,
   .restaurant-practical-item > p,
   .midnight-content p,
   .casino-bar-content p,
   .bars-difference-item p,
   .casino-lounge-intro > p,
   .lounge-feature-text p,
   .lounge-program-item p,
   .lounge-note-content p,
   .package-content p,
   .package-comparison-item p,
   .packages-gift-content p,
   .packages-note-content p {
      font-size: 15px !important;
      line-height: 1.75 !important;
   }

   .events-intro .events-lead,
   .restaurant-content .restaurant-lead,
   .casino-bar-content .casino-bar-lead,
   .casino-lounge-intro .casino-lounge-lead {
      font-size: 16px !important;
   }

}

/**************************************
*
*       LOCATION
*
***************************************/

.location-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.location-heading {
   max-width: 930px;
   margin-bottom: 55px;
}

.location-heading h2 {
   max-width: 830px;
   margin-bottom: 22px;
}

.location-heading > p {
   max-width: 820px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 17px;
   line-height: 1.8;
}

.location-label {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}


/* ====================================
   MAIN LOCATION
==================================== */

.location-main {
   display: grid;
   grid-template-columns: 1fr 1fr;

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.location-address,
.location-identity {
   min-height: 370px;
   padding: 45px;

   background-color: var(--color-dark-gray);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.location-address h3,
.location-identity h3 {
   margin-bottom: 25px;

   color: var(--color-white);

   font-size: 27px;
   line-height: 1.4;
}


/* Address */

.location-address-lines {
   display: flex;
   flex-direction: column;
   gap: 7px;

   margin-bottom: 35px;
}

.location-address-lines span {
   color: rgba(255, 255, 255, 0.78);

   font-size: 17px;
   line-height: 1.55;
}

.location-context {
   display: grid;
   grid-template-columns: 48px 1fr;
   gap: 15px;

   align-items: center;

   padding-top: 25px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.location-context-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 44px;
   height: 44px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.location-context-icon i {
   color: var(--color-gold);

   font-size: 14px;
}

.location-context span {
   display: block;

   margin-bottom: 4px;

   color: rgba(255, 255, 255, 0.42);

   font-size: 12px;
   text-transform: uppercase;
}

.location-context strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
}


/* Orientation */

.location-identity > p {
   max-width: 590px;
   margin-bottom: 35px;

   color: rgba(255, 255, 255, 0.64);

   font-size: 16px;
   line-height: 1.75;
}

.location-identity-facts {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.location-identity-fact {
   padding: 18px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.location-identity-fact span {
   display: block;

   margin-bottom: 6px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.location-identity-fact strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
}


/* ====================================
   ARRIVAL
==================================== */

.arrival-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.arrival-card {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 470px;
   padding: 35px;

   background-color: #151518;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.arrival-card-top {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;

   height: 52px;
   margin-bottom: 35px;
}

.arrival-number {
   color: rgba(255, 255, 255, 0.13);

   font-size: 18px;
}

.arrival-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.arrival-icon i {
   color: var(--color-gold);

   font-size: 15px;
}

.arrival-card h3 {
   min-height: 62px;
   margin-bottom: 17px;

   color: var(--color-white);

   font-size: 22px;
   line-height: 1.4;
}

.arrival-card > p {
   margin-bottom: 14px;

   color: rgba(255, 255, 255, 0.61);

   font-size: 16px;
   line-height: 1.75;
}

.arrival-detail {
   margin-top: auto;
   padding-top: 22px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.arrival-detail span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.arrival-detail strong {
   color: var(--color-gold);

   font-size: 15px;
   font-weight: 500;
}


/* ====================================
   PARKING
==================================== */

.parking-block {
   display: grid;
   grid-template-columns: 70px 1fr 360px;
   gap: 30px;

   align-items: center;

   margin-bottom: 30px;
   padding: 40px;

   background-color: var(--color-dark-gray);

   border-left: 3px solid var(--color-gold);
}

.parking-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 64px;
   height: 64px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.parking-icon i {
   color: var(--color-gold);

   font-size: 21px;
}

.parking-content h3 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 22px;
}

.parking-content p {
   max-width: 700px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 16px;
   line-height: 1.75;
}

.parking-facts {
   display: grid;
   grid-template-columns: repeat(2, 1fr);

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.parking-fact {
   min-width: 0;
   padding: 20px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.parking-fact span {
   display: block;

   margin-bottom: 6px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.parking-fact strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
   line-height: 1.45;
}


/* ====================================
   SUMMARY
==================================== */

.location-summary {
   padding: 40px;

   background-color: #151518;
}

.location-summary-title {
   margin-bottom: 28px;
}

.location-summary-title h3 {
   margin: 0;

   color: var(--color-white);

   font-size: 23px;
}

.location-summary-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.location-summary-item {
   display: grid;
   grid-template-columns: 34px 1fr;
   gap: 12px;

   align-items: center;

   min-width: 0;
   min-height: 95px;
   padding: 18px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.location-summary-item i {
   color: var(--color-gold);

   font-size: 14px;
}

.location-summary-item span {
   display: block;

   margin-bottom: 4px;

   color: rgba(255, 255, 255, 0.39);

   font-size: 12px;
   text-transform: uppercase;
}

.location-summary-item strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
   line-height: 1.4;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1100px) {

   .location-main {
      grid-template-columns: 1fr;
   }

   .location-address,
   .location-identity {
      min-height: auto;
   }

   .arrival-grid {
      grid-template-columns: 1fr;
   }

   .arrival-card {
      min-height: auto;
   }

   .arrival-card h3 {
      min-height: auto;
   }

   .arrival-detail {
      margin-top: 25px;
   }

   .parking-block {
      grid-template-columns: 70px 1fr;
   }

   .parking-facts {
      grid-column: 1 / -1;
   }

   .location-summary-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

}


@media (max-width: 700px) {

   .location-heading {
      margin-bottom: 40px;
   }

   .location-heading h2 {
      font-size: 34px;
   }

   .location-heading > p {
      font-size: 16px;
   }

   .location-address,
   .location-identity,
   .arrival-card {
      padding: 32px 25px;
   }

   .location-identity-facts {
      grid-template-columns: 1fr;
   }

   .parking-block {
      grid-template-columns: 1fr;
      gap: 22px;

      padding: 32px 25px;
   }

   .parking-facts {
      grid-column: auto;
      grid-template-columns: 1fr;
   }

   .location-summary {
      padding: 32px 25px;
   }

   .location-summary-grid {
      grid-template-columns: 1fr;
   }

}

/**************************************
*
*       HOTELS
*
***************************************/

.hotels-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.hotels-heading {
   max-width: 930px;
   margin-bottom: 55px;
}

.hotels-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.hotels-heading > p {
   max-width: 820px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 17px;
   line-height: 1.8;
}

.hotels-label {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}


/* ====================================
   HOTEL GRID
==================================== */

.hotels-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.hotel-card {
   display: flex;
   flex-direction: column;

   min-width: 0;
   min-height: 410px;
   padding: 38px;

   background-color: var(--color-dark);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}


/* ====================================
   HOTEL TOP
==================================== */

.hotel-card-top {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;

   height: 52px;
   margin-bottom: 34px;
}

.hotel-number {
   color: rgba(255, 255, 255, 0.13);

   font-family: "Montserrat", sans-serif;
   font-size: 18px;
}

.hotel-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 48px;
   height: 48px;

   border: 1px solid rgba(230, 180, 80, 0.35);
}

.hotel-icon i {
   color: var(--color-gold);

   font-size: 15px;
}


/* ====================================
   HOTEL CONTENT
==================================== */

.hotel-content {
   flex: 1;
}

.hotel-content h3 {
   min-height: 64px;
   margin-bottom: 16px;

   color: var(--color-white);

   font-size: 23px;
   line-height: 1.4;
}

.hotel-content p {
   max-width: 560px;
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 16px;
   line-height: 1.75;
}


/* ====================================
   ADDRESS
==================================== */

.hotel-address {
   display: grid;
   grid-template-columns: 32px 1fr;
   gap: 12px;

   align-items: start;

   margin-top: 30px;
   padding-top: 22px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.hotel-address i {
   margin-top: 3px;

   color: var(--color-gold);

   font-size: 14px;
}

.hotel-address span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.hotel-address strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
   line-height: 1.55;
}


/* ====================================
   CONDITIONS
==================================== */

.hotel-conditions {
   display: grid;
   grid-template-columns: 70px 1fr 220px;
   gap: 30px;

   align-items: center;

   margin-bottom: 30px;
   padding: 38px 40px;

   background-color: #151518;

   border-left: 3px solid var(--color-gold);
}

.hotel-conditions-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 62px;
   height: 62px;

   border: 1px solid rgba(230, 180, 80, 0.38);
}

.hotel-conditions-icon i {
   color: var(--color-gold);

   font-size: 18px;
}

.hotel-conditions-content h3 {
   margin-bottom: 9px;

   color: var(--color-white);

   font-size: 22px;
}

.hotel-conditions-content p {
   max-width: 760px;
   margin: 0;

   color: rgba(255, 255, 255, 0.61);

   font-size: 16px;
   line-height: 1.75;
}

.hotel-conditions-status {
   padding-left: 28px;

   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.hotel-conditions-status span {
   display: block;

   margin-bottom: 6px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.hotel-conditions-status strong {
   display: block;

   color: var(--color-gold);

   font-size: 15px;
   font-weight: 500;
   line-height: 1.45;
}


/* ====================================
   STAY
==================================== */

.hotel-stay {
   padding: 42px;

   background-color: var(--color-dark);
}

.hotel-stay-heading {
   max-width: 660px;
   margin-bottom: 30px;
}

.hotel-stay-heading h3 {
   margin: 0;

   color: var(--color-white);

   font-size: 24px;
   line-height: 1.4;
}

.hotel-stay-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.hotel-stay-item {
   display: grid;
   grid-template-columns: 46px 1fr;
   gap: 15px;

   min-width: 0;
   min-height: 190px;
   padding: 25px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.hotel-stay-icon {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 42px;
   height: 42px;

   border: 1px solid rgba(230, 180, 80, 0.3);
}

.hotel-stay-icon i {
   color: var(--color-gold);

   font-size: 13px;
}

.hotel-stay-item strong {
   display: block;

   margin-bottom: 9px;

   color: var(--color-white);

   font-size: 16px;
   font-weight: 500;
}

.hotel-stay-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 15px;
   line-height: 1.7;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1050px) {

   .hotel-conditions {
      grid-template-columns: 70px 1fr;
   }

   .hotel-conditions-status {
      grid-column: 1 / -1;

      padding-top: 20px;
      padding-left: 0;

      border-top: 1px solid rgba(255, 255, 255, 0.1);
      border-left: none;
   }

   .hotel-stay-grid {
      grid-template-columns: 1fr;
   }

   .hotel-stay-item {
      min-height: auto;
   }

}


@media (max-width: 750px) {

   .hotels-heading {
      margin-bottom: 40px;
   }

   .hotels-heading h2 {
      font-size: 34px;
   }

   .hotels-heading > p {
      font-size: 16px;
   }

   .hotels-grid {
      grid-template-columns: 1fr;
   }

   .hotel-card {
      min-height: auto;
      padding: 32px 25px;
   }

   .hotel-content h3 {
      min-height: auto;
   }

   .hotel-conditions {
      grid-template-columns: 1fr;
      gap: 22px;

      padding: 32px 25px;
   }

   .hotel-conditions-status {
      grid-column: auto;
   }

   .hotel-stay {
      padding: 32px 25px;
   }

   .hotel-stay-item {
      grid-template-columns: 42px 1fr;

      padding: 22px 18px;
   }

}

/**************************************
*
*       HISTORY
*
***************************************/

.history-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark);
}


/* ====================================
   HEADING
==================================== */

.history-heading {
   max-width: 950px;
   margin-bottom: 55px;
}

.history-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.history-heading > p {
   max-width: 840px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 17px;
   line-height: 1.8;
}

.history-label {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}


/* ====================================
   STORY INTRO
==================================== */

.history-story {
   display: grid;
   grid-template-columns: 160px 1fr 190px;
   gap: 40px;

   align-items: center;

   margin-bottom: 30px;
   padding: 50px;

   background-color: var(--color-dark-gray);

   border-top: 2px solid var(--color-gold);
}

.history-story-year span {
   display: block;

   margin-bottom: 7px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.history-story-year strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 48px;
   font-weight: 500;
}

.history-story-content h3 {
   max-width: 700px;
   margin-bottom: 18px;

   color: var(--color-white);

   font-size: 28px;
   line-height: 1.4;
}

.history-story-content p {
   max-width: 760px;
   margin-bottom: 14px;

   color: rgba(255, 255, 255, 0.64);

   font-size: 16px;
   line-height: 1.75;
}

.history-story-mark {
   padding-left: 30px;

   border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.history-story-mark span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.history-story-mark strong {
   color: var(--color-white);

   font-size: 24px;
   font-weight: 500;
}


/* ====================================
   TIMELINE
==================================== */

.history-timeline {
   margin-bottom: 30px;

   background-color: #151518;
}

.history-item {
   display: grid;
   grid-template-columns: 125px 1px 1fr;
   gap: 35px;

   min-height: 210px;
   padding: 36px 42px;

   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.history-item:last-child {
   border-bottom: none;
}

.history-year {
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.history-year span {
   margin-bottom: 8px;

   color: rgba(255, 255, 255, 0.18);

   font-size: 12px;
}

.history-year strong {
   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 26px;
   font-weight: 500;
}

.history-line {
   width: 1px;
   height: 100%;

   background-color: rgba(230, 180, 80, 0.3);
}

.history-item-content {
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.history-item-content h3 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 22px;
   line-height: 1.4;
}

.history-item-content p {
   max-width: 800px;
   margin: 0;

   color: rgba(255, 255, 255, 0.61);

   font-size: 16px;
   line-height: 1.75;
}


/* ====================================
   MODERN INNOVATIONS
==================================== */

.history-modern {
   margin-bottom: 30px;
   padding: 45px;

   background-color: var(--color-dark-gray);
}

.history-modern-heading {
   max-width: 800px;
   margin-bottom: 32px;
}

.history-modern-heading h3 {
   margin-bottom: 13px;

   color: var(--color-white);

   font-size: 25px;
   line-height: 1.4;
}

.history-modern-heading p {
   margin: 0;

   color: rgba(255, 255, 255, 0.61);

   font-size: 16px;
   line-height: 1.75;
}

.history-modern-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.history-modern-item {
   min-width: 0;
   min-height: 230px;
   padding: 28px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.history-modern-item > span {
   display: block;

   margin-bottom: 24px;

   color: var(--color-gold);

   font-size: 15px;
   font-weight: 600;
}

.history-modern-item strong {
   display: block;

   margin-bottom: 12px;

   color: var(--color-white);

   font-size: 18px;
   font-weight: 500;
   line-height: 1.45;
}

.history-modern-item p {
   margin: 0;

   color: rgba(255, 255, 255, 0.57);

   font-size: 15px;
   line-height: 1.7;
}


/* ====================================
   BAD HOMBURG TO MONACO
==================================== */

.history-monaco {
   display: grid;
   grid-template-columns: 1fr 180px 1fr;

   align-items: stretch;

   margin-bottom: 30px;

   background-color: #151518;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.history-monaco-origin,
.history-monaco-destination {
   padding: 40px;
}

.history-monaco-origin h3,
.history-monaco-destination h3 {
   margin-bottom: 12px;

   color: var(--color-white);

   font-size: 25px;
}

.history-monaco-origin p,
.history-monaco-destination p {
   max-width: 450px;
   margin: 0;

   color: rgba(255, 255, 255, 0.59);

   font-size: 16px;
   line-height: 1.7;
}

.history-monaco-route {
   display: flex;
   align-items: center;
   justify-content: center;
}

.route-line {
   flex: 1;
   height: 1px;

   background-color: rgba(230, 180, 80, 0.28);
}

.route-symbol {
   display: flex;
   align-items: center;
   justify-content: center;

   width: 54px;
   height: 54px;

   flex-shrink: 0;

   border: 1px solid rgba(230, 180, 80, 0.4);
}

.route-symbol i {
   color: var(--color-gold);

   font-size: 14px;
}


/* ====================================
   CLOSING
==================================== */

.history-closing {
   display: grid;
   grid-template-columns: 190px 1fr;
   gap: 40px;

   align-items: center;

   padding: 40px;

   background-color: var(--color-dark-gray);

   border-left: 3px solid var(--color-gold);
}

.history-closing-number {
   padding-right: 35px;

   border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.history-closing-number strong {
   display: block;

   margin-bottom: 5px;

   color: var(--color-gold);

   font-family: "Montserrat", sans-serif;
   font-size: 35px;
   font-weight: 500;
}

.history-closing-number span {
   color: rgba(255, 255, 255, 0.45);

   font-size: 12px;
   text-transform: uppercase;
}

.history-closing-content h3 {
   margin-bottom: 10px;

   color: var(--color-white);

   font-size: 22px;
   line-height: 1.4;
}

.history-closing-content p {
   max-width: 850px;
   margin: 0;

   color: rgba(255, 255, 255, 0.61);

   font-size: 16px;
   line-height: 1.75;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 1000px) {

   .history-story {
      grid-template-columns: 130px 1fr;
   }

   .history-story-mark {
      grid-column: 1 / -1;

      padding-top: 25px;
      padding-left: 0;

      border-top: 1px solid rgba(255, 255, 255, 0.1);
      border-left: none;
   }

   .history-modern-grid {
      grid-template-columns: 1fr;
   }

   .history-modern-item {
      min-height: auto;
   }

   .history-monaco {
      grid-template-columns: 1fr;
   }

   .history-monaco-route {
      min-height: 70px;
      padding: 0 40px;
   }

}


@media (max-width: 700px) {

   .history-heading {
      margin-bottom: 40px;
   }

   .history-heading h2 {
      font-size: 34px;
   }

   .history-heading > p {
      font-size: 16px;
   }

   .history-story {
      grid-template-columns: 1fr;
      gap: 25px;

      padding: 35px 25px;
   }

   .history-story-year strong {
      font-size: 40px;
   }

   .history-item {
      grid-template-columns: 85px 1fr;
      gap: 20px;

      padding: 30px 25px;
   }

   .history-line {
      display: none;
   }

   .history-year strong {
      font-size: 22px;
   }

   .history-modern {
      padding: 35px 25px;
   }

   .history-monaco-origin,
   .history-monaco-destination {
      padding: 35px 25px;
   }

   .history-closing {
      grid-template-columns: 1fr;

      padding: 35px 25px;
   }

   .history-closing-number {
      padding-right: 0;
      padding-bottom: 22px;

      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }

}

/**************************************
*
*       FAQ
*
***************************************/

.faq-section {
   position: relative;
   overflow: hidden;

   background-color: var(--color-dark-gray);
}


/* ====================================
   HEADING
==================================== */

.faq-heading {
   max-width: 930px;
   margin-bottom: 55px;
}

.faq-heading h2 {
   max-width: 820px;
   margin-bottom: 22px;
}

.faq-heading > p {
   max-width: 820px;
   margin: 0;

   color: rgba(255, 255, 255, 0.68);

   font-size: 17px;
   line-height: 1.8;
}

.faq-label {
   display: block;

   margin-bottom: 9px;

   color: var(--color-gold);

   font-size: 12px;
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
}


/* ====================================
   FAQ GRID
==================================== */

.faq-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));

   margin-bottom: 30px;

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.faq-item {
   display: grid;
   grid-template-columns: 55px 1fr;
   gap: 22px;

   min-width: 0;
   min-height: 235px;
   padding: 34px;

   background-color: var(--color-dark);

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.faq-number {
   padding-top: 3px;

   color: var(--color-gold);

   font-size: 14px;
   font-weight: 600;
   letter-spacing: 0.8px;
}

.faq-content h3 {
   margin-bottom: 13px;

   color: var(--color-white);

   font-size: 21px;
   line-height: 1.4;
}

.faq-content p {
   margin: 0;

   color: rgba(255, 255, 255, 0.62);

   font-size: 16px;
   line-height: 1.75;
}


/* ====================================
   SUMMARY
==================================== */

.faq-summary {
   padding: 40px;

   background-color: #151518;

   border-left: 3px solid var(--color-gold);
}

.faq-summary-title {
   margin-bottom: 28px;
}

.faq-summary-title h3 {
   margin: 0;

   color: var(--color-white);

   font-size: 24px;
   line-height: 1.4;
}

.faq-summary-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));

   border-top: 1px solid rgba(255, 255, 255, 0.09);
   border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.faq-summary-item {
   display: grid;
   grid-template-columns: 40px 1fr;
   gap: 13px;

   align-items: center;

   min-width: 0;
   min-height: 105px;
   padding: 20px;

   border-right: 1px solid rgba(255, 255, 255, 0.09);
   border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.faq-summary-item i {
   color: var(--color-gold);

   font-size: 15px;
}

.faq-summary-item span {
   display: block;

   margin-bottom: 5px;

   color: rgba(255, 255, 255, 0.4);

   font-size: 12px;
   text-transform: uppercase;
}

.faq-summary-item strong {
   color: var(--color-white);

   font-size: 15px;
   font-weight: 500;
   line-height: 1.45;
}


/* ====================================
   RESPONSIVE
==================================== */

@media (max-width: 950px) {

   .faq-grid {
      grid-template-columns: 1fr;
   }

   .faq-item {
      min-height: auto;
   }

   .faq-summary-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

}


@media (max-width: 650px) {

   .faq-heading {
      margin-bottom: 40px;
   }

   .faq-heading h2 {
      font-size: 34px;
   }

   .faq-heading > p {
      font-size: 16px;
   }

   .faq-item {
      grid-template-columns: 38px 1fr;
      gap: 14px;

      padding: 28px 22px;
   }

   .faq-content h3 {
      font-size: 19px;
   }

   .faq-content p {
      font-size: 15px;
   }

   .faq-summary {
      padding: 32px 25px;
   }

   .faq-summary-grid {
      grid-template-columns: 1fr;
   }

}

/* ====================================
   LEGAL PAGES
==================================== */
.legal-page { background: #111216; min-height: 70vh; color: #dedede; }
.legal-hero { padding: 150px 0 70px; background: linear-gradient(180deg, rgba(15,15,18,.94), rgba(17,18,22,.98)), url('../images/bg-header.webp') center/cover; border-bottom: 1px solid rgba(212,175,55,.18); }
.legal-hero .container { max-width: 980px; }
.legal-hero h1 { margin: 10px 0 18px; color: #fff; font-size: clamp(38px,5vw,64px); line-height: 1.08; }
.legal-hero p { max-width: 820px; font-size: 18px; line-height: 1.8; color: #d2d2d2; }
.legal-update { display:inline-flex; align-items:center; gap:10px; margin-top:26px; padding:11px 16px; border:1px solid rgba(212,175,55,.28); background:rgba(212,175,55,.07); border-radius:6px; color:#e8e0c3; font-size:14px; }
.legal-layout { display:grid; grid-template-columns: 250px minmax(0,1fr); gap:55px; align-items:start; padding-top:70px; padding-bottom:90px; }
.legal-toc { position:sticky; top:110px; padding:24px; background:#18191e; border:1px solid rgba(255,255,255,.08); border-radius:8px; }
.legal-toc > span { display:block; margin-bottom:14px; color:var(--color-gold); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.legal-toc a { display:block; padding:9px 0; color:#cfcfcf; font-size:13px; line-height:1.4; border-bottom:1px solid rgba(255,255,255,.06); }
.legal-toc a:last-child { border-bottom:0; }
.legal-toc a:hover { color:var(--color-gold); }
.legal-content { min-width:0; }
.legal-section { display:grid; grid-template-columns:54px minmax(0,1fr); gap:24px; padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid rgba(255,255,255,.09); scroll-margin-top:120px; }
.legal-section-icon { width:54px; height:54px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(212,175,55,.09); border:1px solid rgba(212,175,55,.22); color:var(--color-gold); font-size:20px; }
.legal-section-content h2 { color:#fff; font-size:27px; line-height:1.25; margin:0 0 16px; }
.legal-section-content p { color:#d0d0d0; font-size:16px; line-height:1.82; margin:0 0 15px; }
.legal-section-content a { color:var(--color-gold); text-decoration:underline; text-underline-offset:3px; }
.legal-list { margin:16px 0 18px; padding:0; list-style:none; }
.legal-list li { position:relative; padding:7px 0 7px 24px; color:#d0d0d0; font-size:16px; line-height:1.65; }
.legal-list li::before { content:'•'; position:absolute; left:5px; top:7px; color:var(--color-gold); font-weight:700; }
.legal-contact-box { padding:34px; background:linear-gradient(135deg,rgba(212,175,55,.09),rgba(255,255,255,.025)); border:1px solid rgba(212,175,55,.22); border-radius:8px; }
.legal-contact-box h2 { color:#fff; margin:0 0 12px; font-size:26px; }
.legal-contact-box p { color:#d0d0d0; line-height:1.8; margin-bottom:22px; }
.footer-legal-note { margin-top:18px; font-size:12px !important; line-height:1.6 !important; opacity:.72; }
@media (max-width: 900px) { .legal-hero { padding:120px 0 55px; } .legal-layout { grid-template-columns:1fr; gap:30px; padding-top:45px; } .legal-toc { position:static; } }
@media (max-width: 600px) { .legal-hero h1 { font-size:36px; } .legal-hero p { font-size:16px; } .legal-section { grid-template-columns:1fr; gap:15px; } .legal-section-content h2 { font-size:23px; } .legal-contact-box { padding:25px; } }
