:root {
    word-spacing: .4em;
    --r-heading-color: #236B8E;
    --r-link-color: #236B8E;
    /* --r-link-color-dark: #00003f; */
    /* --r-link-color-hover: #0000f1; */
    --r-heading4-size: 1.3em;
    --r-heading-font: "CMU Serif";
    --r-main-font: "CMU Serif";
}

li::marker{
    color: #236B8E;
}

video {
    display: block;
}

h3 {
    color: #236B8E;
}

.reveal .progress {
    height: 0.3em;
}

.definition, .theorem {
    position: relative;
}
.definition::before, .theorem::before, .recall::before {
    position: absolute;
    left: -2em;
    top: -2em;
    color: #236B8E;
}

.definition::before {
    content: "Definition";
}

.theorem::before {
    content: "Theorem";
}

.recall::before {
    content: "Recall";
}


.remove-before::before {
    opacity: 1.0;
    transition: opacity 1s;
}

section.present .remove-before::before {
    opacity: 0.0;
}


.highlight-ul {
    position: relative;
}

.highlight-ul::after {
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    top: 1.35em;
    width: 100%;
    height: .4em;
    background: #699C52;
}


strong {
    position: relative;
}
strong::after{
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    top: 1.35em;
    width: 100%;
    height: .4em;
    background: #CF5044;
    transition: transform .4s ease-in-out;
    transform: scaleX(0);
}


li:not(:first-child){
    padding-top: 2em;
}
li:last-child{
    padding-bottom: 2em;
}

p {
    text-align: left;
}

.popup {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 2em;
    box-sizing: border-box;
    transform: translateY(150%);
    background: rgba(255, 255, 255, .7);
}

.popup::before {
    content: "";
    position: absolute;
    width: 200vw;
    height: 200vh;
    top: 0;
    left: -20vw;
    backdrop-filter: blur(.3em) opacity(1);
}

.popup.current-fragment {
    transform: none;
}

.videopopup {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    transform: translateY(200%);
    transition: transform 2s;
}

.videopopup-up
{
    transform: translateY(0%);
}

.indicate-ul {
    position: relative;
}

.indicate-ul::after{
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    top: 1.35em;
    width: 100%;
    height: .4em;
    background: #699C52;
    transition: transform .4s ease-in-out;
    transform: scaleX(0);
}


.visible > strong::after,
.visible > .indicate-ul::after, .after-scale-x-1::after,
.visible  .indicate-ul-deep.indicate-ul::after,
.visible .visible  .indicate-ul-deep-deep.indicate-ul::after
{
    transform: scaleX(1);
}

.indicate-animate {
    animation-name: indicate;
    animation-duration: .5s;
    animation-iteration-count: 2;
    animation-direction: alternate;
    display: inline-block;
}

@keyframes indicate{
    to {
	color: #FFFF00;
	transform: scale(1.2);
    }
}

.footnote {
    opacity: .6;
    position: fixed;
    bottom: 0%;
    font-size: .6rem;
    text-align: left;
}

*:has(#definition-weak-newton-diff-div.visible)>ol {
    opacity: 0.0;
    transition: opacity 1s;
}

.after-far::after {
    top: 1.35em;
}

#thm-kantorovich-old::before,
#thm-kantorovich::before,
#thm-kantorovich-2::before {
    content: "Theorem (Kantorovich)"
}

#modified-newton-ol>li:not(:first-child){
    padding-top: .7em;
}

h4 {
    text-align: left;
    /* transform: translateX(-2em); */
}

#def-newton-linear-constrained-def {
    opacity: 1.0 !important;
}

.constraints_explained_video {
    transform: translate(-150%);
}

.smaller-space-li>li:not(:first-child){
    padding-top: 1em;
}
#smaller-space-li>li:last-child{
    padding-bottom: 1em;
}

#plot-inequality-constrained-norm,
#plot-inequality-constrained-quad,
#plot-equality-constrained-norm ,
#plot-equality-constrained-rosenbrock {
    display: inline-block;
    height: 100vh;
    width: 50vw;
    position: fixed;
    padding-top: 2em;
}

#plot-inequality-constrained-quad,
#plot-equality-constrained-norm {
    transform: translateX(-75%);
}


.theorem.before-transparent::before {
    opacity: 1.0;
    transition: 1s opacity;
}

.present .theorem.before-transparent::before {
    opacity: 0.0;
}

.make-visible::before {
    opacity: 0.0;
    transition: 1s opacity;
}

.present .make-visible::before {
    opacity: 1.0;
}

h5 {
    text-align: left;
}
