/*
    ####################################################################
        INDEX PAGE STYLING:
    ####################################################################
*/

.horizontal_list {
    width: 50%;
    margin: auto;
    display: flex;
}

ul.front_page_list {
    margin: 2rem auto;
    padding: 1rem;
    background-color: #F7F7F7;
    border-radius: 10px;
    border: 2px solid darkslategrey;
}

li.front_page_list_item {
    display: block;
    padding: 1rem;
    text-align: left;
    font-size: large;
}

li.front_page_list_item:hover {
    background-color: #E7E7E7;
    border-color: darkslategray;
    border-width: 2px;
}

a {
    text-decoration: none;
    text-decoration: underline;
    color: black;
}

a:visited {
    color: black;
    text-decoration: underline;
}

/*
    ####################################################################
        GENERAL STYLINGS:
    ####################################################################
*/

canvas {
    width: 64rem;
    height: 36rem;
    margin: 2rem auto;
    display: block;
    border: 2px gray solid;
    border-radius: 10px;
    box-shadow: 10px 10px 20px #AAAAAA;
}

h3.description {
    margin: 4rem auto 1rem;
    text-align: center;
    width: 75rem;
}

p.description {
    text-align: center;
    margin: 0 auto;
    width: 75rem;
}

ol.description {
    margin: 0 auto;
    width: 75rem;
}

button.loneTopButton {
    display: block;
    margin: 2rem auto;
}

nav {
    background-color: #F7F7F7;
}

.nav_outer_list {
    font-size: large;
    list-style-type: none;
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
}

.nav_outer_list_item {
    position: relative;
    margin: 10px 0rem;
    padding: 0 6rem;
}

.nav_inner_list {
    list-style-type: none;
    border: 1px solid gray;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    display: none;
    padding: 0;
    margin: 0;
    background-color: white;
    width: 100%;
}

.nav_inner_list_item {
    border: 1px solid gray;
    padding: 0.5rem;
}

.nav_inner_list_item:hover {
    background-color: #E7E7E7;
    transition: background-color 0.4s ease;
    border-color: darkslategray;
    border-width: 2px;
}

/*
    ####################################################################
        SPECIAL STYLING FOR THE SEPARATE ANIMATIONS:
    ####################################################################
*/


/*
    BRIDGE --------------------------------------------------------------
*/

/*
    CLUSTERING ----------------------------------------------------------
*/

/*
    CONVEXHULL ---------------------------------------------------------
*/

#convexhull_menu {
    display: block;
    margin: 2rem auto;
    width: 30%;
}

#convexhull_buttonContainer1 {
    display: inline-block;
    width: 32%;
}

#convexhull_buttonContainer2 {
    display: inline-block;
    width: 32%;
    border-right: 1px solid gray;
    border-left: 1px solid gray;
}

#convexhull_buttonContainer3 {
    display: inline-block;
    width: 32%;
}

#convexhull_pauseButton {
    display: block;
    margin: auto;
    padding: 5px;
    border-radius: 15px;
    background-color: #F7F7F7;
    transition-duration: 0.4s;
}

#convexhull_pauseButton:hover {
    background-color: #DDDDDD;
}

#convexhull_pauseButton:focus {
    outline: none;
}

#convexhull_restartButton {
    display: block;
    margin: auto;
    padding: 5px;
    border-radius: 15px;
    background-color: #F7F7F7;
    transition-duration: 0.4s;
}

#convexhull_restartButton:hover {
    background-color: #DDDDDD;
}

#convexhull_restartButton:focus {
    outline: none;
}

#convexhull_newButton {
    display: block;
    margin-left: 2rem;
    padding: 5px;
    border-radius: 15px;
    background-color: #F7F7F7;
    transition-duration: 0.4s;
}

#convexhull_newButton:hover {
    background-color: #DDDDDD;
}

#convexhull_newButton:focus {
    outline: none;
}

/*
    ROTATING CALIPERS ---------------------------------------------------------
*/

#rotatingcalipers_menu {
    display: block;
    margin: 2rem auto;
    width: 30%;
}

#rotatingcalipers_buttonContainer1 {
    display: inline-block;
    width: 49%;
}

#rotatingcalipers_buttonContainer3 {
    display: inline-block;
    width: 49%;
}

#rotatingcalipers_pauseButton {
    display: block;
    margin: auto;
    padding: 5px;
    border-radius: 15px;
    background-color: #F7F7F7;
    transition-duration: 0.4s;
}

#rotatingcalipers_pauseButton:hover {
    background-color: #DDDDDD;
}

#rotatingcalipers_restartButton {
    display: block;
    margin: auto;
    padding: 5px;
    border-radius: 15px;
    background-color: #F7F7F7;
    transition-duration: 0.4s;
}

#rotatingcalipers_restartButton:hover {
    background-color: #DDDDDD;
}

#rotatingcalipers_restartButton:focus {
    outline: none;
}

#rotatingcalipers_newButton {
    display: block;
    margin-left: 3rem;
    padding: 5px;
    border-radius: 15px;
    background-color: #F7F7F7;
    transition-duration: 0.4s;
}

#rotatingcalipers_newButton:hover {
    background-color: #DDDDDD;
}

#rotatingcalipers_newButton:focus {
    outline: none;
}


/*
    GRAVITYVECTORFIELD -------------------------------------------------
*/

/*
    HEXAGONALLABYRINTH -------------------------------------------------
*/

#hexagonallabyrinth_table {
    width: 50rem;
    margin: auto;
}

#hexagonallabyrinth_desc {
    width: 49%;
    display: inline-block;
    margin: auto;
    text-align: center;
    vertical-align: top;
}

/*
    LIGHTSOURCE --------------------------------------------------------
*/

/*
    MST ----------------------------------------------------------------
*/

/*
    ORBIT --------------------------------------------------------------
*/

/*
    PI -----------------------------------------------------------------
*/

#PI_canvas {
    width: 36rem;
}

#PI_body {
    text-align: center;
}

/*
    TRAVELLING SALESMAN ------------------------------------------------
*/

/*
    SUFFIX TREE ------------------------------------------------
*/

#suffix_input_container {
    width: 25%;
    margin: auto;
}

/*
    WAVE EQUATION ---------------------------------------------------------
*/

/*
The pixels were blurry by default
https://stackoverflow.com/questions/42588501/how-do-i-fix-blurry-shape-edges-in-html5-canvas
some css taken from here
*/
#waveequationcanvas {
    width: 36rem;
    height: 36rem;
    image-rendering: -moz-crisp-edges;
    image-rendering: -webkit-crisp-edges;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}
