/*  ===============================================
/*  jokesforkids.com
/*  author: Ronnie Fisher - iamronfish.com
/*  app.css
/*  26-01-26
/*  ============================================ */

/*  ===============================================
/*  0.  Globals
/*  1.  Grid
/*  2.  Typography
/*  3.  Components
/*  4.  Buttons
/*  5.  Animations
/*  ============================================ */

/*  ===============================================
    0.  Globals
/*  ============================================ */

* {
    padding: 0;
    margin: 0;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    border: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    padding-block-start: 0;
    padding-block-end: 0;
    box-sizing: border-box;
    float:left;
}

:root {
    --color-theme-main: #292929;
    --color-theme-secondary: #ffde6e;
    --color-theme-text: #e6e6e6;
    --color-theme-border: #525252;

    --padding-max: 40px;
}

body {
    background: var(--color-theme-main) url('../images/background.svg') repeat;
    background-size: 31.2837px 28.6773px;
    color: var(--color-theme-text);
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 13px;
    line-height: 20px;
}

.flex {
    display: flex;
}

.flex.centre {
    justify-content: center;
    align-items: center;
}

.flex.right {
    justify-content: right;
    align-items: center;
}

.flex.left {
    justify-content: left;
    align-items: center;
}

.hide {
    display: none;
}


/*  ===============================================
/*  1.  Grid
/*  ============================================ */

@media only screen and (min-width:200px) {

    .one-column,
    .two-columns,
    .three-columns,
    .four-columns,
    .five-columns,
    .six-columns,
    .seven-columns,
    .eight-cxolumns,
    .nine-columns,
    .ten-columns,
    .eleven-columns,
    .twelve-columns {
        width: 100%;
    }
}

@media only screen and (min-width:768px) {
    .one-column {
        width: 8.333%;
    }

    .two-columns {
        width: 16.666%;
    }

    .three-columns {
        width: 25%;
    }

    .four-columns {
        width: 33.333%;
    }

    .five-columns {
        width: 41.666%;
    }

    .six-columns {
        width: 50%;
    }

    .seven-columns {
        width: 58.333%;
    }

    .eight-columns {
        width: 66.666%;
    }

    .nine-columns {
        width: 74.999%;
    }

    .ten-columns {
        width: 83.333%;
    }

    .eleven-columns {
        width: 91.666%;
    }

    .twelve-columns {
        width: 100%;
    }
}

/*  ===============================================
/*  2.  Typography
/*  ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    font-style: normal;
}

.poppins-thin {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: normal;
}

.poppins-extralight {
    font-family: "Poppins", sans-serif;
    font-weight: 200;
    font-style: normal;
}

.poppins-light {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.poppins-regular {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.poppins-medium {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.poppins-semibold {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.poppins-bold {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.poppins-extrabold {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: normal;
}

.poppins-black {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.poppins-thin-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: italic;
}

.poppins-extralight-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 200;
    font-style: italic;
}

.poppins-light-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.poppins-regular-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.poppins-medium-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: italic;
}

.poppins-semibold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: italic;
}

.poppins-bold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: italic;
}

.poppins-extrabold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: italic;
}

.poppins-black-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-style: italic;
}


/*  ===============================================
/*  3.  Components
/*  ============================================ */

.header {
    height: 80px;
    text-align: center;
    border-bottom: 1px solid var(--color-theme-border);
    position:fixed;
    background:var(--color-theme-main);
    z-index:1;
}
.header img   {
    width:70px;
    height:auto;
}

.hero {
    padding: var(--padding-max);
    margin:70px 0 0 0;
}

.hero h1 {
    text-align: center;
    margin: 0 0 10px 0;
    font-size:1.3em;
}

.hero p {
    text-align: center;
}

.trunk {
    padding: 0 calc(var(--padding-max) / 2);
}

.trunk .inner {
    max-width: 700px;
}

.joke {
    padding: calc(var(--padding-max) * 1.4) var(--padding-max) var(--padding-max) var(--padding-max);
    border-radius: 10px;
    background: var(--color-theme-main);
    border: 1px solid var(--color-theme-border);
    margin: 20px 0 20px 0;
}

.joke .question,
.joke .answer {
    margin: 0 0 20px 0;
}

.joke .thinking-icon    {
    position: absolute;
    top:0px;
    left:0;
    height:80px;
}
.joke .thinking-icon .icon  {
    top:-40px;
    width:80px;
    height:80px;
}

.joke .question {
    font-size:1.5em;
    line-height:1.5em;
    font-weight: 700;
    font-style: normal;
}

.joke .answer {
    font-size:1.5em;
    line-height:1.5em;
    font-weight: 700;
    font-style: normal;
    color:var(--color-theme-secondary);
}

.rate-wrapper   {
    margin:20px 0 0 0;
}
.rate   {
    height:40px;
    margin:10px 0 0 0;
}
.rate .n    {
    float:left;
    width:40px;
    border:1px solid var(--color-theme-border);
    border-radius:20px;
}
.rate .n    {
    margin:0 5px 0 0;
}
.rate .n:last-child {
    margin:0;
}
.rate .n:hover  {
    background:var(--color-theme-border);
}

.download-wrapper   {
    margin:20px 0 0 0;
}
.download .button    {
    margin:10px 0 0 0;
    border:1px solid var(--color-theme-border);
}
.download .button:hover {
    background: var(--color-theme-border);
}

.pagination {}

.footer {
    padding: var(--padding-max);
    margin:20px 0 0 0;
}
.footer .inner  {
    max-width:700px;
}

.footer .six-columns    {
    margin:0 0 30px 0;
}

.footer p.title   {
    color:var(--color-theme-secondary);
    font-size:1em;
    margin:0 0 10px 0;
}

.footer ul li {
    list-style-type: none;
    margin:0 0 5px 0;
}
.footer ul li::marker {
    display: none;
}
.footer ul li a {
    color:inherit;
    text-decoration: none;
}


/*  ===============================================
/*  4.  Buttons
/*  ============================================ */

.button {
    height: 40px;
    border-radius: 5px;
    cursor: pointer;
    font-weight:700;
}

.button.reveal {
    color: #fff;
    background: var(--color-theme-secondary);
    color:var(--color-theme-main);
    transform: scale(1);
    transform-origin: center center;
    animation: bulge 3s ease infinite forwards;
}

.button.next {
    border: 1px solid var(--color-theme-border);
    background: var(--color-theme-main);
    height:50px;
}
.button.next:hover  {
    background:var(--color-theme-secondary);
    color:var(--color-theme-main);
}

/*  ===============================================
/*  5.  Animation
/*  ============================================ */

@keyframes bulge {
    0%      {transform: scale(0.97)}
    50%     {transform: scale(1)}
    100%    {transform: scale(0.97)}
}