:root {
	--white: #fff;
	--black: #000;
	--red: #ce181e;
	--error: #ce181e;

	--grey-xlt: #eeeeee;
	--grey-lt: #DDDDDD;
	--grey-md: #565658;

	--header-height: 96px;
	--header-height-scroll: 72px;
	--section-p: 4rem;
	--section-p-sm: 3rem;

	--card-p: 2rem;
	--card-p-sm: 2rem;
	

	--card-cta-radius: 1rem;

	--swiper-theme-color:#fff;
	--swiper-navigation-size: 2rem;
}

@media (min-width: 1400px) {
	:root {
		--card-p: 2.5rem;

		--card-cta-radius: 2rem;
	}
}


@media (min-width: 1680px) {
	:root {
		--section-p: 6rem;
		--section-p-sm: 4rem;

		--card-p: 3.5rem;
		--card-p-sm: 3rem;
		
		--swiper-navigation-size: 2.5rem;
	}
}

/* --- Global --- */

body {
    font: 400 100%/1.6 'Raleway', Arial, Helvetica, sans-serif;
    color: var(--black);
	background-color: var(--white);
}

@media (min-width: 576px) {
	.me-sm-5 {
	 margin-right: 3rem!important
	}

	.pe-sm-5 {
	 padding-right: 3rem!important
	}
}

/* ------------------------------------------------------------------------ Headers */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-family: 'Raleway', Arial, Helvetica, sans-serif;
}

h1, h2, h3,
.h1, .h2, .h3  { 				
	margin-bottom: 1rem;
}	

h1, .h1 {	  
	font-size: 2rem;
	line-height:1.1;
	font-weight: 600;	
}
	
h2, .h2 {
	font-size: 1.5rem;
	line-height:1.2; 
}
		
h3, .h3 { 
	font-size: 1.375rem; 
	line-height:1.4;
}	

h2, h3,
.h2, .h3  { 
	margin-top: 2.5rem;
}

hr + h2, 
hr + h3, 
section h2:first-child,
section h3:first-child {
	margin-top: 0;
}

h2 + h3 {
	margin-top: 3rem;
}


@media (min-width: 1400px) {	
	h1, .h1 {
		font-size: 2.5rem;
	}

	h2, .h2 {
		font-size: 2rem;
	}

	h3, .h3 { 
		font-size: 1.5rem; 
	}	

	h2, h3,
	.h2, .h3  { 
		margin-top: 3rem;
	}
}	

@media (min-width: 1680px) {	
	h1, .h1 {
		font-size: 3rem;
	}	
}	

/* --- Header --- */

.header {
	background-color: var(--white);
    box-shadow: 0 1px 6px rgba(0,0,0,0.2);
    padding: 2em 0;
	position: relative;
}

/* --- Links --- */

a { 
	color: var(--red); 
	font-weight: 700;
	transition: all .25s ease;
	text-decoration: underline;
}	

a:hover {
	color: var(--red);
	text-decoration: none;
}

.a--no-underline {
	text-decoration: none;
}

.a--no-underline:hover {
	text-decoration: underline;
}

main a { 
	word-wrap: break-word; 
}

a img {
	border: none;
	-webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
	transition: opacity .25s ease;
}				

a img:hover { 
	opacity: .9;
}	

/* --- Buttons --- */

.btn {
	font-family: 'Raleway', Arial, Helvetica, sans-serif;
	margin-top: 1rem; 
	padding: .625rem 1.75rem;
	border-radius:0;
	cursor: pointer;
	font-weight: normal;
}

.btn-primary {
    color: var(--white);
    background-color: var(--red);
    border-color: var(--red);
    border-radius: 500px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,
.btn-primary:active,
.show>.btn-primary.dropdown-toggle { 
	background-color: var(--black);
	border-color: var(--black);
	box-shadow: none;
}

.btn-primary.focus,.btn-primary:focus {
    box-shadow: 0 0 0 .2rem rgba(116,147,216,.5)
}

.btn-primary.disabled,.btn-primary:disabled {
    color: #fff;
    background-color: var(--black);
    border-color: var(--black);
}

.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--black);
    border-color: var(--black);
}



