@charset "UTF-8";

@font-face {  
    font-family: 'jf-openhuninn-2.0';
    src: url('../fonts/jf-openhuninn-2.0.ttf') format("truetype");
}

:root {
	--364559 : #364559;
	--4e6079 : #4e6079;
	--FFFFFF : #FFFFFF;
	--6681a5 : #6681a5;
	--51729e : #51729e;
}

*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	width: 100%;
	display: block;
	font-family: 'jf-openhuninn-2.0';
}

main{
	min-height: calc(100vh - 200px);
	margin: auto;
}

section{
	margin: auto;
	padding-bottom: 5%;
    width: 80%;
	height: auto;
	position: relative;
}

form{
	width: 90%;
	max-width: 800px;
	margin: auto;
	text-align: center;
}

h1{
    padding: 50px;
    font-size: 50px;
    text-align: center;
	width: 100%;
	margin: 0;
}

h2{
    font-size: 45px;
    text-align: center;
    width: fit-content;
    margin: auto;
    margin-bottom: 30px;
    padding: 20px;
}

h3{
    padding: 10px 50px;
	margin: auto;
	margin-bottom: 30px;
    font-size: 40px;
    text-align: center;
	width: fit-content;
	background-color: var(--6681a5);
	color: var(--FFFFFF);
	border-radius: 20px;
}

h4{
	font-size: 20px;
	text-align: center;
	width: fit-content;
	margin: 0 auto;
	padding: 10px;
}

a {
	margin: auto;
	text-decoration: none;
	display: block;
    cursor: pointer;
}

table{
	font-size: 20px;
	width: 100%;
	text-align: center;
}

table tr {
	line-height: 2;
}

table th {
	padding: 5px;
	border: 0;
}

table td{
	padding: 5px;
	border: 0;
    word-break: normal;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

table th {
	background: var(--364559);
	color: var(--FFFFFF);
	border-left: 1px solid var(--364559);
	border-right: 1px solid var(--364559);
}

table th:not(:first-child) {
	border-left: 1px solid white;
}

table th:not(:last-child) {
	border-right: none;
}

table .btn {
    padding: 5px 20px;
	letter-spacing: normal;
}


p {
	word-break: keep-all;
	line-break: loose;
	overflow-wrap: break-word;
}

img{
    width: 100%;
    height: auto;
    object-fit: cover;
}

small{
	font-size: 18px;
}

header{
	background: var(--364559);
	color: var(--FFFFFF);
	height: 100px;
	display: flex;
	padding: 10px 3vw;
	font-size: 25px;
}

header a,
header a:hover{
	color: var(--FFFFFF);
}

header .rwd-title{
	display: none;
}

header .rwd-title img{
	width: 50px;
	height: 50px;
	margin: 0 10px;
}

header .title{
	font-size: 30px;
	margin: 20px 0;
}

header .title:hover {
	filter: drop-shadow(0 0 10px var(--FFFFFF));
}

header .headerMenu{
	display: flex;
	text-align: end;
	flex-grow: 0;
}

header .menu{
	margin: 0 1.5vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	align-content: center;
	position: relative;
	z-index: 1000;
}

header .menuTittle:hover {
	cursor: pointer;
	filter: drop-shadow(0 0 10px var(--FFFFFF));
}

header .menu .menuTittle{
	margin: 20px 0;
}

header .menu:hover .dropdown-menu{
	display: flex;
	flex-direction: column;
	color: var(--364559);
	background: var(--FFFFFF);
	font-size: 20px;
	text-align: center;
	position: absolute;
	top: 70px;
	z-index: 1;
	overflow: hidden;
	box-shadow: 0px 8px 16px 0px var(--364559);
	width: max-content;
}

header .dropdown-menu a {
	padding: 5px 10px;
	color: var(--364559);
	width: 100%;
}

header .dropdown-menu a:hover {
	color: var(--FFFFFF);
	background: var(--364559);
}

header .modal-content{
	background: var(--FFFFFF);
	border: 3px solid var(--364559);
	border-radius: 30px;
	padding: 5px 0;
	text-align: center;
}

header .modal-content h3{
	color: var(--FFFFFF);
	padding: 10px;
}

header .modal-content button{
	color: var(--FFFFFF);
	margin: 15px auto;
	background: var(--364559);
	border-radius: 10px;
	width: 80%;
}

footer{
	background: var(--364559);
	color: var(--FFFFFF);
	height: 100px;
	font-size: 20px;
	line-height: 1.5;
}

@media only screen and (max-width: 1440px) {

	h1{
		font-size: 45px;
	}
	
	h2{
		font-size: 40px;
	}
	
	h3{
		font-size: 35px;
	}
	
}	

@media only screen and (max-width: 1200px) {
  
	main {
		min-height: calc(100vh - 160px);
		margin: auto;
	}

	header, footer{
		height: 80px;
		font-size: 20px;
	}

	header .title{
		font-size: 25px;
	}

}


@media only screen and (max-width: 1024px) {
  
	table,thead,tbody,th,td,tr {
		display: block;
	}
  
	thead tr {
		display: none;
	}
  
	tr {
	  	border-bottom: 2px solid var(--6681a5);
	}
  
	table td {
		border: none;
		position: relative;
		padding-left: 40%;
		text-align: center;
	}

	.dt-empty{
		padding-left: 0;
	}
  
	td:before {
		content: attr(data-title);
		position: absolute;
		top: 6px;
		left: 10px;
		width: 40%;
		font-weight: 900;
		text-align: center;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
		color: var(--364559);
	}

	table .btn {
		margin: auto;
	}

	h1{
		padding: 30px;
		font-size: 40px;
	}
	
	h2{
		font-size: 35px;
		margin-bottom: 30px;
		padding: 15px;
	}
	
	h3{
		padding: 10px 30px;
		margin-bottom: 20px;
		font-size: 30px;
		border-radius: 15px;
	}

	
}


@media screen and (max-width: 991px) {

	header{
		height: auto;
	}

    header #headerMenu {
        flex-direction: column;
    }

	header .menu:hover  .dropdown-menu {
		position: relative;
		top: 0;
		width: 90%;
		max-width: 500px;
	}

	header .menu {
		width: 100%;
	}

	header .rwd-title{
		display: block;
	}
}

@media only screen and (max-width: 768px) {
  
	section {
		width: 95%;
	}

	header .title{
		display: none;
	}

	header {
		font-size: 20px;
		min-height: 80px;
	}

	footer{
		font-size: 15px;
		padding: 10px;
	}

	table {
		font-size: 18px;
	}

	h1{
		padding: 30px 0;
		font-size: 35px;
	}
	
	h2{
		font-size: 30px;
		margin-bottom: 30px;
		padding: 15px;
	}
	
	h3{
		padding: 10px 20px;
		margin-bottom: 20px;
		font-size: 20px;
		border-radius: 15px;
	}

	h4{
		font-size: 15px;
	}

	header .modal-content{
		width: 80%;
		margin: auto;
		font-size: 20px;
	}
	
	header .menu .menuTittle {
		margin: 15px 0;
	}

	.navbar-toggler-icon {
		width: 20px;
		height: 20px;
	}
}