/*
** Global
**/

html, body {
    height: 100%;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
    line-height: 1.5;
    color: rgba(0,0,0,0.87);
}

body {
    display: flex;
}

p, h2, h3, h4, h5, h6, ul.list, ol.list {
    margin-bottom: 1em;
}

h1{
    font-size: 3rem;
}

h2{
    font-size: 1.5rem;
}

h3{
    font-size: 1.33rem;
}

h4{
    font-size: 1.25rem;
}

h5{
    font-size: 1.12rem;
}

h6{
    font-size: 1rem;
}

a {
    color:#039be5;
}

b, strong {
    font-weight: 500;
}

pre {
	overflow: auto;
}

hr{
	margin: 0 auto;
	width: 85%;
	border-top: 1px solid;
}

ul.list {
	list-style-type: disc;
	padding-left: 40px;
}

ol.list {
	list-style-type: decimal;
	padding-left: 40px;
}

.container {
    margin: 0 auto;
    max-width: 1280px;
    width: 100%;
    padding: 0 1rem;
}

/*
** Side nav, header and footer
**/

.side-nav, .side-nav-wrap {
    width: 240px;
    min-width: 240px;
}

#side-nav-toggle {
    display: none;
}

.side-nav-btn {
    display: none;
}

.side-nav-overlay {
    display: none;
}

.side-nav {
    height: 100%;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
    position: fixed;
    background-color: #FFF;
    transition: all 200ms;
}

.side-nav li {
    height: 44px;
}

.side-nav li a {
    display: block;
    padding: 0 30px;
    font-size: 13px;
	font-weight: bold;
    line-height: 44px;
    color: #444;
}

.side-nav li:not(.logo):hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.side-nav .logo {
    height: 122px;
    padding-top: 31px;
}

.side-nav .logo a {
    padding: 0 15px;
}

.side-nav .separator {
    border-bottom: 1px solid #DDD;
}

.side-nav li.active, .side-nav li.active:hover {
    background-color: #B4331C;
}
.side-nav li.active a {
    color: #FFF;
}
.side-nav li.light a {
	font-weight: normal;
}

.content {
	width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1;
}

header {
    height: 122px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: #B4331C;
    color: #FFF;
    font-weight: 300;
    white-space: nowrap;
}

main {
    flex: 1 0 auto;
    padding: 1rem 0;
}

footer {
    background-color: #B4331C;
    color: rgba(255,255,255,0.8);
    font-weight: 300;
    padding: 5px 0;
    font-size: .95rem;
}

@media only screen and (max-width: 900px) {
    .side-nav-wrap {
        width: 0;
        min-width: 0;
    }

    .side-nav {
        transform: translateX(-100%);
        z-index: 900;
    }

    .side-nav-btn {
        display: inline-block;
        width: 1.5rem;
        cursor: pointer;
    }

    .side-nav-btn div {
        width: 100%;
        height: 2px;
        background-color: #FFF;
        margin: 6px 0;
    }

    #side-nav-toggle:checked ~ .side-nav {
        transform: translateX(0);
    }

    #side-nav-toggle:checked ~ .side-nav-overlay {
        display: block;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: rgba(0,0,0,0.5);
    }

    header h1 {
        font-size: clamp(1rem, 10vw - 2px, 3rem);
    }
}

/*
** Cards
**/

.cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px 10px;
	margin-left: -0.75rem;
	margin-right: -0.75rem;
}

.card {
	min-height: 250px;
	min-width: 0;
	box-shadow:0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
}

.card img {
	box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.card .card-content {
	padding: 20px;
}

.card .card-content p {
	margin:0;
}

/*
** Tables
**/

table {
	width: 100%;
}
thead {
	border-bottom: 1px solid #d0d0d0;
}
td, th {
	padding: 15px 5px;
	text-align: left;
	vertical-align: middle;
}
th {
	font-weight: bold;
}
table.striped > tbody > tr:nth-child(odd) {
	background-color: #f2f2f2;
}
table.centered th, table.centered td {
	text-align: center;
}

/*
** Forms
**/

.input-field {
	position: relative;
	margin-top: 1.5rem;
	margin-bottom: 2.5rem;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="time"],
input[type="date"],
input[type="datetime-local"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea {
	height: 3rem;
	width: 100%;
	border-bottom: 1px solid #9e9e9e;
	transition: all .3s;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="time"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus {
	border-color: black;
}

.input-field label {
	position: absolute;
	top: -1.3rem;
	left: 0.75rem;
	cursor: text;
}

[type="checkbox"] + label {
	position: relative;
	padding-left: 2rem;
	cursor: pointer;
	display: inline-block;
}

[type="checkbox"] + label::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 18px;
	border: 2px solid #5a5a5a;
	border-radius: 1px;
	margin-top: 2px;
	transition: 0.2s;
}

[type="checkbox"]:checked + label::before {
	top: -4px;
	left: -3px;
	width: 12px;
	height: 22px;
	border-color: transparent #26a69a #26a69a transparent;
	transform: rotate(40deg);
	transform-origin: 100% 100%;
}

input.error {
	border-color: #B4331C;
	border-bottom-width: 3px;
}

.input-field .error-label {
	display: inline-block;
	color: #B4331C;
	font-weight: bold;
	font-size: 0.9rem;
	margin-top: 0.2rem;
}

.btn {
	color: #fff;
	background-color: #6C83FE;
	padding: 0.5rem 2rem;
	text-transform: uppercase;
	cursor: pointer;
	transition: .2s ease-out;
	box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
}

.btn:hover {
	background-color: #899CFE;
	box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);
}

.btn svg {
	height: 1.2rem;
	vertical-align: sub;
}

.btn svg.right {
	margin-left: 0.5rem;
}

.btn svg.left {
	margin-right: 0.5rem;
}

/*
** Columns
**/

.columns {
	display: flex;
	gap: 10px;
}

.columns > *:not(.narrow) {
	flex: 1;
}

/*
** Alert
**/

.alert {
	padding: 10px 20px;
	margin: 5px 0;
	font-weight: bold;
}

.alert svg {
	height: 1.5rem;
	vertical-align: -5px;
}

.alert.alert-danger {
	background-color: #B4331C;
	color: #ffffff;
}

.alert.alert-warning {
	background-color: #ffa000;
	color: #ffffff;
}

.alert.alert-success {
	background-color: #2BBBAD;
	color: #ffffff;
}

.alert.alert-info {
	background-color: #6C83FE;
	color: #ffffff;
}

/*
** Prices
**/

.promo {
	text-decoration: line-through;
	font-size: 0.7em;
}

/*
** Contact
**/

.contact .text{
	white-space: nowrap;
}

.contact .map{
	min-width: 300px;
}

.contact .map iframe{
	min-height: 100%;
}

/*
** Id pictures
**/

.id-pictures-header-img {
	width: 90%;
	margin: 0 auto;
	display: block;
}

.id-picture {
	font-size: 0.9rem;
	text-align: center;
}

.id-picture .image {
	width: 75%;
	display: block;
	margin: 0 auto;
}

.id-picture .title {
	font-weight: bold;
	font-size: 1.1rem;
	margin-top: 1rem;
}

/*
** Other services
**/

.service {
	align-items: center;
	margin: 5px 0;
}

.service h4 {
	font-weight: bold;
}
