/* GENERAL */
:root {
    --color_Dark1: #1e1e1e;
    --sidebar_width: 350px;
    --sidebar_width_closed: 50px;
    --right_panel_width: calc(--sidebar_width / 2);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    /*background-color: lightblue;*/
    /*display: flex;*/
    /*justify-content: center;*/
    /*position: relative;*/
    /*font-family: "Artifakt Element", sans-serif;*/
    background-color: var(--color_Dark1);
    font-size: 1rem;
    height: 100vh;
}

.main {
    position: relative;
    min-height: 100vh;
    border: solid grey; /* to be removed*/
    background-color: cadetblue;
    left: var(--sidebar_width);
    /*width: calc(100% - var(--sidebar_width));*/
    width: calc(100% - 1.5 *var(--sidebar_width));
    transition: all .5s ease;
    font-family: "Artifakt Element", sans-serif;
    /*font-family: 'math', sans-serif;*/
}

.sidebar.close ~.main {
    left: var(--sidebar_width_closed);
    width: calc(100% - var(--sidebar_width_closed) - 0.5 * var(--sidebar_width));
}

h3 {
    /*font-family: cursive;*/
    color: darkmagenta;
    background-color: burlywood;
    padding: 3px 10px 8px;
    display: inline-block;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: 600;
    font-size: 1.2rem;
    font-family: 'Poppins', sans-serif;
}

/* PROBLEM USER-PROMP SECTION */
.problem {
    border-bottom: 2px solid black;
}

.problem__question-prompt {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;

    background-color: burlywood;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 10px;
    margin-bottom: 1.5rem;
}

.problem__question {
    padding: 1rem;
    border-radius: 16px;
    background-color: #bccbe9;
    width: 90%;
    margin-top: 1.5rem;
}

.problem__question p {
    margin: 0 1rem;
    line-height: 2rem;
    align-self: start;
}

.problem__holder {
    margin: 1.5rem 3rem 0 3rem;
    position: relative;
}

.problem__holder .level-index {
    position: absolute;
    right: 0;
}

.problem__multiple-choices {
    margin: 1rem 3rem 0;
}

.problem__multiple-choices ol li {
    padding: 6px;
}

.problem__answer-form {
    margin-bottom: 1.5rem;
}

.problem__answer-form input, button {
    padding: 0.3rem 0.8rem;
    border-radius: 5px;
    border: none;
    font-size: 1rem;
    background-color: aliceblue;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3);
    transition: background-color 0.4s ease;
}

.problem__answer-form label {
    font-size: 1rem;
}

.problem__answer-form .fa-check {
    margin-left: 0.5rem;
}

.problem__answer-form input {
    max-width: 10rem;
}

.problem__answer-form input:hover, button:hover {
    background-color: lightgrey;
}

.problem__answer-form .user-answer::placeholder {
    color: brown;
    opacity: 0.5;
    font-weight: bold;
}

.problem__answer-form img {
    vertical-align: middle;
    margin-left: 0.5rem;
}

.problem__input-error {
    display: none;
    color: red;
    margin-top: 1rem;
}

/* SOLUTION TIPS SECTION */
.solution-tips {
    /*border: 1px solid red;*/
    margin-top: 1.5rem;
    /*padding-bottom: 0.5rem;*/
    border-bottom: 2px solid black;
}

.solution-tips_holder {
    margin-left: 3rem;
    /*border: 1px solid red;*/
}

.solution-tips__content-holder {
    margin-top: 0;
    margin-bottom: 1.5rem;
    margin-right: 3rem;
    background-color: burlywood;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    /*background-image: url('/resource/images/notepad-transparent-background-3.png');*/
    background-repeat: no-repeat;
    background-size: 100% 96%;
    background-position: center;
    /*border: 1px solid blue*/
    /*height: 600px;*/
    /*overflow-y: auto;*/

    max-height: 1000px;
}

.solution-tips__content{
    /*background-color: transparent;*/
    /*padding: 1rem 2rem 3rem;*/
    /*border-radius: 10px;*/
    /*color: #333;*/
    /*display: none;*/
    /*font-size: 1rem;*/
    /*margin: 0 2rem 1.5rem 7rem;*/
    /*width: 80%;*/
    /*line-height: 2rem;*/

    background-color: transparent;
    display: none;
    padding: 1rem 2rem 1rem;
    line-height: 2.5rem;
}