@media (min-width: 1400px) {	
	.btn {
		padding: 1rem 1.75rem;
	}

	.btn-collapse {
		padding: 1rem 4.5rem 1rem 3rem;
	}

	.btn--sm {
		padding: .5rem 1rem;
	}
}

/* --- Login Box --- */

.main-container {
	width:100vw;
	display:flex;
	justify-content:center;
	align-items:center;
}

.hero-static {
	width: 100%;
	text-align: center;
}

.login-card {
	padding: 2rem;
	border-radius: 1rem;
	border: solid 1px var(--grey-lt);
	background-color: var(--white);
}

/* --- Forms --- */

.form-control {
    font-family: 'Raleway', Arial, Helvetica, sans-serif;
}

.form-control.form-control-alt {
	border: solid 2px var(--grey-lt);
	background-color: var(--white);
	border-radius: 0;
}

.required-input {
	color: var(--error) !important;
	font-size: 0.875rem;
	font-weight:700;
}

legend {
	font-size: 1rem;
}

.form-control, .form-select {
	border-radius:0;
	border: 2px solid var(--grey-lt);
	padding: .75rem .75rem;
	color: var(--black);
	font-size: 1rem;
	height: unset;
	margin-bottom: 0.5em;
}

.form-control.form-control-alt:focus {
	background-color: var(--white);
}

.form-control-lg.form-control--file {
	font-size: 1rem;
}

.form-control:focus, .form-select:focus, .form-check-input:focus {
    color: var(--black);
    border-color: var(--grey-lt);
    outline: 0;
    box-shadow: 0 0 0 0.125rem rgb(0 0 0 / 25%);
}

.form-check-input {
    border: 2px solid var(--grey-lt);
}

.form-check-input[type=checkbox] {
    border-radius: 0;
}

.form-check-input:checked {
    background-color: var(--red);
    border-color: var(--red);
}

.form-check-input--disabled-display:disabled,
.form-check-input--disabled-display:disabled~.form-check-label, .form-check-input--disabled-display[disabled]~.form-check-label {
    opacity: 1;
}

.checkbox-link {
    padding-left: 1.5rem;
}

.form-switch .form-check-input {
    border-radius: 2em;
    width: 3rem;
    height: 1.5rem;
    margin-right: 1rem;
    margin-top: 0.25rem;
}

.form-switch .form-check-input:focus {
	background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e);
}

.form-text {
    margin-top: .5rem;
    font-size: .875rem;
    color: var(--grey-md);
}

button.text-link {
	border: 0;
    background: 0;
    color: var(--red);
    font-weight: bold;
    text-decoration: underline;
    margin: 0;
    padding: 0;
}

button.text-link:hover {
	color: var(--black);
}

@media (min-width: 1680px) {
	legend,
	.form-control, 
	.form-select,
	.form-control-lg.form-control--file,
	.form-check-label {
		font-size: 1.188rem;
	}

	.form-check-input {
	    margin-top: .5rem;
	}

	.form-text {
	    margin-top: .5rem;
	    font-size: 1rem;
	    color: var(--grey-md);
	}	
}

/* --- Footer --- */

.print-footer { 
	display:none;
}

.footer { 
	background-color: var(--grey-md);
	margin-top: auto!important;
	padding: var(--section-p-sm);
	color: var(--white);
}

.footer a { 
	color: var(--white);
	font-weight: normal;
}

.footer .logo__img {
	max-width: 9rem; 
}

.copyright {
	color: var(--grey-lt);
	font-size: .875rem;
}


@media (min-width: 576px) {
	.divider {
		border-right: 1px solid var(--white);
	}
}