@font-face {
	font-family: Montserrat-Light;
	src: url(font_Montserrat/Montserrat-Light.ttf);
}

@font-face {
	font-family: Montserrat-Regular;
	src: url(font_Montserrat/Montserrat-Regular.ttf);
}

@font-face {
	font-family: Montserrat-Bold;
	src: url(font_Montserrat/Montserrat-Bold.ttf);
}

@font-face {
	font-family: Montserrat-ExtraLight;
	src: url(font_Montserrat/Montserrat-ExtraLight.ttf);
}
			
:root {
    --brand-blue-dark: #06335C;
    /*--brand-blue-light: #156cbb;*/
	--brand-blue-light: #3089d9;
}

body {
	font-family: Montserrat-Light, Tahoma, serif;
	background-color: lightgrey;
	/*background-image: linear-gradient(to top right, #4facfe, #00f2fe);*/
	background-image: url("../images/i-background.jpg");
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
			
.brand-blue {
    background-color: var(--brand-blue-dark);
    color: white;
}

.brand-blue-text {
    color: var(--brand-blue-light);
}

hr {
    border-top: 2px solid var(--brand-blue-dark);
}

textarea {
    width: 100%;
}

.w3-button {
    background-color: var(--brand-blue-dark)!IMPORTANT;
    color: white!IMPORTANT;
    font-size: 1.2em;
}

.w3-button:hover {
    background-color: #ccc!IMPORTANT;
    color: var(--brand-blue-dark)!IMPORTANT;
    font-weight: bold;
}

.w3-btn.brand-blue:hover {
    color: var(--brand-blue-dark);
    background-color: #ccc;
    font-weight: bold;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table,
th,
td {
    border: 1px solid grey;
    padding: 3px 10px;
    font-size: calc(10px + 0.4vw);
}

th {
    background-color: #06335C;
    color: white;
}

.w3-row {
    /*display: flex!IMPORTANT;*/
    display: flow-root;
}

.w3-row-padding {
    /*display: flex!IMPORTANT;*/
    display: flow-root;
}

.w3-container {
    display: grid!IMPORTANT;
}

.w3-btn {
    border-radius: 5px;
}

.container {
	background-color: #ffffffe6;
	/*max-width: 500px;*/
	border-radius: 10px;
	padding: 20px;
	/*position: absolute;*/
	margin: auto;
	display: block;
	width: 60%;
}
.container1 {
	background-color: #ffffffe6;
	border-radius: 10px;
	margin: auto;
	display: block;
	width: 60%;
	filter: drop-shadow(2px 2px 2px grey);
	opacity: 1;
}

/* The "Sign Up" button */
.button {
  background-color: var(--brand-blue-light);
  border: none;
  color: white;
  padding: 10px 25px;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  border-radius: 5px;
  transition: all 0.2s ease-in-out;
  margin-bottom: 14px;
}

.button:hover {
	background-color: var(--brand-blue-dark);
	cursor: pointer;
}

h1, h2, h3, h4, h5 {
	color: var(--brand-blue-light);
	/*margin-left: 10px;*/
	margin-bottom: 0;
}

.box h1, .box h2, .box h3, .box h4, .box h5 {
	float: left;
}

.far {
	font-size: 1.3em;
}

.fab {
	font-size: 2em;
	color: grey;
}

.fineprint {
	color: grey;
	font-size: 14px;
}

.box {
	margin-top: 30px;
	background-color: #dedede;
	border-radius: 10px;
	padding: 10px;
	display: block;
	width: 100%;
	filter: drop-shadow(2px 2px 2px grey);
	margin-bottom: 20px;
}

table {
	width: 100%;
	border: none;
}

tr, td {
	border: none;
	font-size: 16px;
}

.inp {
	width: 100%;
	background-color: white;
	border: none;
	border-radius: 5px;
	font-size: 20px;
}

.inp::placeholder {
	color: #444444;
	opacity: 0.8;
	font-family: Montserrat-ExtraLight,Arial,sans-serif;
	font-size: 14px;
	letter-spacing: 2px;
}

#btn_pay_bank, #btn_pay_card {
	background-color: grey;
	padding: 20px;
}

div#contract>.box {
	margin-top: 5px;
}

table.borders td {
	border: 1px solid #3b3b3b36;
}


textarea {
	width: 100%; 
	resize: vertical; 
	min-height: 50px
}


.td_50 {
	width: 50%;
}
.td_25 {
	width: 25%;
}
.td_75 {
	width: 75%;
}

.gridtable {
  width: 100%; 
}

tr.tbl_show {
	display: table-row;
}

tr.tbl_hide {
	display: none;
}

@media screen and (max-width: 1500px) {
	.container1 {
		width:65%;
	}
}

@media screen and (max-width: 1300px) {
	.container1 {
		width: 70%;
	}
}

@media screen and (max-width: 1200px) {
	#welcome_header {
		font-size: 44px;
	}
}

@media screen and (max-width: 1100px) {
	#welcome_header {
		font-size: 42px;
	}
}

@media screen and (max-width: 1150px) {
	.container1 {
		width: 75%;
	}
}

@media screen and (max-width: 1050px) {
	.container1 {
		width: 80%;
	}
	.tabcontent {
		padding: 3px 6px;;
	}
	#welcome_header {
		font-size: 40px;
	}
}

@media screen and (max-width: 900px) {
	.container1 {
		width: 85%;
	}
	#welcome_header {
		padding-top: 16px;
		font-size: 38px;
	}
}

@media screen and (max-width: 800px) {
	.container1 {
		width: 90%;
	}
	.tabcontent {
		padding: 2px;
	}
	#btn_pay_card, #btn_pay_bank {
		font-size: 18px;
	}
	#btn_pay_card i, #btn_pay_bank i {
		font-size: 1.5em;
	}
	table, th, td {
		padding: 0;
	}
	#p_pay_providor {
		margin-top: 60px;
	}
	#welcome_header {
		padding-top: 14px;
		font-size: 36px;
	}
}

@media screen and (max-width:768px) {
  .gridtable, .gridtable thead, .gridtable tbody {
    display: block; 
    width: 100%; 
  }
  .gridtable tr {
    display: grid;
    width: 100%;
    /*grid-template-columns: auto auto auto;*/
  }
  .gridtable td {
	  width: 100%;
  }
  .td_25, .td_50, .td_75 {
	  width: 100%;
  }
  .tabcontent {
		padding: 0px;
	}
	#welcome_header {
		padding-top: 12px;
		font-size: 34px;
	}
	.tab button {
		padding: 14px 12px;
	}
}

@media screen and (max-width: 600px)
{
	.container1 {
		width: 95%;
	}
	#btn_pay_card, #btn_pay_bank {
		font-size: 16px;
		margin-top: 10px;
	}
	#btn_pay_card i, #btn_pay_bank i {
		font-size: 1em;
	}
	#welcome_header {
		padding-top: 10px;
		font-size: 26px;
	}
	#welcome_subheader {
		padding: 0 10px 0 10px;
	}
	.tab button {
		padding: 10px 8px;
	}
}

@media screen and (max-width: 400px)
{
	#welcome_header {
		font-size: 20px;
	}
	#welcome_subheader {
		font-size: 14px;
	}
	.box {
		/*width: 95%;*/
	}
}

@media screen and (max-width: 380px)
{
	.box {
		/*width: 90%;*/
	}
}

label {
	color: var(--brand-blue-dark);
	font-size: 18px;
}

#span_signature_helptext {
	font-size: 3vw;
}

@media screen and (min-width: 600px) {
  #span_signature_helptext {
     font-size: 18px;
  }
}