.solution-tips__content > div{
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    padding-top: 2rem;
}

/*.solution-tips__content p {*/
/*    text-indent: 30px;*/
/*}*/

.solution-tips__content ol {
    line-height: 2rem;
    list-style-type: square;
    margin: 1rem 1.5rem 1rem 2rem;
}

.solution-tips__content ol li {
    margin-bottom: 1rem;
}

/* SOLUTION DETAILS */
.solution-details {
    border-bottom: 2px solid black;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}
.solution-details__holder {
    /*border: solid blue;*/
    margin-left: 3rem;
    margin-top: 1rem;
    visibility: visible;  /* SET THIS TO HIDDEN */
}

.solution-details__short-answer {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem 2rem;
    align-items: center;
    margin-right: 3rem;
    background-color: burlywood;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.solution-details__short-answer-wrapper {
    display: flex;
    gap: 1rem;
}

#solution-details__short-answer {
    background-color: #bccbe9;
    padding: 0 1rem;
    border-radius: 12px;
}

.solution-details__short-answer-wrapper img {
    height: 32px;
    align-self: center;
}

/*
.solution-details__short-answer__table {
    margin: 2rem;
}
.solution-details__short-answer__table > tbody > tr > td {
    border-style: hidden;
    padding-right: 0.5rem;
}

.solution-details__short-answer__table > tbody > tr > td:nth-child(2) {
    background-color: #bccbe9;
    border-radius: 10px;
    padding: 0 1.5rem;
}

.solution-details__short-answer__table > tbody > tr > td:last-child {
    padding-left: 1rem;
}
*/

.solution-details__details-holder {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}

.solution-details__steps-holder {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: burlywood;
    margin-right: 3rem;
}

.solution-details__steps {
    display: flex;
    flex-direction: column;
    margin: 0 2rem;
    padding: 1.5rem 0;           /* edited May 16 2024, Jul 10, 24 */
}

.solution-details__steps div > * {
    /*margin-left: 1rem;*/
}

.solution-details__steps div .steps-title {
    margin-left: 0;
}

.solution-details__steps p {
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
    line-height: 2rem;
}

/* BUTTONS/ICONS */
.fa-check {
    font-size: 1.5rem;
    color: green;
}

.collapse-btn {
    width: 1.4rem;
    height: 1.4rem;
    padding: 0.6rem;
    position: relative;
    transform: rotate(90deg);
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0.3);
}

.tip-btn {
    transform: rotate(0deg);
}

.fa-greater-than {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.greater-than-btn {
    display: flex;
    align-items: center;
}

.greater-than-btn h3 {
    margin-left: 10px;
}

.next-btn-holder {
    display: none;
    text-align: center;
    position: fixed;
    top: 50vh;
    right: 0;
    transform: translateY(-50%);
    transition: transform 0.5s ease-in-out;
}

#next-btn {
    font-size: 1.5rem;
    padding: 6px 10px;
    border-top-left-radius: 15px;
    background-color: lightpink;
}

#next-btn:hover {
    background-color: #DB7093;
    transition: transform 0.4s ease;
}

/*
.next-button {
    display: none;
    text-align: center;
    position: fixed;
    top: 50vh;
    right: 10%;
    transform: translateY(-50%);
    transition: transform 0.5s ease-in-out;
}
*/

/* FLYOUT-BOX ANIMATIONS */
.flyout-box {
    width: 15rem;
    height: 20rem;
    position: absolute;
    margin: 0;
    top: 50vh;
    left: 50vw;
    animation: cartoon 3s 1;
    transform: translate3d(-100vw, -50%, 0) scale(1, 1) rotate(360deg);
    animation-play-state: paused; /* edited May 16 2024 */
}

.flyout-box img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}

