/* TODO change 1s to 10s again */

body {
    font-family: sans-serif;
}

a {
    text-decoration: none;
    color: black;
    text-shadow: 1px 1px #a0a0a0;
}

a:hover {
    text-shadow: 1px 1px #FFFFFF;
}

td, th
{
    font-size: 20px;
}

li {
    padding-left: 15px;
}

.impress-enabled .step.present { opacity: 1 }

/* TODO: remember to enable this */
.impress-enabled .step.future { opacity: 0 }

.unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none;
}

.theorem {
    border-left-style: solid;
    border-left-width: 4px;
    border-left-color: #5F5F5F;
    padding-left: 20px;
}

.fallback-message {
    font-family: sans-serif;
    line-height: 1.3;

    width: 780px;
    padding: 10px 10px 0;
    margin: 20px auto;

    border: 1px solid #E4C652;
    border-radius: 10px;
    background: #EEDC94;
}

.impress-supported .fallback-message {
    display: none;
}

#animation-step {
    position: relative;
    width: 1000px;
    padding: 40px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing:    border-box;
    -ms-box-sizing:     border-box;
    -o-box-sizing:      border-box;
    box-sizing:         border-box;

    font-size: 40px;
    line-height: 1.2;
    height: 800px;
}

#animation-window {
}

.bottom {
    position: absolute;
    bottom: 0;
    left: 0;
}

.step {
    position: relative;
    width: 1000px;
    padding: 40px;
    margin: 20px auto;

    -webkit-box-sizing: border-box;
    -moz-box-sizing:    border-box;
    -ms-box-sizing:     border-box;
    -o-box-sizing:      border-box;
    box-sizing:         border-box;

    font-size: 40px;
    line-height: 1.2;
}

.impress-enabled .step {
    margin: 0;
    /*opacity: 0.8;*/

    -webkit-transition: opacity 0.5s;
    -moz-transition:    opacity 0.5s;
    -ms-transition:     opacity 0.5s;
    -o-transition:      opacity 0.5s;
    transition:         opacity 0.5s;
}

.example {
    padding: 40px;
    margin: 20px auto;
    border: 1px solid #ccc;
    border-radius: 16px;
    overflow: hidden;
    background-color: #eee;
}

.impress-enabled .example {
    max-height: 0px;
    opacity: 0;

    -webkit-transition: max-height 0.7s;
    -moz-transition:    max-height 0.7s;
    -ms-transition:     max-height 0.7s;
    -o-transition:      max-height 0.7s;
    transition:         max-height 0.7s;
}

.impress-enabled .example.active { 
    max-height: 1000px;
    opacity: 0.95;
    -webkit-transition: all 0.7s;
    -moz-transition:    all 0.7s;
    -ms-transition:     all 0.7s;
    -o-transition:      all 0.7s;
    transition:         all 0.7s;
}

.impress-enabled .example.past { 
    max-height: 0px;
    opacity: 0;
    -webkit-transition: max-height 0.7s;
    -moz-transition:    max-height 0.7s;
    -ms-transition:     max-height 0.7s;
    -o-transition:      max-height 0.7s;
    transition:         max-height 0.7s;
}


.example .left {
    width: 60%;
}


.left {
    font-size: 36px;
    display: inline-block;
    width: 64%;
    vertical-align: text-top;
}

.right {
    font-size: 36px;
    display: inline-block;
    width: 27%;
    vertical-align: text-top;
}

#DeMorganMonoids.past { 
    opacity: 1;
}

.simple-proof {
    height: 800px;
}

/* pictures */

.lattice line,circle,text,path, .algebra line,circle,text,path {
    stroke: rgb(0,0,0);
    fill: rgb(0,0,0);
}

.lattice circle {
    stroke-width: 2;
    r: 10;
}

.algebra circle {
    stroke-width: 2;
    r: 5;
}

.lattice ellipse, .algebra ellipse {
    stroke: rgb(0,0,0);
    stroke-width: 2;
    fill: none;
}

.lattice line, path, .algebra line,path {
    stroke-width: 2;
}

.dmm-lattice {
    position: relative;
    width: 600;
    height: 700;
    margin: 175 175;
}

.Rt-lattice {
    position: relative;
    margin: 175 175;
    width: 600;
    height: 700;
}

.vertical {
    writing-mode:tb-rl;
    white-space:nowrap;
    display:block;
    bottom:0;
    width: 170px;
    height: 635px;
}

#aal {
    opacity: 0.15;
    font-size: 300px;
}

#aal.future {
    opacity: 0;
    font-size: 300px;
}

/* effects */

.appear {
    opacity: 0;
    transition-property: opacity;
    transition-delay:  2s;
}

.present .appear, .past .appear {
    opacity: 1;
}

.disappear {
    transition-property: opacity 1s;
}

.past .disappear {
    opacity: 0;
}

/* lattices explanation */

#lattices line {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    -webkit-transition: stroke-dashoffset 2s linear;
    -moz-transition:    stroke-dashoffset 2s linear;
    -ms-transition:     stroke-dashoffset 2s linear;
    -o-transition:      stroke-dashoffset 2s linear;
    transition:         stroke-dashoffset 2s linear;
}

#lattices.present line, #lattice.past line {
    stroke-dashoffset: 0;
}

/* example flip */
#example-lattice {
    transform-origin: 200px 280px;
    transition: transform 2s linear;
}

.present #example-lattice {
    transform: scale(1,-1);
}


