@font-face {
  font-family: 'D-DIN';
  src: url('../fonts/D-DIN.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN';
  src: url('../fonts/D-DIN-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN';
  src: url('../fonts/D-DIN-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN Condensed';
  src: url('../fonts/D-DINCondensed.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN Condensed';
  src: url('../fonts/D-DINCondensed-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN Exp';
  src: url('../fonts/D-DINExp.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN Exp';
  src: url('../fonts/D-DINExp-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'D-DIN Exp';
  src: url('../fonts/D-DINExp-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
	font-family: 'D-DIN', Arial, sans-serif;
	background-size: cover;
	background-repeat: no-repeat;
	height: 100vh;
	overflow: hidden;
	width: 100%;
	display: block;
	position: relative;
}
body.swimColor0 {
	background-image: url('../img/bg_swim0.webp');
}
body.swimColor1 {
	background-image: url('../img/bg_swim1.webp');
}
body.swimColor2 {
	background-image: url('../img/bg_swim2.webp');
}
body.swimColor3 {
	background-image: url('../img/bg_swim3.webp');
}
body.swimColor4 {
	background-image: url('../img/bg_swim4.webp');
}

body.sportColor0 {
	background: linear-gradient(to bottom, #d7bc75, #8c7f5d);
}
body.sportColor1 {
	background: linear-gradient(to bottom, #dbedd3, #b2d8c9);
}
body.sportColor2 {
	background: linear-gradient(to bottom, #61b0db, #43687b);
}
body.sportColor3 {
	background: linear-gradient(to bottom, #ead5d2, #d4c0bf);
}

header {
	padding: 10px 20px 0 260px;
	width: 100%;
	position: relative;
	display: block;
}
.swimColor0 header {
	background-color: #006c90;
}
.swimColor1 header {
	background-color: #34a5e2;
}
.swimColor2 header {
	background-color: #388f96;
}
.swimColor3 header {
	background-color: #385992;
}
.swimColor4 header {
	background-color: #0f6a9b;
}

header h1 {
    color: #fff;
    text-shadow: 2px 2px 4px hsl(0deg 0% 0% / 75%);
    font-weight: 700;
    font-size: 93px;
    margin: 0;
    letter-spacing: 3px;
    padding: 0;
}

header img {
	position: absolute;
    left: 10px;
    top: 5px;
    z-index: 1;
    width: 230px;
}
.contentVB {
	height: calc(100vh - 258px);
	width: 100%;
	position: relative;
	display: block;
	padding-top: 60px;
}
.contentVB2 {
	height: 480px;
	width: 100%;
	position: relative;
	display: block;
	padding-top: 10px;
}
.contentVB table {
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
	border-collapse: separate;
    border-spacing: 10px 0;
}
.contentVB2 table {
	width: calc(100% - 70px);
	margin: 15px auto 0 auto;
	position: relative;
	table-layout: fixed;
}
.contentVB table th {
	width: 100%;
	position: relative;
	color: #fff;
	width: 33.33%;
	text-align: right;
	vertical-align: middle;
	padding: 0 20px;
    text-shadow: 1px 1px 3px hsl(0deg 0% 0% / 75%);
	font-size: 30px;
}
.contentVB2 table thead th {
	width: 100%;
    position: relative;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    padding: 5px 15px;
    font-size: 22px;
    line-height: 22px;
    font-weight: 400;
}
/*
.contentVB2 table thead tr th:nth-child(1),
.contentVB2 table tbody tr td:nth-child(1) {
	width: 480px;
}
*/
.contentVB2 table thead tr th:nth-child(4),
.contentVB2 table tbody tr td:nth-child(4) {
	width: 120px;
}
.contentVB2 table thead tr th:nth-child(5),
.contentVB2 table tbody tr td:nth-child(5) {
	width: 130px;
}
.swimColor0 .contentVB table th {
	background: linear-gradient(to right, #1a506e 0%, #1a506e 50%, #1c5473 80%, #1c5778 100%);
}
.swimColor1 .contentVB table th {
	background: linear-gradient(to right, #20658a 0%, #21668b 50%, #2e7b97 80%, #2d8ca7 100%);
}
.swimColor2 .contentVB table th {
	background: linear-gradient(to right, #347378 0%, #347378 50%, #367479 80%, #448186 100%);
}
.swimColor3 .contentVB table th {
	background: linear-gradient(to right, #415d90 0%, #415d90 50%, #405c8f 80%, #3e5b8e 100%);
}
.swimColor4 .contentVB table th {
	background: linear-gradient(to right, #3f7592 0%, #3f7592 50%, #367394 80%, #327295 100%);
}
.bodySport hr {
    margin: 0 auto!important;
    height: 3px;
    opacity: 1;
    border: 0;
    display: block;
    position: relative;
    width: calc(100% - 70px);
}
.sportColor0 hr {
	background: #736537;
}
.sportColor1 hr {
	background: #768171;
}
.sportColor2 hr {
	background: #2f566e;
}
.sportColor3 hr {
	background: #786a69;
}

.sportColor0 .contentVB2 table thead th {
	background: #806b34;
}
.sportColor1 .contentVB2 table thead th {
	background: #419d71;
}
.sportColor2 .contentVB2 table thead th {
	background: #2c6180;
}
.sportColor3 .contentVB2 table thead th {
	background: #9f5b5c;
}

.contentVB table td {
	position: relative;
	color: #fff;
	width: 33.33%;
	text-align: right;
	vertical-align: bottom;
	padding: 15px 35px 0 35px;
	font-size: 50px;
    font-weight: 700;
}
.contentVB2 table td {
    position: relative;
    text-align: center;
    vertical-align: middle;
    padding: 7px 7px;
}
.contentVB2 table td label {
	position: relative;
    display: block;
    width: 100%;
    color: #000;
    text-align: center;
    vertical-align: middle;
    padding: 10px 15px;
    font-size: 22px;
    line-height: 31px;
    font-weight: 700;
    text-transform: uppercase;
    height: 50px;
    margin: 0;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; 
}
.contentVB2 table tbody tr td:first-child {
    padding-left: 0;
}
.contentVB2 table tbody tr td:last-child {
    padding-right: 0;
}
.contentVB2 table tbody tr:first-child td {
    padding-top: 15px;
}
.contentVB2 table tbody tr:last-child td {
    padding-bottom: 15px;
}
.swimColor0 .contentVB table td {
	background: linear-gradient(to right, #016e99 0%, #016e99 50%, rgb(1 110 153 / 80%) 80%, rgb(1 110 153 / 40%) 100%);
}
.swimColor1 .contentVB table td {
	background: linear-gradient(to right, #2c89bc 0%, #2c89bc 50%, rgb(47 142 191 / 80%) 80%, rgb(55 173 216 / 40%) 100%);
}
.swimColor2 .contentVB table td {
	background: linear-gradient(to right, #469ca3 0%, #469ca3 50%, rgb(72 158 165 / 80%) 80%, rgb(91 174 181 / 40%) 100%);
}
.swimColor3 .contentVB table td {
	background: linear-gradient(to right, #587fc4 0%, #587fc4 50%, rgb(86 125 194 / 80%) 80%, rgb(76 114 180 / 40%) 100%);
}
.swimColor4 .contentVB table td {
	background: linear-gradient(to right, #569fc7 0%, #569fc7 50%, rgb(83 157 197 / 80%) 80%, rgb(55 135 178 / 40%) 100%);
}
.sportColor0 .contentVB2 table tbody td label {
	background: rgb(128 107 52 / 70%);
}
.sportColor1 .contentVB2 table tbody td label {
	background: rgb(172 213 157 / 90%);
}
.sportColor2 .contentVB2 table tbody td label {
	background: rgb(44 97 128 / 70%);
    color: #fff;
}
.sportColor3 .contentVB2 table tbody td label {
	background: rgb(159 91 92 / 70%);
}
.logoSportBG {
	position: absolute;
    width: 180px;
    height: 180px;
	left: 0;
	bottom: 60px;
}
.sportColor3 .logoSportBG {
    width: 438px;
    height: 80px;
}
.bannerSportBG {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.sportColor0 .bannerSportBG {
    right: 320px;
    bottom: 100px;
}
.sportColor1 .bannerSportBG {
    right: 60px;
    bottom: 60px;
}
.sportColor2 .bannerSportBG {
    right: 0px;
    bottom: 120px;
}
.sportColor3 .bannerSportBG {
    right: 100px;
    bottom: 70px;
}
.contentVB table td span {
	font-size: 80px;
	margin: 0;
	padding: 0;
}
.contentVB table td label {
	font-size: 65px;
}
.contentVB table td small {
    display: block;
    text-shadow: 1px 1px 3px hsl(0deg 0% 0% / 75%);
    margin: 0;
    position: absolute;
    top: 6px;
    right: 35px;
    font-size: 19px;
}

.bodyCIES footer,
.bodyLaVila footer {
	height: 134px;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-end;
}
.bodySport footer {
    width: calc(100% - 70px);
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: space-between;
    justify-content: space-between;
    height: calc(100vh - 480px);
    align-items: flex-end;
}
.bodyCIES footer .containerLogo,
.bodyLaVila footer .containerLogo {
	width: 217px;
	height: 221px;
	background: #fff;
	border-radius: 100%;
	position: absolute;
	left: -10px;
	bottom: 0;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}
.bodyLaVila footer .containerLogo {
	padding: 20px;
}
.bodyCIES footer .containerLogo img,
.bodyLaVila footer .containerLogo img {
	width: 80%;
    height: auto;
}
.bodyCIES footer h2,
.bodyLaVila footer h2 {
    color: #fff;
    text-shadow: 2px 2px 4px hsl(0deg 0% 0% / 75%);
    font-weight: 700;
    font-size: 50px;
    margin: 0;
    padding: 0;
	text-align: right;
	width: 100%;
	padding: 10px 20px 0 240px;
	display: block;
}
.bodySport footer h1 {
    text-transform: uppercase;
    font-weight: 900;
    color: #86c164;
    font-size: 100px;
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: left;
    display: block;
}
.bodySport footer h1 {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 100px;
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: left;
    display: block;
    color: #fff;
}
.bodySport.sportColor1 footer h1 {
    color: #86c164;
}
.bodySport.sportColor3 footer h1 {
    color: #7b2826;
}
.bodySport footer hr {
	width: 90%;
    bottom: 10px;
    right: 0;
    position: absolute;
}

@media only screen and (max-width: 1920px) {
	.sportColor3 .bannerSportBG {
		right: 100px;
		bottom: 31px;
		width: 690px;
	}
	.sportColor3 .logoSportBG {
		width: 356px;
		height: 65px;
	}
	.sportColor2 .bannerSportBG {
		right: -40px;
		bottom: 44px;
		height: 270px;
	}
	.sportColor0 .bannerSportBG {
		right: 320px;
		bottom: 26px;
		height: 410px;
	}
	.sportColor1 .bannerSportBG {
		right: 20px;
		bottom: 1px;
		height: 431px;
	}
}

@media only screen and (max-width: 1480px) {
	/*
	.contentVB2 table {
		table-layout: inherit;
	}
	.contentVB2 table thead tr th:nth-child(1),
	.contentVB2 table tbody tr td:nth-child(1) {
		width: inherit;
	}
	*/
	.bodySport footer h1 {
		font-size: 90px;
	}
	.contentVB2 table thead tr th span {
		display: none;
	}
	.sportColor3 .bannerSportBG {
        width: 635px;
    }
	.sportColor0 .logoSportBG,
	.sportColor1 .logoSportBG,
	.sportColor2 .logoSportBG {
		width: 170px;
		height: 170px;
		bottom: 45px;
	}
	.sportColor2 .bannerSportBG {
        height: 220px;
    }
	.sportColor0 .bannerSportBG {
        right: 120px;
        bottom: 26px;
        height: 390px;
    }
	.sportColor1 .bannerSportBG {
        right: 0;
        height: 351px;
    }
}

@media only screen and (max-width: 1200px) {
	.contentVB2 table td label {
		font-size: 20px;
		line-height: 30px;
	}
	.logoSportBG {
		width: 170px;
		height: 170px;
		bottom: 10px;
	}
	.sportColor0 .bannerSportBG {
		right: 130px;
		bottom: 10px;
		height: 380px;
	}
	.sportColor1 .bannerSportBG {
		right: 0;
		bottom: 0;
		height: 380px;
	}
	.sportColor2 .bannerSportBG {
		right: -40px;
		bottom: 30px;
		height: 220px;
	}
	.sportColor3 .bannerSportBG {
        right: 60px;
        bottom: 60px;
        height: auto;
        width: 50%;
    }
	.sportColor3 .logoSportBG {
		width: 340px;
		height: 62px;
		bottom: 60px;
	}
	.sportColor0 .bannerSportBG {
        right: 40px;
    }
	.sportColor1 .bannerSportBG {
        height: 320px;
    }
}

@media only screen and (max-width: 1420px) {
	.contentVB table {
		width: 100%;
	}
	.contentVB table th {
		font-size: 28px;
	}
	.contentVB table td {
		font-size: 30px;
	}
	.contentVB table td span {
		font-size: 60px;
	}
	.contentVB table td label {
		font-size: 45px;
	}
	.contentVB table td small {
		font-size: 17px;
	}
}
@media only screen and (max-width: 1200px) {
	header h1 {
		font-size: 80px;
	}
	header img {
		width: 200px;
	}
	.contentVB table th {
        font-size: 25px;
    }
	footer h2 {
		font-size: 35px;
	}
	footer .containerLogo {
		width: 197px;
		height: 201px;
	}
}
@media only screen and (max-width: 1040px) {
	header {
		padding-left: 215px;
	}
	header img {
        width: 180px;
    }
	header h1 {
        font-size: 72px;
    }
	.contentVB table th {
        font-size: 23px;
		padding: 0 15px;
    }
	.contentVB table td {
        font-size: 20px;
		padding: 15px 20px 0 20px;
    }
	.contentVB table td span {
        font-size: 50px;
		line-height: 50px;
    }
	.contentVB table td label {
        font-size: 35px;
		line-height: 35px;
    }
	footer h2 {
        font-size: 30px;
    }
	footer .containerLogo {
        width: 177px;
        height: 181px;
    }
	.contentVB table td small {
		font-size: 15px;
		top: 0px;
		right: 20px;
    }
}
@media only screen and (max-width: 960px) {
	header h1 {
        font-size: 60px;
    }
	header img {
        width: 148px;
    }
	.contentVB table th {
        font-size: 20px;
		line-height: 22px;
		padding: 5px 15px;
    }
	.contentVB {
		height: calc(100vh - 218px);
	}
}
@media only screen and (max-width: 768px) {
	header h1 {
        font-size: 50px;
    }
	header img {
        width: 127px;
    }
	.contentVB {
		height: calc(100vh - 205px);
	}
	.contentVB table td small {
        display: none;
    }
	footer h2 {
        font-size: 28px;
    }
}