@keyframes cartoon{
    0% {
        transform: translate3d(-100vw, -50%, 0) scale(0.2, 0.2) rotate(360deg);
    }
    30% {
        transform: translate3d(-50%, -50%, 0) scale(0.5, 0.5) rotate(0deg);
    }
    50% {
        transform: translate3d(-50%, -50%, 0) scale(1.2, 1.2) rotate(0deg);
    }
    70% {
        transform: translate3d(-50%, -50%, 0) scale(0.5, 0.5) rotate(0deg);
    }
    100% {
        transform: translate3d(-100vw, -50%, 0) scale(0.2, 0.2) rotate(360deg);
    }
}

/* Illustrative User-input Instruction Examples (ON-OFF) */
.problem__input-instructions {
    display: none;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    margin-left: 3rem;
}

.problem__input-instructions ul, .sol-comments ul {
    list-style: square;
    margin-left: 0;
    padding-left: 40px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.problem__input-instructions ul li, .sol-comments ul li {
    padding-bottom: 10px;
}

.problem__examples-table {
    text-align: left;
    border-collapse: collapse;
    background-color: #f6f6f6;
    min-width: 400px;
    font-size: 0.8rem;
    margin: 1rem 2rem 1.5rem;
}

.problem__examples-holder {
    position: relative;
}

.problem__examples-holder img {
    position: absolute;
    top: 1px;
    left: -0.1rem;
    z-index: 1;
    background-color: darkgrey;
}

/* new */
.tips-heading {
    /*background-color: #0096FF;*/
    background-image: linear-gradient(to right, #0096ff, lightblue);
    padding: 5px 8px;
    border-radius: 4px
}

.tips-title {
    margin-top: 1.5rem;
}

.steps-heading {
    background-image: linear-gradient(to right, darkgray, lightgray);
    padding: 6px 10px;
    font-size: large;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 4px 4px 4px gray;
}

.steps-title {
    margin-top: 0.5rem;
}

.final-answer {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    align-items: center;
}

.final-answer span {
    padding: 8px;
    background-color: lightgreen;
    box-shadow: 4px 4px 4px black;
}

.block-label {
    font-weight: 700;
    padding: 1px 8px;
    margin-bottom: 10px;
    border-bottom: 2px solid gray;
}

.problem__answer-form--input-error {
    display: none;
    color: red;
    margin-bottom: 1.5rem;
    margin-left: 1rem;
}

/* media responsiveness */
@media screen and (max-width: 1400px) {
    .main {
        position: relative;
        left: var(--sidebar_width);
        width: calc(100%  - var(--sidebar_width) - var(--sidebar_width_closed));
    }

    .sidebar.close ~ .main {
        left: var(--sidebar_width_closed);
        /*width: calc(100% - 2 * var(--sidebar_width_closed));*/
    }
}

@media screen and (max-width: 1200px) {
    .main {
        position: relative;
        left: var(--sidebar_width_closed);
        width: calc(100%  - 2 * var(--sidebar_width_closed));
    }

    .sidebar.close ~ .main {
        width: calc(100% - 2 * var(--sidebar_width_closed));
    }
}

/* li numbers with circle
.list-circles {
    counter-reset: li;
    padding: 0;
    margin: 0;
    list-style: upper-alpha;
}

.list-circles li {
    list-style: none;
    margin: 1em 0;
    padding-left: 2.25em;
    position: relative;
}

.list-circles li::after {
    counter-increment: li;
    content: counter(li, lower-greek);
    position: absolute;
    font-size: 0.9em;
    left: 0;
    font-weight: 600;
    top: -0.25em;
    width: 1.75em;
    height: 1.75em;
    background-color: #fff;
    color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
*/

/*
 may not be in use
.sol-check h3 {
    border: none;
    border-bottom-style: double;
    background-color: transparent;
    color: salmon;
    margin-left: 3rem;
}
.solution-details__details-holder h4 {
    margin-bottom: 1.5rem;
    text-align: center;
    border-bottom: 1px solid white;
}

.check-detail {
    display: flex;
    justify-content: space-evenly;
}

.check-detail p {
    border: 1px solid red;
    padding: 10px;
}

.sol1, .sol2 {
    text-align: center;
}

.fa-circle-check {
    color: green;
    font-weight: 500;
    display: none;
}

.fa-circle-xmark {
    color: red;
    font-weight: 500;
    display: none;
}
*/