/* BOILERPLATES */

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    transition: all ease 150ms;
}

/* COLORS */
body {
    --prim: hsl(0, 0%, 10%);
    --sec: hsl(0, 0%, 90%);
    --accent: hsl(216, 100%, 50%);
    --black: hsl(0, 0%, 5%);
    --white: #fff;
}

/* TEMPLATE */

.wrapper {
    width: 90%;
    max-width: 30rem;
    margin-inline: auto;
}

/* MAIN */

body {
    width: 100vw;
    height: 100vh;
    color: var(--white);
    background-color: var(--prim);
}

.container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* HEADER - REG */
.header {
    padding-top: 2rem;
    margin-bottom: 2rem;
}

.header .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.header .wrapper .logo {
    display: none;
    width: fit-content;
}

.header .wrapper .title {
    color: var(--white);
}

.header .wrapper .description {
    opacity: .5;
    width: 100%;
    max-width: 20rem;
    text-align: center;
}

.header .wrapper .viewer-title {
    display: none;
}

.header .wrapper .btn-loadfile {
    display: none;
    gap: .5rem;
}

/* HEADER - SMALL */
.header.small {
    background-color: var(--black);
    padding: 1.5rem 0;
    margin: 0;
}

.header.small .wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.header.small .wrapper .logo {
    display: block;
    height: 2rem;
    margin-right: .5rem;
}

.header.small .wrapper .title {
    display: none;
}


.header.small .wrapper .description {
    display: none;
}

.header .wrapper .viewer-title {
    display: block;
}

.header.small .wrapper .btn-loadfile {
    display: block;
}


/* MAIN */

.main {
    width: 100%;
    height: 100%;
    overflow: scroll;
    position: relative;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.main::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.main {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

.section {
    display: none;
}

.section.visible {
    display: block;
}

/* SECTION : loadfile */

.section.loadfile .wrapper {
    width: 100%;
    height: 100%;
    min-height: 200px;
    max-height: 300px;

    border-radius: 1rem;
    border: 2px dashed var(--sec);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5rem;
}

.section.loadfile .wrapper .btn-loadfile {
    font-size: 1.5rem;
}

/* VIEWER */
.section.viewer .wrapper {
    width: 100%;
    max-width: none;
    display: flex;
    justify-content: center;
    position: relative;
}

.pdf-viewer-overlay {
    display: none;
    position: absolute;
    cursor: crosshair;
}

.pdf-viewer-overlay.active {
    display: block;
}

.pdf-viewer,
.pdf-viewer-overlay {
    margin-inline: auto;
    overflow: scroll;
    /* overflow: hidden; */
}

/* SIGN */
.section.sign {
    z-index: 3;
    position: absolute;
    width: 100vw;
    height: 100vh;
}

.section.sign .wrapper {
    width: 100%;
    height: 100%;
    max-width: none;
    display: flex;
    position: relative;
}

.section.sign .wrapper .signpad {
    z-index: 1;
    width: 200px;
    height: 500px;
    margin-inline: auto;
    background: blue;
}

.section.sign .wrapper .signpad-backdrop {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000a;
}

/* FOOTER */

.footer {
    width: 100%;
    height: fit-content;
    padding: 1rem 0;
    /* min-height: 2rem; */
    margin-top: auto;
    background-color: var(--black);
}

.footer .wrapper {
    display: flex;
    justify-content: space-between;
}

.footer .btn {
    width: 3rem;
    height: 3rem;
    border-radius: .5rem;
}

.footer .page-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.footer .page-nav .btn {
    border: none;
    border-radius: 2rem;
}

.footer .page-nav .btn:hover {
    background-color: #fff2;
}

.footer .btn-select-zone {}

.footer .btn-select-zone.active {
    background: var(--white);
    color: var(--black);
}

/* COMPONENTS */

/* TYPOGRAPHIE */

h1 span,
h2 span,
h3 span,
h4 span,
h5 span {
    color: var(--accent);
}

/* BUTTONS */
.btn {
    padding: .6rem .6rem;

    border-radius: .5rem;
    border: 1px solid var(--sec);
    color: var(--white);
    background: none;

    cursor: pointer;
}

.btn:hover {
    opacity: .8;
}

.btn:active {
    background-color: var(--white);
    color: var(--black);
}

.btn.cta {
    background-color: var(--accent);
    border-color: var(--accent);
}