:root {
	--body-font-size: 16px;
	--header-size: 80px;

	--simple-padding: 15px;

	--header-logo-size: calc(23 * var(--vh));
	
	--header-top-padding: var(--simple-padding);

	--header-logo-size-2: calc(var(--header-logo-size) + var(--simple-padding));

	--footer-size: 130px;

	--dark-gold-color: #836200;
	--light-gold-color: #a77f07;

	--big-font-size: calc(2.5 * var(--vh));
	
	--big-font-size-2: calc(3 * var(--vh));
	
	--modal-width: 1200px;
	--modal-height: 600px;
	--modal-color: #fafafa;
	--modal-back-color: #111;
	
	--modal-padding: calc(var(--simple-padding) * 3);
	
	--modal-side-width: 500px;
}

@font-face {
    font-family: 'Kontora';
    src: url('../fonts/kontora.otf');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Kontora';
    src: url('../fonts/kontora_light.otf');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Kontora';
    src: url('../fonts/kontora_thin.otf');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Kontora';
    src: url('../fonts/kontora_sb.otf');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Kontora';
    src: url('../fonts/kontora_black.otf');
    font-weight: 800;
    font-style: normal;
}

body {
	margin: 0;
	padding: 0;
	font-family: 'Kontora', Helvetica, sans-serif;
	font-size: var(--body-font-size);
	height: calc(100 * var(--vh));
	overflow: hidden;
}

main {
	position: relative;
	width: 100%;
}

a, a:active, a:visited, a:hover {
	color: inherit;
}

.gold {
    color: var(--light-gold-color);
}

.rare { letter-spacing: .05em; }


/************************************  CUSTOM ELS  ***************************************/

a.social__link {
    padding: 0px 10px;
}

a.social__link img {
    height: 35px;
    filter: invert(1);
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 24
}


#video-bg {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: calc(100 * var(--vh));
  object-fit: cover;
  z-index: -1;
}

.bg-shadow-layer {
    background-size: 100%;
    background-image: radial-gradient(rgba(0, 0, 0, 0.8) 10%, #000);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100 * var(--vh));
    background-position: 0% 0%;
    animation: glow 10s infinite alternate ease-in-out;;
}

.btn {
    border: 2px solid;
    border-radius: 0px;
    transition: .3s ease-out;
}

.btn.gold {
	color: var(--light-gold-color);
}

.btn.gold:hover {
    background-color: var(--dark-gold-color);
    color: #fff;
    border-color: var(--dark-gold-color);
}

#fogCanvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.container {
	width: 1300px;
	max-width: 100%;
}

/******************************** HEADER *********************************/

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5;
}

#logo-image {
	height: calc( var(--header-logo-size) - var(--header-top-padding) );
	padding-top: var(--header-top-padding);
}

.header-size {
	height: var(--header-logo-size-2);
}

.flex.space-between { justify-content: space-between; }

.header-text {
	font-size: var(--big-font-size);
	font-weight: 200;
	letter-spacing: .03em;
}

header .btn {
	margin-top: var(--simple-padding);
    font-size: calc(0.75 * var(--big-font-size) );
    width: 8.5em;
    font-weight: 600;
}

/******************************** FOOTER *********************************/

footer {
	height: var(--footer-size);
	/*line-height: var(--footer-size);*/
	position: relative;
	z-index: 5;
}

.footer-text,
.footer-text span {
	font-size: var(--big-font-size-2);
}

.footer-text span + span { margin-left: var(--simple-padding); }

.footer-text .material-symbols-outlined { font-size: calc(1.5 * var(--big-font-size)); color: var(--dark-gold-color); }

/*************************************************************************/

/********************************  MAIN  *********************************/

main {
	height: calc(100 * var(--vh) - var(--footer-size) - var(--header-logo-size-2));
	margin-top: var(--header-logo-size-2);
}

#main-slider {
	width: 100%;
	overflow: hidden;
}

#main-slider .container {
	width: 800px;
	max-width: 100%;

}

