*, .swal-text {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 20px;
    line-height: 28px;
}

body {
    text-align: center;
    background: #fff;
    color: #1F2421;
    margin-bottom: 40px;
    overflow-x: hidden;
}

a {
    font-weight: bold;
    color: #1F2421;
}

body.no-margin {
    margin-bottom: 10px;
}

span {
    display: inline-block;
}

span.title {
    margin-top: 20px;
}

.blip-button {
    border: 1px solid #000;
    background: transparent;
    padding: 5px 20px;
    height: 44px;
    cursor: pointer;
    outline: none;
    font-size: 16px;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
    color: #1F2421;
    background: linear-gradient(170deg, yellow 0%, gold 50%, red 100%);
    font-weight: normal;
    border-width: 0px;
    transition: all 0.3s;
    display: none;
}

.blip-button:hover {
    background: linear-gradient(170deg, lightyellow 0%, yellow 50%, gold 100%);
}

.blip-button:focus {
    outline: none;
    position: relative;
    top: 2px;
}

.blip-button:disabled {
    cursor: auto;
    border-color: #ccc;
    color: #aaa;
    background: linear-gradient(170deg, #555,#333, #000);
    box-shadow: none;
}

.swal-button {
    border: 2px solid #000;
    color: #000;
    background: #eee;
    padding: 5px 20px;
    border-radius: 16px;
    height: 44px;
    cursor: pointer;
    outline: none !important;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
}

.mintButton {
    margin-top: 25px;
}

.mintButton button {
    margin: 0;
}

#mintRandom {
    color: #1F2421;
}

span.original {
    display: none;
    margin: 0 0 0 10px;
    line-height: 10px;
    background: #00BF8F;
    background: orange;
    color: #fff;
    font-size: 12px;
    height: 12px;
    padding: 6px 8px 5px 8px;
    position: relative;
    top: -3px;
    border-radius: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

span.creator {
    margin: 0;
}

span.sibling {
    margin: 10px 0 0 0;
    padding: 1px 15px;
    background: #00BF8F;
    height: 28px;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    border-radius: 19px;
}

span.supply {
    display: block;
    margin: 10px 0 0 0;
    font-weight: bold;
}

svg {
    border-radius: 4px 4px 0px 0px;
    display: block;
    margin-bottom: 5px;
}

.parents {
    margin-top: 25px;
}

.parent {
    display: inline-block;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border-radius: 4px;
    padding-top: 5px;
}

.parent.plus {
    box-sizing: border-box;
    padding-top: 2px;
}

_::-webkit-full-page-media, _:future, :root .parent.plus {
    position: relative;
    top: -16px;
}

.parent svg, .parent img {
    width: 32px;
    height: 32px;
    box-shadow: none;
    border: 2px solid #000;
    display: inline-block !important;
}

body:not(.crafting) .parent svg, body:not(.crafting) .parent img {
    cursor: pointer;
}

div.item.large .parent {
    width: 60px;
    height: 60px;
}

div.item.large .parent.plus {
    padding-top: 12px;
}


div.item.large .parent svg, div.item.large .parent img {
    width: 50px;
    height: 50px;
}

#canvas, #canvas2 {
    background: black;
}

#container {
    display: none;
}

#container.visible {
    display: block;
}

p {
    word-break: break-all;
}

p.info {
    max-width: 800px;
    margin: auto;
    text-align: left;
    word-break: normal;
    word-wrap: break-word;
    margin-bottom: 28px;
}

p.info.count {
    text-align: center;
    background: rgba(0, 0, 0, 0.1);
    padding: 10px;
}

p.info.center {
    text-align: center;
    margin-top: 100px;
    margin-bottom: 48px; 
}

p#status {
    margin-bottom: 38px;
}

hr {
    margin-top: 100px;
}

h1 {
    font-family: 'Bowlby One SC', sans-serif;
    text-transform: uppercase;
    margin-top: 200px;
    font-size: 100px;
    margin-bottom: 80px;
    text-transform: uppercase;
    line-height: auto;
}

h2, .swal-title {
    color: #000;
    margin-top: 50px;
    font-size: 32px;
}

h2 {
    font-size: 64px; 
    line-height: 52px;
    margin-bottom: 10px;
}

