﻿:root {
    /* Colours */
    --black: #000;
    --light-black: #333;
    --grey: #f3f3f3;
    --white: #fff;
    --blue: #0000ee;
    --purple: #612c69;
    --light-purple: #6f3279;
}

html, body {
    height: 100%;
    font-size: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: var(--black);
    background: var(--white);
}

h1, h2, h3 {
    font-weight: 700;
    color: var(--black);
    margin-top: 0;
}

h1 {
    font-size: 2rem;
    margin-bottom: 1.25rem;
}

h2 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

p {
    margin-bottom: 0.875rem;
}

.container {
    margin: 0 auto;
    max-width: 60rem;
}

/* --- HEADER --- */
header {
    border-bottom: 1px solid #e5e5e5;
}

/* Top white logo band */
.logo {
    height: 4.25rem;
}

/* Bottom purple title band */
.title {
    background: var(--purple);
    padding: 1rem 1rem;
}

    .title h1 {
        color: var(--white);
    }

/* --- MAIN --- */
.page {
    background: var(--grey);
    padding: 2rem 1rem;
    box-sizing: border-box;
}

.pageIDM {    
    padding: 2rem 1rem;
    box-sizing: border-box;
}

#page-heading {
    color: var(--purple);
}

.section {
    background: var(--white);
    border: 1px solid #e6e6e6;
    border-radius: 0.625rem;
    padding: 1.25rem;
    margin-bottom: 1.25rem;
}

.sectionIDM {
    padding: 1.25rem;
    margin-right: 1.125rem;
    margin-bottom: 1.25rem;
    width: 48%;
    border: 2px solid #979797;
    border-radius: 6px;
    font-family: sans-serif;
    min-width: 435px;
}

.section h2 {
    margin-left: 0.3rem;
    color: #612c69;
}

    .section p {
        margin-bottom: 0.25rem;
        margin-left: 1.5625rem;
    }

    .section ul {
        margin-top: 0.25rem;
        margin-bottom: 1rem;
        padding-left: 3.0625rem;
    }

/* Links */
a,
a:visited {
    color: var(--blue);
    text-decoration: underline;
}

    a:hover,
    a:focus {
        text-decoration: none;
    }

/* Buttons */
.btn,
.btn:visited {
    display: block;
    border: none;
    text-decoration: none;
    text-align: center;
    border-radius: 0.3125rem;
    margin: 1.5625rem;
    padding: 0.78125rem 1.875rem;
}

    .btn + .btn {
        margin-top: 1rem;
    }

.btn-primary,
.btn-primary:visited {
    background: var(--purple) !important;
    color: var(--white);
    font-weight: 600;
}

    .btn-primary:hover,
    .btn-primary:focus {
        background: var(--light-purple);
    }

.btn-secondary,
.btn-secondary:visited {
    background: var(--white);
    color: var(--purple);
    font-weight: 600;
}

    .btn-secondary:hover,
    .btn-secondary:focus {
        background: #e9dff0;
    }

.btn-myid,
.btn-myid:visited {
    background: var(--black);
    color: var(--white);
    font-size: 1.125rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 12px;
}

.btn-myid:hover,
.btn-myid:focus {
    background: var(--light-black);
    color: var(--white);
    font-size: 1.125rem;
}

.btn-myid svg {
    width: 70px;
    vertical-align: middle;
    padding-right: 20px;
}

.digital-id-container img {
    width: 70px;
    vertical-align: middle;
    padding-right: 11.5px;
    display: inline-block;
}

.digital-id-container {
    max-width: 430px;
    border: 2px solid #979797;
    border-radius: 6px;
    background-color: #EEEEEE;
    font-family: sans-serif;
    box-sizing: content-box;
    margin-bottom: 20px;
    margin-left: 1.5625rem;
}

.digital-id-button a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    text-decoration: none;
    border-radius: 5px;
    font-size: 18px;
    color: #ffffff;
    background-color: #000;
    margin: 20px;
    padding: 12.5px 50px;
    font-weight: 400;
}

.digital-id-button {
    text-align: center;
}

.idp-button a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    text-decoration: none;
    border-radius: 5px;
    font-size: 18px;
    color: #ffffff;
    background-color: #808080;
    margin: 20px;
    padding: 12.5px 50px;
    font-weight: 400;
}

.idp-button {
    text-align: center;
}

.digital-id-content {
    text-align: center;
    background-color: #EEEEEE;
    border-radius: 0 0 5px 5px;
    border-top: 2px solid #979797;
}

.digital-id-info {
    margin: 0;
    padding: 25px;
    color: #313131;
}

.di-content {
    color: #313131;
    text-align: center;
}

.di-content a {
    color: #00698F;
}

/* --- Footer --- */
footer {
    background: var(--purple);
    color: var(--white);
    font-size: 0.95rem;
    padding: 0.5rem;
}

    footer span {
        margin: 1rem;
    }

/* Top row */
.footer-top {
    font-size: 1rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

    .footer-top a {
        color: var(--white);
        text-decoration: underline;
        margin-right: 2rem;
    }

        .footer-top a:hover {
            text-decoration: none;
        }

/* Bottom row */
.footer-bottom {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}

    .footer-bottom a {
        color: var(--white);
        text-decoration: none;
    }

        .footer-bottom a:hover {
            text-decoration: underline;
        }

/* Responsive design */
@media (max-width: 40rem) {
    h1 {
        font-size: 1.75rem;
    }

    h2 {
        font-size: 1.25rem;
    }

    .logo {
        height: 3.5rem;
        justify-content: center;
    }

    .title {
        text-align: center;
    }

    .page {
        padding: 0 0.5rem;
    }
}

@-ms-viewport {
    max-width: device-width;
}

@-o-viewport {
    max-width: device-width;
}

@viewport {
    max-width: device-width;
}