.upload-container {
    box-sizing: border-box;
    text-align: center;
    width: calc(100% - 20px);
    max-width: 600px;
    background-color: white;
    margin: 10px auto;
    padding: 0px 10px 10px 10px;
    position: relative;
    border: 1px solid #aaa;
}
.upload-container h2 {
    font-weight: lighter;
    font-size: 24px;
    padding-top: 20px;
}
.upload-container p {
    max-width: 350px;
    margin: 10px auto;
}
.url-box {
    display: flex;
    justify-content: center;
}
.url-input {
    max-width: 40%;
    padding: 4px;
    margin-top: -5px;
}
.url-box button {
    margin-top: -5px;
    background-color: #167ac6;
    color: white;
    border: none;
}
.url-box button:hover {
    background-color: #169ae6;
    cursor: pointer;
}
.upload-button {
    background-color: #167ac6;
    font-size: 13px;
    display: block;
    margin: auto;
    width: 320px;
    max-width: calc(100% - 20px);
}
.familysearch-button {
    background-color: #2b8643;
    width: 336px;
    max-width: calc(100% - 4px);
    margin-bottom: 10px;
}
.upload-button, .familysearch-button {
    text-transform: uppercase;
    color: white;
    font-weight:;
    padding: 8px;
    margin-top: 8px;
    border: none;
}
.upload-button:hover {
    background-color: #169ae6;
    cursor: pointer;
}
.familysearch-button:hover {
    background-color: #3ba663;
    cursor: pointer;
}

@keyframes filterIn{
    from { filter: grayscale(0%) invert(0%) blur(0px); }
}

.filtered-image1, .filtered-image2 {
    position: absolute;
    width: auto;
    max-width: 100%;
    max-height: 300px;
    left: 50%;
    transform: translateX(-50%);
    top: 0px;
    animation:  filterIn 3s;
}
.image-container {
    display: block;
    position: relative;
    width: auto;
    max-width: calc(100% - 10px);
    left: 50%;
    transform: translateX(-50%);
    background-color: transparent;
    overflow-y: auto;
    max-height: 300px;
    
}
.range-sliders {
    padding: 15px;
    margin: 0 auto;
    max-width: 100%;
}
.range-sliders div {
    border: 1px solid black;
    align-items: center;
    justify-content: center;
}
.photo-button {
    padding: 8px;
    border-radius: 0px;
    text-transform: uppercase;
    color: white;
    background-color: #167ac6;
    border: none;
    display: block;
    margin: auto auto 8px auto;
    width: 350px;
    max-width: 100%;
}
.photo-button:hover {
    background-color: #169ae6;
    cursor: pointer;
}
.images-wrapper {
    display: grid;
    grid-gap: 0px;
    position: relative;
    grid-template-columns: [col1-start] 220px  [col2-start] calc(100% - 240px);
    grid-template-rows: [row1-start] auto [row2-start] auto [row3-start] auto;
    border: 1px solid #aaa;
    margin: 5px auto;
    min-height: 200px;
    background-color: #f9f9f9;
    padding: 6px 0;
}
.color-box {
    background-color: #f9f9f9;
    border-radius: 0px;
    padding: 20px;
    font-size: 18px;
    padding: 0;
    min-width: 200px;
}
.color-box img {
    position: absolute;
    width: 200px;
    height: 200px;
    left: 6px;
}
.color-box button {
    width: calc(100% - 16px);
    height: 32px;
    text-transform: uppercase;
    color: white;
    background-color: #167ac6;
    padding: 8px;
    border: none;
    margin-top: 12px;
}
.color-box button:hover {
    background-color: #169ae6;
    cursor: pointer;
}
.left {
    grid-column: col1-start / col2-end;
    grid-row: row1-start / row4-end;
    padding: 0px;
}
.top-right {
    grid-column: col2-start ;
    grid-row: row1-start;
    text-align: center;
    padding-top: 10px;
}
.middle-top-right {
    grid-column: col2-start;
    grid-row: row2-start ;
    text-align: center;
}
.middle-bottom-right {
    grid-column: col2-start;
    grid-row: row3-start ;
    text-align: center;
}
.bottom-right {
    grid-column: col2-start;
    grid-row: row4-start;
    text-align: center;
}
.select {
    position: absolute;
    top: 0px;
    right: 0px;
    border: 1px solid black;
    line-height: 14px;
    padding: 2px;
    width: 13px;
    background-color: white;
}
.select:hover {
    background-color: green;
    color: white;
    cursor: pointer;
}
.is-selected {
    background-color: #00aa66;
    color: white;
}
.remove {
    position: absolute;
    top: 21px;
    right: 0px;
    border: 1px solid black;
    line-height: 14px;
    padding: 2px;
    width: 13px;
    background-color: white;
}
.remove:hover {
    background-color: red;
    color: white;
    cursor: pointer;
}

.coloring-action-shell {
	width: 336px;
    height: 32px;
    display: flex;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    top: 8px;
    margin-bottom: 8px;
    z-index: 99;
    max-width: calc(100% - 4px);
}

.coloring-action-shell button {
	box-sizing: border-box;
    margin: 0;
    display: inline-block;
    background-color: #2b8643;
    color: white;
    border: none;
    padding: 8px;
}

.coloring-action-shell button:hover {
	background-color: #3ba663;
    cursor: pointer;
}

.coloring-action-button {
	width: calc(100% - 30px);
    height: 100%;
}

.dropdown-action-button {
	width: 30px;
    height: 100%;
}

.action-dropdown {
	position: absolute;
    width: 180px;
    right: 0;
    top: 34px;
    background-color: #f5f5f5;
    border: 1px solid #aaa;
    font-family: arial;
}

.action-dropdown a:first-child {
	display: block;
    text-align: center;
    padding: 3px;
}

@keyframes growUp { 
  	from { height: 0px; } 
}

.generations-select {
	display: block;
    width: 100%;
    padding: 4px;
    padding-right: 7px;
    box-sizing: border-box;
    font-size: 16px;
    text-align: right;
}

.generations-select:hover {
	background-color: #3bc683;
    cursor: pointer;
    color: white;
}

.generations-selected {
	color: white;
    background-color: #2b8643 !important;
}

.coloring-modal {
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    text-align: center;
    margin: auto;
    border: 1px solid #aaa;
    background-color: #f5f5f5;
    z-index: 999;
}

.coloring-modal canvas {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid #aaa;
}

.color-selection-box {
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #aaa;
    width: 300px;
    position: absolute;
    left: 20px;
    top: 20px;
    background-color: #f5f5f5;
}
.color-selection-box span {
    display: block;
    margin: 15px auto;
}
.color-selection-box input {
    width: 100%;
}
 .color-selection-box {
    /*background-color: transparent;*/
    border-radius: 2px;
 }
 .color-selection-box button {
     display: block;
     padding: 8px;
     border: none;
     color: white;
     text-transform: uppercase;
     width: 100%;
     box-sizing: border-box;
     background-color: #006666;
     margin: 15px auto;
 }
 .color-selection-box button:hover {
     cursor: pointer;
     background-color: #118888;
 }

 .selected-brush {
     border: 2px solid gold !important;
 }

 .coloring-modal-options {
    position: absolute;
    left: 4px;
    top: 4px;
    border: 1px solid;
    border-radius: 2px;
    font-weight: bold;
    width: 30px;
    height: 30px;
    height: 30px;
    font-size: 30px;
    line-height: 31px;
    z-index: 999;
    background-color: #ddd;
    box-shadow: 2px 2px 2px #aaa;
 }
 .coloring-modal-options:hover {
    cursor: pointer;
    background-color: #ccc;
 }