h3 {
    font-size: 36px;
    margin-top: 100px;
}

h4 {
    font-size: 24px;
}

/* h3:nth-of-type(1) {
    margin-top: 100px;
} */

#colorInfo {
    max-width: 800px;
    margin: 50px auto 0 auto;
}

div.item {
    width: 320px;
    height: 620px;
    display: inline-block;
    margin: 10px;
    background: #1F2421;
    color: #E8F7EE;
    vertical-align: top;
    border-radius: 4px 4px 16px 16px;
    box-sizing: border-box;
    transition: transform 0.2s;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
}

div.item.large {
    width: 900px;
    height: 480px;
    margin-top: 140px;
    background: none;
    box-shadow: none;
}

div.item.mobile-first {
    margin-top: 100px;
}

div.item.large svg {
    float: left;
    width: 480px;
    height: 480px;
    border-radius: 4px;
}

@keyframes card-rotate {
    0% { 
        transform: perspective(60px) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    } 25% { 
        transform: perspective(60px) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0.5deg);
    } 50% {
        transform: perspective(60px) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    } 75% {
        transform: perspective(60px) translate3d(0, 0, 0) rotate3d(0, 1, 0, -0.5deg);
    } 100% {
        transform: perspective(60px) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); 
    }
}

.item.original span.title {
    color: orange;
}

div.item.large {
    width: 900px;
    height: 480px;
    margin-top: 140px;
    background: none;
    box-shadow: none;
    color: #1F2421;
    cursor: default;
    font-size: 24px;
}

div.item.large span, div.item.large div {
    font-size: 24px;
}

body:not(.crafting) .item:not(.large) {
    cursor: pointer;
}

.crafting .item.original {
    cursor: grab;
}

.crafting .item.original:hover {
    transform: translate3d(0, -8px, 0);
}

.explain {
    margin-top: 100px;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.15);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

.explain img {
    width: 100%;
    /* max-width: 960px; */
    height: auto;
    border: none;
}

img.header {
    margin: 0 auto;
    max-width: 1400px;
    width: 100%;
}

.explain-small {
    margin-top: 100px;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.15);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
    overflow: hidden;
}

.explain-small img {
    width: 100%;
    max-width: 960px;
    height: auto;
}

#filter {
    margin-bottom: 20px;
}

#filter a {
    display: inline-block;
    padding: 0 20px 0 20px;
    margin: 10px 0 10px 0;
    text-decoration: none;
    color: rgba(0, 0, 0, 0.25);
}

#filter a.active {
    color: #1F2421;
}

#filter a:hover {
    color: rgba(0, 0, 0, 0.5);
}

#filter a:hover.active {
    color: #1F2421;
}

#creators {
    display: none;
}

#creators.visible {
    display: block;
}

.spinner {
    width: 40px;
    height: 40px;
    background-color: #1F2421;

    margin: 50px auto;
    -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
    animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
    0% { -webkit-transform: perspective(120px) }
    50% { -webkit-transform: perspective(120px) rotateY(180deg) }
    100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes sk-rotateplane {
    0% { 
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
    } 50% { 
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
    } 100% { 
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}

.swal-modal {
    border-radius: 16px;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.3);
    box-sizing: content-box;
    width: 400px;
    max-width: calc(100% - 40px);
}

.swal-overlay {
    background: rgba(255, 255, 255, 0.7);
}

.swal-text {
    margin-left: 40px;
    margin-right: 40px;
}

#crafting div {
    display: inline-block;
}

#crafting div input {
    display: block;
    width: 40px;
}

#crafting .rendering {
    width: 160px;
    height: 160px;
    box-shadow: 0px 0 10px rgba(0, 0, 0, 0.3);
    border: 2px dashed #000;;
    border-radius: 4px;
    box-sizing: border-box;
    overflow: hidden;
}

#crafting #blit-outcome .rendering {
    border: 2px solid #000;
    background: #aaa;
}

#crafting .rendering.filled {
    border: 2px dashed rgba(0, 0, 0, 0);
    border: none !important;
}

#crafting {
    z-index: 1000;
    position: fixed;
    background: #fff;
    margin-left: 50%;
    left: -400px;
    width: 800px;
    box-sizing: border-box;
    padding: 30px 20px 30px 20px;
    border-radius: 16px;
    bottom: -500px;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.3);
    transition: bottom 0.35s ease;
}

