/*
 * Globals
 */
:root {
	--sz-color-primary: #173E6E;/* #253b6c */
	--sz-color-primary-hover:  #D32026;
	--sz-color-primary-outline-hover:  #5478c4;
	--sz-color-primary-btn-hover:  #d9e1f2;
	--sz-color-primary-outline-btn-hover:  #d9e1f2;
	--sz-color-secondary: #D32026;
	--sz-color-white: #fff;
	--sz-color-black: #000;
	--sz-border-radius: 100px 100px 100px 100px;
	--sz-card-spacer-x: 2rem;
	--sz-card-spacer-y: 1rem;
}

* {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
}

/* Links */
a {
    color: var(--sz-color-secondary);
}
a:focus,
a:hover {
	color: var(--sz-color-primary);
}

/* Custom default button */
.btn {
	font-size: 0.9375rem;
	border-radius: var(--sz-border-radius);
}
.btn-primary {
	font-size: 1.2rem;
	font-weight: 700;
}
.btn-primary,
.btn-primary:hover,
.btn-primary:focus {
	color: var(--sz-color-white);
	text-shadow: none; /* Prevent inheritance from `body` */
	background-color: var(--sz-color-primary);
	border: .05rem solid var(--sz-color-primary);
}
.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--sz-color-secondary);
	border: .05rem solid var(--sz-color-secondary);
}

.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus {
    color: var(--sz-color-primary);
    text-shadow: none; /* Prevent inheritance from `body` */
    background-color: var(--sz-color-white);
    border: .05rem solid var(--sz-color-white);
}

.btn-outline-primary {
	color: var(--sz-color-primary);
	border-color: var(--sz-color-primary);
}
.btn-outline-primary:hover {
	color: var(--sz-color-primary-outline-hover);
	border-color: var(--sz-color-primary-outline-hover);
}
.btn-check:checked + .btn {
	background-color: var(--sz-color-primary);
	border-color: var(--sz-color-primary);
}
.btn-check + .btn:hover {
	color: var(--sz-color-white);
	border-color: var(--sz-color-primary-hover);
	background-color: var(--sz-color-primary-hover);
}
.btn-check:checked + .btn:hover {
	color: var(--bs-btn-active-color);
	background-color: var(--sz-color-primary-hover);
	border-color: var(--sz-color-primary-hover);
}
.form-control {
	border-radius: var(--sz-border-radius);
}
.form-control:focus {
	box-shadow: 0 0 0 .25rem var(--sz-color-primary-outline-btn-hover);
}

/*
 * Base structure
 */

html,
body {
    background-color: var(--sz-color-white);
}

body {
    display: -ms-flexbox;
    display: flex;
    color: #333;
}

.cover-container {
    max-width: 42em;
}


/*
 * Header
 */
.masthead {
    margin-bottom: 2rem;
}

.masthead-brand {
    margin-bottom: 0;
}

.nav-masthead .nav-link {
    padding: .25rem 0;
    font-weight: 700;
    color: rgba(0, 0, 0, .5);
    background-color: transparent;
    border-bottom: .25rem solid transparent;
}

.nav-masthead .nav-link:hover,
.nav-masthead .nav-link:focus {
    border-bottom-color: rgba(50, 50, 50, .25);
}

.nav-masthead .nav-link + .nav-link {
    margin-left: 1rem;
}

.nav-masthead .active {
    color: var(--sz-color-black);
    border-bottom-color: var(--sz-color-black);
}

.navbar-brand img {
	max-width: 400px;
}

@media (min-width: 48em) {
    .masthead-brand {
        float: left;
    }

    .nav-masthead {
        float: right;
    }
}


/*
 * Cover
 */
.cover {
    padding: 0 1.5rem;
}

.cover .btn-lg {
    padding: .75rem 1.25rem;
    font-weight: 700;
}

.cover p a {
    font-weight: bold;
    text-decoration: underline;
}


/*
 * Footer
 */
.mastfoot {
    color: rgba(50, 50, 50, .5);
}
.mastfoot p {
	font-size: calc(var(--bs-body-font-size)*(0.7));
}

.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

.form-label {
	font-weight: bolder;
}

label.required,
label.required:after
{
	content: '\a0*';
}
label.required:after {
	color: red;
}


.btn:has(.icon) {
	padding: 0.25rem 0.5rem;
}

.help-block.text-danger {
	font-size: 12px;
}

.thepay-logo {
	max-width: 180px;
}

#frm-paymentForm input.btn.btn-primary {
	padding: calc(var(--bs-btn-padding-y) * 2) calc(var(--bs-btn-padding-x) * 4);
}

#frm-paymentForm .mb-3:has(> input.btn.btn-primary) {
	text-align: center;
	padding-top: 1.5rem !important;
}

hr {
	border: var(--bs-border-width) solid var(--bs-border-color);
}

.bg-light {
	background-color: #EDF0F4 !important;
}

.card {
	--bs-card-border-radius: var(--sz-border-radius);
}

.card-body {
	padding: var(--sz-card-spacer-y) var(--sz-card-spacer-x);
}