.club-slogan {
	font-size: var(--big-font-size);
	font-weight: 200;
	padding: 2em 0 3em;
	margin: 0;
	position: relative;
}

.club-slogan:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 70px;
	transform: translateX(-50%);
	height: 1px;
	background-color: var(--dark-gold-color);
    box-shadow: 0px 0px 5px var(--light-gold-color);
}


.club-title {
    font-size: calc(2.5 * var(--big-font-size));
    font-weight: 600;
    margin: 0px 0px 1em;
}

.autoplay-progress {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 10;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: var(--dark-gold-color);
}

.autoplay-progress svg {
  --progress: 0;
  position: absolute;
  left: 0;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
  stroke-width: 4px;
  stroke: var(--dark-gold-color);
  fill: none;
  stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
  stroke-dasharray: 125.6;
  transform: rotate(-90deg);
}

.autoplay-progress span { display: none; }

/***************************************************************************/

#modal {
	position: fixed;
	display: flex;
	align-items: center;
	z-index: 999;
    background-color: rgba(0, 0, 0, .8);
}

#modal .modal-inner {
	width: var(--modal-width);
    max-width: 100%;
    margin: auto;
}

#modal .modal-inner .modal-sides {
	height: var(--modal-height);
    background-color: var(--modal-back-color);
    color: var(--modal-color);
}

.modal-sides.right-side {
    padding: var(--modal-padding);
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.modal__service-list__item {
    border: 1px solid;
    padding: var(--simple-padding);
    text-align: center;
    font-size: large;
    transition: .3s ease-out;
}

.modal__service-list__item + .modal__service-list__item {
	margin-top: 15px;
}

.modal__service-list__item:hover {
	color: var(--light-gold-color);
}

.modal__phone-holder .tel-link {
	font-weight: 300;
	font-size: x-large;
}

.modal__phone-holder .tel-link:hover { color: var(--light-gold-color); }

.modal-sides.right-side .hideModal {
    padding: .3em .7em;
    font-size: 1.4em;
}

#modal-frame {
	z-index: 999;
    position: fixed;
    top: 0;
    right: calc(-1 * var(--modal-side-width));
    height: calc(100 * var(--vh));
    overflow: hidden;
    width: var(--modal-side-width);
    max-width: 100%;
    box-shadow: -10px 0px 10px 0px rgba(0, 0, 0, .8);
    transition: .5s ease-out;
}

#modal-frame.shown {
	right: 0;
}

#modal-frame iframe {
	width: 100%;
	height: 100%;
	border: none;
	/*overflow: vertical;*/
	overflow-y: auto;
    overflow-x: hidden;
    /*overflow: auto;*/
}

.hideFrame {
	color: #fff;
}

.hideFrame span {
    padding: 10px;
    margin: 10px;
    background-color: #262626;
    border-radius: 50%;
}

#ios-overlay > div {
	position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
    text-align: center;
}

#ios-overlay button {
	position: relative;
    background: white;
    color: black;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    height: 45px;
    width: 45px;
}

#ios-overlay button span {
	position: absolute;
    top: 50%;
    left: 50%;
    font-size: 35px;
    transform: translate(-50%, -50%);
    color: var(--dark-gold-color);
}

/***************************************************************************/


/************************************** ANIMATION ****************************************/

@keyframes glow {
	0% { opacity: .95; }
	100% { opacity: .75 }
}

/*****************************************************************************************/

@media (max-width: 1300px) and (min-width: 750px) {
	.container {
		padding-left: 30px;
		padding-right: 30px;
	}
}

@media (max-width: 600px) {
	:root {
		--header-logo-size: calc(17 * var(--vh));
		--footer-size: 90px;
	}
	
	#modal-frame { 
	    /*overflow: auto */;
	}
	
	.header-text { font-size: 3vh; }
	header .btn { font-size: 2.2vh; }
	.club-title { font-size: calc(2 * var(--big-font-size)); }
}