#crafting.visible {
    bottom: 50px;
}

#crafting h2 {
    margin: 0 0 10px 0;
    font-size: 24px;
}

#crafting p.instructions {
    margin: 0; 
    font-size: 16px;
    margin-bottom: 30px;
}

#crafting #plus {
    display: inline-block;
    color: #000;
    text-decoration: none;
    width: 40px;
    position: relative;
    bottom: 75px;
    border-radius: 4px;
    height: 39px;
    box-sizing: border-box;
    padding-top: 5px;
    margin: 0 10px 0 10px;
}

#crafting #plus:hover {
    background: #ddd;
}

#crafting #equals {
    width: 40px;
    position: relative;
    bottom: 75px;
    margin: 0 10px 0 10px;
}

#crafting #close-crafting {
    display: block;
    position: absolute;
    top: 0px;
    margin: 0;
    right: 0px;
    font-size: 48px;
    color: #ccc;
    text-decoration: none;
    padding: 20px;
}

#crafting #close-crafting:hover {
    color: #000;
}

#extra-nav {
    position: absolute;
    top: 40px;
    left: 30px;
    z-index: 1000;
    display: inline-block;   
}

#extra-nav a, #account a {
    color: #1F2421;
    display: inline-block;
    padding: 0 10px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 8px;
}

#account a {
    background: rgba(127, 255, 168, 1);
    padding: 10px 20px;
    margin-left: 10px;
}

#extra-nav a:hover {
    text-decoration: none;
}

#account {
    position: fixed;
    display: inline-block;
    z-index: 1000;
    top: 30px;
    right: 40px;
    font-size: 12px;
}

#randomize {
    display: none;
    background: white;
    box-shadow: none;
    text-decoration: underline;
}

.mobile-buttons {
    display: none;
}

@media only screen and (max-width: 600px) {

    #extra-nav {
        left: 10px;
        display: none;
    }

    #account {
        right: 10px;
        display: none;
    }

    #extra-nav a, #account a {
        font-size: 16px;
    }

    p.info.center {
        margin-top: 50px;
        font-size: 16px;
    }

    p.info.center a {
        font-size: 16px !important;
        margin: 0px !important;
        display: block !important;
        margin: 20px !important;
    }

    h1 {
        margin-top: 80px;
        margin-bottom: 40px;
        font-size: 48px;
    }

    h2 {
        font-size: 36px;
        margin-top: 25px;
    }
    
    h3 {
        margin-top: 0;
        font-size: 36px;
        line-height: 36px;
    }

    h3:not(:first-child) {
        margin-top: 50px;
    }

    h1.lesser-margin {
        margin-top: 100px;
    }

    #crafting {
        /* bottom: 0px; */
        width: 100%;
        left: 0px;
        margin-left: 0px;
        overflow: hidden;
    }

    #crafting.visible {
        bottom: 0px;
    }

    #crafting #plus, #crafting #equals, #crafting #blit-a, #crafting #blit-b, #crafting .instructions {
        display: none;
    }

    #mint-sibling {
        font-size: 13px
    }

    #randomize {
        display: inline-block;
        margin-top: 10px;
    }

    img.header {
        max-width: 100%;
    }

    .explain-small {
        margin-top: 100px;
    }

    .mobile-buttons {
        display: block;
    }
}

#randomize.visible {
    display: inline-block;
}

#withdraw {
    display: none;
    padding: 5px 10px;
    color: #000;
    text-decoration: none; 
    border: 2px solid #000;
    margin-right: 5px;
    background: #fff;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.3);
}

#withdraw.visible {
    display: inline-block;
}

#connect-wallet {
    display: inline-block;
    padding: 5px 10px;
    color: #000;
    text-decoration: none;
    border: 2px solid #000;
    background: #fff;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.3);
}

#opensea, .opensea, .button {
    display: inline-block;
    padding: 10px 20px;
    color: #000;
    text-decoration: none;
    /* box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.3); */
    font-size: 24px;
    border-radius: 8px;
    background: rgba(127, 255, 168, 1);
    margin: 0 10px 10px 10px;
}

.button {
    background: #eee;
}
