@font-face {
    font-family: 'Roboto';
    src: url('Roboto-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'RobotoMedium';
    src: url('Roboto-Medium.ttf') format('truetype');
}

html {
    background: #EAEAEA;
}

body, body * {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    overflow: hidden;
}

body #content {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    -moz-transition: top 0.5s ease-in;
    -webkit-transition: top 0.5s ease-in;
    transition: top 0.5s ease-in;
}

body #likes {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 80%;
    -moz-transition: top 0.5s ease-in;
    -webkit-transition: top 0.5s ease-in;
    transition: top 0.5s ease-in;
    background: #EEEEEE;
}

body.boy #likes {
    border-bottom: 1px solid #98BFCD;
}

body.girl #likes {
    border-bottom: 1px solid #E69DA8;
}

body #likes ul {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

body #likes ul li {
    position: relative;
    padding: 0 12px;
    font-size: 20px;
    line-height: 40px;
    height: 40px;
    font-family: 'RobotoMedium', sans-serif;
    background: #EEEEEE;
    text-align: center;
}

body #likes ul li:nth-child(odd) {
    background: #EAEAEA;

}

body #likes ul li.boy {
    color: #ADD8E6;
}

body #likes ul li.girl {
    color: #FFB6C1;
}

#name,
#good,
#bad {
    position: absolute;
}

#name {
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    font-size: 200px;
    color: #FFFFFF;
    overflow: hidden;
    display: table;
    width: 100%;
    -moz-transition: background 0.5s ease-in;
    -webkit-transition: background 0.5s ease-in;
    transition: background 0.5s ease-in;
    background: #FFFFFF;
}

#name.boy {
    background: #ADD8E6;
}

#name.girl {
    background: #FFB6C1;
}

#name .name-box {
    display: table-row;
    width: 100%;
    height: 100%;
}

#name .name-box > div {
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    opacity: 1;
    -moz-transition: opacity 0.5s ease-in;
    -webkit-transition: opacity 0.5s ease-in;
    transition: opacity 0.5s ease-in;
}

#name .name-box > div .lastname {
    -moz-transition: opacity 0.25s ease-in;
    -webkit-transition: opacity 0.25s ease-in;
    transition: opacity 0.25s ease-in;
}

#name .name-box > div .lastname:hover {
    opacity: 0.3;
}

#name .name-box > div .divider::after {
    content: ' ';
}

#name.changing-name .name-box > div {
    opacity: 0;
}

#name.theming {
    display: block;
    white-space: nowrap;
    overflow: auto;
}

#name.theming .name-box {
    display: block;
    width: auto;
    height: auto;
    overflow: scroll;
    float: left;
}

#name.theming .name-box > div {
    display: block;
    width: auto;
    height: auto;
    overflow: scroll;
    float: left;
}

#country {
    position: absolute;
    z-index: 1;
    right: 24px;
    bottom: 15px;
    max-width: -webkit-calc(100% - 48px);
    max-width: -moz-calc(100% - 48px);
    max-width: calc(100% - 48px);
    font-size: 48px;
    line-height: 60px;
    color: rgba(255, 255, 255, 0.5);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#heart {
    position: absolute;
    z-index: 1;
    left: 24px;
    bottom: 24px;
    width: 24px;
    height: 24px;
    -moz-transition: opacity 0.5s ease-in;
    -webkit-transition: opacity 0.5s ease-in;
    transition: opacity 0.5s ease-in;
}

#heart > div {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    -moz-transition: opacity 0.5s ease-in;
    -webkit-transition: opacity 0.5s ease-in;
    transition: opacity 0.5s ease-in;
}

#heart svg {
    width: 100%;
    height: 100%;
    fill: red;
}

#heart.empty {
    opacity: 0.1;
}

#heart.full {
    opacity: 0.5;
}

#heart.empty > div.empty {
    opacity: 1;
}

#heart.empty > div.full {
    opacity: 0;
}

#heart.full > div.full {
    opacity: 1;
}

#heart.full > div.empty {
    opacity: 0;
}

#description {
    position: absolute;
    z-index: 1;
    left: 24px;
    top: 20px;
    max-width: 50%;
    font-size: 24px;
    line-height: 30px;
    color: rgba(255, 255, 255, 0.5);
    text-align: justify;
    height: 25%;
    overflow: hidden;
}

#description.theming {
    overflow: auto;
    height: auto;
}

body.likes #content {
    top: 80%;
}

@media screen and (max-width: 480px) {
    #name .name-box > div .divider::after {
        content: ' ';
        clear: both;
        display: block;
    }

    #name .name-box > div {
        line-height: 1.5em;
    }

    #country {
        bottom: 20px;
        font-size: 24px;
        line-height: 30px;
        left: 72px;
        text-align: right;
    }

    #description {
        max-width: -webkit-calc(100% - 48px);
        max-width: -moz-calc(100% - 48px);
        max-width: calc(100% - 48px);
        top: 18px;
        font-size: 18px;
        line-height: 22.5px;
    }

    body.webapp #description {
        top: 38px;
    }

    body.webapp #likes {
        top: 20px;
        height: -webkit-calc(80% - 20px);
        height: -moz-calc(80% - 20px);
        height: calc(80% - 20px);
    }
}