:root {
    font-size: 16px;
    box-sizing: border-box;
}

*, ::before, ::after {
    box-sizing: inherit;
}

* + * {
    margin-top: 1.5em
}

body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    overflow: hidden;
}

.container {
    padding: 3.8vmax 10vmax;
    background-image: linear-gradient(0.40turn, #00FFFF, #FF00FF);
    min-height: 100vh;
}
.row {
    clear: left;
    display: flex;
    align-items: stretch;
}

.column-3 {
    width: 25%;
}

.column-9 {
    width: calc(75% - 2em);
}

.sidebar {
    float: left;
}

.content {
    float: left;
}

.sidebar {
    text-align: center;
}

.clearfix::before, .clearfix::after {
    display: table;
    content: "";
}

.clearfix::after {
    clear: both;
}

h1 {
    font-size: 1em;
    background-color: #ddd;
    padding: .5em;
    width: 50%;
    margin-left: 25%;
    border-radius: 1em;
}

.sidebar {
    padding: .5em;
    background-color: #fff;
    border-radius: .5em;
    margin-right: 2em;
}

.sidebar img {
    width: 7em;
    border-radius: 5em;
    margin-top: 1em;
}

.sidebar > h4 > i {
    margin-right: .5em;
}

.status {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    padding: .5em 0;
    background-color: #06d6a0;
    border-radius: 1em;
}
li {
    list-style: none;
    position: relative;
    left: -15px;
}

li:hover {
    cursor: pointer;
    transform: scale(1.25);
    transition: .25s;    
}

li.active {
    font-weight: 700;
}

.links img {
    width: 1.5em;
    border-radius: 0;
    margin-left: 2.5px;
    margin-right: 2.5px;
}

.content {
    background-color: #fff;
    border-radius: .5em;
    margin-top: 0;
    padding: 1.5em;

}

.title {
    font-size: 2em;
    margin-bottom: .2em;
}

.description {
    background-color: rgba(238, 238, 238, .6);
    padding: 1em;
    border-radius: .5em;
}

.flex-container {
    display: flex;
    flex-flow: row wrap;
}

.flex-container > .item {
    flex: 0 1 calc(50% - 4em);
    margin: 2em;
    background-color: #fff;
    padding: 1.5em;
    display: flex;
    align-content: flex-start;
}


.flex-container > .item > i {
    color: #0096c7;
    font-size: 2em;
    align-self: flex-start;
}

.flex-container > .item > div {
    margin: 0;
    margin-left: 1em;
}

.flex-container > .item > div > h3, .flex-container > .item > div > p {
    margin: 0;
}

.big-h3 {
    font-size: 1.5rem;
}

.introduction {
    margin-top: 0;
}

.total {
    height: 1em;
    background-color: #ddd;
}

.cv .actual {
    background-image: linear-gradient(0.40turn, #00FFFF, #FF00FF);
}
.total-diploma .animate {
    animation: diploma .5s linear;
}

.total-english .animate {
    animation: pet .55s linear;
}

.diploma {
    width: 74%;
    height: 1em;
}

.english {
    width: 90%;
    height: 1em;
}

.skills {
    display: flex;
    justify-content: space-around;
}
.skills > .item {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.skills > .item > i {
    font-size: 4rem;
}

.html {
    color: #f06529;
}

.act-html {
    background-color: #f06529;
}

.css {
    color: #2965f1;
}

.act-css {
    background-color: #2965f1;
}

.js {
    color: #f0db4f;
}

.act-js {
    background-color: #f0db4f;
}

.php {
    color: #8993be;
}

.act-php {
    background-color: #8993be;
}

.skills > .item > .total {
    height: 60vh;
    width: 50px;
}

.total {
    display: flex;
}
.actual {
    display: flex;
    justify-content: center;
}

.total-html > .actual {
    height: 90%;
    width: 100%;
    align-self: flex-end;
}

.total-html > .animate {
    animation: html .5s linear;
}

.total-css > .actual {
    height: 80%;
    width: 100%;
    align-self: flex-end;
}

.total-css > .animate {
    animation: css .5s linear;
}

.total-js > .actual {
    height: 75%;
    width: 100%;
    align-self: flex-end;
}

.total-js > .animate {
    animation: js .5s linear;
}

.total-php > .actual {
    height: 50%;
    width: 100%;
    align-self: flex-end;
}

.total-php > .animate {
    animation: php .5s linear;
}
.actual > span {
    align-self: center;
    color: white;
}

.sidebar-button {
    display: none;
    font-size: 3rem;
}

.sidebar-close {
    text-align: left;
    font-size: 3rem;
    display: none;
    margin: .3em .5em;
}

.contacts {
    background-color: #010449;
    color: white;
    padding: 1em;
    border-radius: .5em;
}

.contacts li {
    cursor: default;
}
.contacts > .form {
    display: flex;
    justify-content: center;
    width: 40%;
    margin: 0 auto;
    border-radius: .5em;
    padding: 1em;
}
.contacts > form > label {
    display: block;
}

input {
    margin-top: 5px;
    border-radius: .5em;
    border: 2px solid #25cc87;
    background-color: transparent;
    color: white;
    width: 30vw;
}

input:focus {
    outline: 0px solid red;
}

label > span {
    display: block;
    margin-top: 5px;
}

label > input, textarea {
    background-color: transparent;
    border: none;
    border: 1px solid #25cc87;
    margin-top: 5px;
    color: white;
    outline: 0px solid red;
}

input[type="submit"] {
    display: block;
    padding: 1em 2em;
    text-transform: uppercase;
}

input[type="submit"]:hover {
    cursor: pointer;
    color: white;
    background-color: #25cc87;
}

.contacts > .form div {
    position: relative;
    top: -200px;
}

.form button {
    display: block;
    color: white;
    background-color: #25cc87;
    border-radius: 1em;
    padding: .5em 1em;
    outline: 0px solid red;
    cursor: pointer;
    border: none;
}

.alert {
    display: block;
    padding: .5em 1em;
    background-color: #ff5f56;
    border-radius: .5em;
}

.form > form > div > .buttons {
    width: 30vw;
    position: relative;
    top: 0;
    display: flex;
    justify-content: flex-end;
}
@keyframes diploma {
    0% {
        width: 0;
        height: 1em;
    }
    100% {
       width: 74%;
       height: 1em;
    }
}

@keyframes pet {
    0% {
        width: 0;
        height: 1em;
    }
    100% {
       width: 90%;
       height: 1em;
    }
}

@keyframes html {
    0% {
        height: 0;
    }
    100% {
       height: 90%
    }
}

@keyframes css {
    0% {
        height: 0;
    }
    100% {
       height: 80%
    }
}

@keyframes js {
    0% {
        height: 0;
    }
    100% {
       height: 75%
    }
}

@keyframes php {
    0% {
        height: 0;
    }
    100% {
       height: 50%
    }
}

@media (max-width: 767px) {
    body {
      overflow: auto;
    }
    .container {
        padding: 1em 2em;
        width: 100vw;
    }
    .sidebar {
        display: none;
        margin: 0;
    }
    .content {
      width: 100%;
    }
    .content > home {
        width: 100%;
        padding: 0;
    }
    .content  .home > p, .content > .home .item {
      margin: 2em 0;
    }

    .content > .home .item {
      margin-left: auto;
      margin-right: auto;
    }

    .description {
      padding: 1em .2em;
    }
    .sidebar-button, .sidebar-close {
        display:  block;
    }
    .skills > .item {
      width: 10vw;
    }
    .skills  > .item > .php {
        font-size: 2.5rem;
        margin: .75rem 0;
    }
    .content .home > .title {
      margin: 0;
      padding: 1em;
    }
    .contacts > .form {
        width: 100%;
        margin: 0;
    }
    .contacts .form label {
        position: relative;
        left: 10px;
    }
    .contacts .form textarea {
        width: 90%;
    }
    .contacts .form input[type="submit"] {
        position: relative;
        left: 10px;
    }
    .contacts li {
        display: none;
    }
    .form {
        position: relative;
        top: 200px;
    }
    .form button {
        position: relative;
        left: 5px;
    }
    .flex-container > .item > div > h3 {
        margin-bottom: 10px;
    }
    .big-h3 {
        padding-left: 20px;
    }
    .status {
        width: 60%;
        padding: .5em
    }
}

@media (max-width: 900px) {
     .status {
        width: 60%;
        padding: .5em
    }
}

@media (min-width: 767px) and (max-width: 1024px) {
    h1 {
        width: 60%;
        position: relative;
        left: -5px;
    }
    .contacts ul {
        display: none;
    }
    .form > form {
        position: relative;
        top: 200px;
    }
}
