/* NOTES:
*	https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Basic_concepts_of_grid_layout 
*/

body {
	font-family: Roboto;
	font-size: 12px;
}

.header {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 10px;
	align-items: center;
	background-color: #0B3B60;
	color: white;
}

.header-logo {
	display: flex;
}
  
.header-logo img {
	height: 15px;
	text-align: left;
	padding: 10px;
}
  
.header-title {
	font-size: 14px;
	font-weight: bold;
	text-align: center;		
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
  
.container {
	width: 100%;
	position: relative;
}

.container-center {
	justify-items: center;
}

.step-title {
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	padding: 20px 20px 10px;
}

.step-info {
	text-align: center;
	padding: 10px 20px;
}

.app-group {	
    display: grid;
    column-gap: 10px;
    row-gap: 10px;
    grid-template-columns: repeat(2, 1fr);
	padding: 10px 20px;
}

.app-group-item {
	display: flex;
	align-items: center;
	padding: 12px 10px;
}

img.app-icon {
	width: 25px;
	height: 25px;
	margin-right: 5px;
}

.link-btn-group {
	display: grid;
    column-gap: 30px;
    row-gap: 30px;
    grid-template-columns: repeat(2, 1fr);
	padding: 10px 20px;
}

.link-btn-group-item {
	text-align: center;
}

.link-btn {
	width: 80px;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
	color: black;
	background: white;
	display: inline-flex;
	padding: 10px;
	border: 1px solid #a2a4a3;
	border-radius: 18px;
}

.link-btn-default {
	color: black !important;
	background: white !important;
}

.link-btn-primary {
	color: white !important;
	background: #0B3B60 !important;
}

.alert {
	text-align: center;
	margin: 10px 10px 0px;
	border: lightgray 1px solid;
	border-radius: 10px;
}

.alert-title {
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	padding: 10px 20px;
}

.alert-detail {
	font-size: 10px;
	text-align: center;
	padding: 0px 20px 10px;
}

.alert-info {
	color: blue;
	background-color:lavenderblush;
}

.alert-error {
	color: red;
	background-color:lavenderblush;
}

.hide {
	display: none;
}

@media screen and (min-width: 768px){
	.header {
		padding: 10px 20px;
	}
	
	.header-logo img {
		height: 40px !important;
	}

	.header-title {	
		font-size: 24px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

	.step-title {
		font-size: 24px;
	}

	.alert-title {
		font-size: 20px;
	}

	.alert-detail {
		font-size: 14px;
	}
}