/* reset */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
svg,
hr {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

html {
    box-sizing: border-box;
}

*,
*::after,
*::before {
    box-sizing: inherit;
}

/* CSS defaults */

:root {
    font-size: 62.5%;
    --color-bg: white;
    --color-text-main: rgb(33, 33, 33);
    --color-text-secondary: #c6b7ad;
    --color-primary: #7e9688;
    --color-tertiary: #7096a7;
    --wrapper-height: 87vh;
    --image-max-width: 300px;
    --image-margin: 3rem;
    --font-family: "IBM Plex Sans", serif;
    --font-family-header: "IBM Plex Serif", serif;
}

@media (prefers-color-scheme: dark) {
    :root {
        --color-bg: #1f1f1f;
        --color-text-main: #e3e3e3;
        --color-text-secondary: #999;
        --color-primary: #ffe5g4;
        --wrapper-height: 87vh;
        --image-max-width: 300px;
        --image-margin: 3rem;
    }
}

/* page style resets */
* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

a {
    color: var(--color-text-main);
}

body {
    font-family: var(--font-family);
    background-color: var(--color-bg);
    font-size: 1.8rem;
    line-height: 1.7em;
    color: var(--color-text-main);
}

h1 {
    font-family: var(--font-family-header);
    font-size: 1.3em;
    font-weight: bold;
}

h2 {
    font-size: 1.114em;
    margin-top: 0.25em;
    line-height: 1em;
    color: var(--color-text-main);
}

.content {
    max-width: 660px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.call-to-action {
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.4em;
    text-align: center;
    margin-bottom: 2.4rem;
    margin-top: 25%;
}

.text {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

@media only screen and (min-width: 500px) {
    body {
        font-size: 1.8rem;
        line-height: 1.7em;
    }

    h1 {
        font-size: 1.96rem;
    }

    h2 {
        font-size: 1.68rem;
    }

    .call-to-action {
        margin-top: 30%;
    }
}

/*#############################*/
/* FORM */
/*#############################*/

/* Remove outline of all elements on focus */
*:focus {
    outline: 0;
}

/* Add styles to 'container' class */
.form-container {
    padding: 12px 24px 24px 24px;
    margin: 0 auto;
    padding: 10rem 2rem;
    /* background: #e3f2fd; */
    border-radius: 4px;
    max-width: 600px;
}

/* Add styles to 'label' selector */
label {
    font-size: 0.85em;
    margin-left: 12px;
}

/* Add styles to 'input' and 'textarea' selectors */
input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    margin-top: 6px;
    margin-bottom: 16px;
    resize: vertical;
}

/* Add styles to show 'focus' of selector */
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border: 1px solid green;
}

/* Add styles to the submit button */
input[type="submit"] {
    background: #64b5f6;
    margin: 0 auto;
    outline: 0;
    color: white;
    border: 0;
    padding: 12px 24px;
    border-radius: 4px;
    transition: all ease-in-out 0.1s;
    position: relative;
    display: inline-block;
    text-align: center;
}

/* Add styles for 'focus' property */
input[type="submit"]:focus {
    background: #a5d6a7;
    color: whitesmoke;
}

/* Style 'hover' property */
input[type="submit"]:hover {
    background: #2196f3;
}

/* Align items to center of the 'div' with the class 'center' */
.center {
    text-align: center;
}

.form-container > h1 {
    font-size: 4rem;
    text-align: center;
    margin-bottom: 1rem;
}
