.fadeInS {
    -webkit-animation: fadein .3s;
    -moz-animation: fadein .3s;
    -ms-animation: fadein .3s;
    -o-animation: fadein .3s;
    animation: fadein .3s
}

.fadeIn {
    -webkit-animation: fadein 1s;
    -moz-animation: fadein 1s;
    -ms-animation: fadein 1s;
    -o-animation: fadein 1s;
    animation: fadein 1s
}

.fadeInL {
    -webkit-animation: fadein 2s;
    -moz-animation: fadein 2s;
    -ms-animation: fadein 2s;
    -o-animation: fadein 2s;
    animation: fadein 2s
}

.fadeOut {
    -webkit-animation: fadeout 1s;
    -moz-animation: fadeout 1s;
    -ms-animation: fadeout 1s;
    -o-animation: fadeout 1s;
    animation: fadeout 1s
}

.fadeOutS {
    -webkit-animation: fadeout .3s;
    -moz-animation: fadeout .3s;
    -ms-animation: fadeout .3s;
    -o-animation: fadeout .3s;
    animation: fadeout .3s
}

.fadeOutL {
    -webkit-animation: fadeout 2s;
    -moz-animation: fadeout 2s;
    -ms-animation: fadeout 2s;
    -o-animation: fadeout 2s;
    animation: fadeout 2s
}

@keyframes typing {
    from {
        width: 0;
        opacity: 1
    }
    to {
        width: 100%;
        opacity: 1
    }
}

@keyframes blink-caret {
    from,
    to {
        border-color: transparent
    }
    50% {
        border-color: orange
    }
}

@keyframes pfadein {
    from {
        opacity: 0
    }
    to {
        opacity: .7
    }
}

@-webkit-keyframes pfadein {
    from {
        opacity: 0
    }
    to {
        opacity: .7
    }
}

@-moz-keyframes pfadein {
    from {
        opacity: 0
    }
    to {
        opacity: .7
    }
}

@-ms-keyframes pfadein {
    from {
        opacity: 0
    }
    to {
        opacity: .7
    }
}

@keyframes fadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-moz-keyframes fadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes fadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-ms-keyframes fadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-o-keyframes fadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-moz-keyframes fadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-webkit-keyframes fadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-ms-keyframes fadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-o-keyframes fadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0);
        opacity: 0
    }
    to {
        -moz-transform: rotate(720deg);
        opacity: 1
    }
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0);
        opacity: 0
    }
    to {
        -webkit-transform: rotate(720deg);
        opacity: 1
    }
}

@keyframes spin {
    from {
        transform: rotate(0);
        opacity: 0
    }
    to {
        transform: rotate(720deg);
        opacity: 1
    }
}

@keyframes HSFlipIn {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        -ms-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
    100% {
        -webkit-transform: perspective(400px) rotateX(0);
        -ms-transform: perspective(400px) rotateX(0);
        transform: perspective(400px) rotateX(0);
        opacity: 1
    }
}

@keyframes HSFlipOut {
    0% {
        -webkit-transform: perspective(400px) rotateX(0);
        -ms-transform: perspective(400px) rotateX(0);
        transform: perspective(400px) rotateX(0);
        opacity: 1
    }
    100% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        -ms-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }
}

@-webkit-keyframes HSTop {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, -200%);
        transform: translate(0, -200%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0 0)
    }
}

@-webkit-keyframes HSBottom {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 200%);
        transform: translate(0, 200%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0 0)
    }
}

@-webkit-keyframes HSLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate(-100%, 0);
        transform: translate(-100%, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0 0)
    }
}

@-webkit-keyframes HSRight {
    0% {
        opacity: 0;
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0 0)
    }
}

@font-face {
    font-family: icomoon;
    src: url(fonts/icomoon.ttf);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: nicomoon;
    src: url(fonts/icomoon/icomoon.eot?256es9);
    src: url(fonts/icomoon/icomoon.eot?256es9#iefix) format('embedded-opentype'), url(fonts/icomoon/icomoon.ttf?256es9) format('truetype'), url(fonts/icomoon/icomoon.woff?256es9) format('woff'), url(fonts/icomoon/icomoon.svg?256es9#icomoon) format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

body,
html {
    margin: 0;
    padding: 0;
    height: 100%
}

body {
    background: #e7e4dd;
    color: #4a453f;
    font-size: 16px
}

body,
button,
input,
select,
textarea {
    font-family: 'Montserrat', sans-serif;
}

body:before {
    content: "";
    display: block;
    position: absolute;
    left: 60px;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: .0431;
    z-index: 1
}

h1 {
    font-size: 4em;
    font-weight: 400
}

h2 {
    font-size: 2em
}

p {
    font-size: 1em
}

a {
    color: #000;
    text-decoration: none;
    font-weight: 700;
}

a:hover {
    text-decoration: underline !important
}

.bullet {
    color: #ff7f00;
    color: #7bbf6a;
    font-size: 1.3em
}

.button,
button {
    background: #aba37b;
    color: #222;
    line-height: 40px;
    min-width: 120px;
    cursor: pointer;
    border: none;
    outline: 0;
    border-radius: 8px;
    font-weight: bold;
    transition: background 0.3s ease, transform 0.2s ease;
}

.button:hover,
button:hover {
    background: #927b52;
    color: #fff;
    transform: scale(1.05);
}

*,
:after,
:before {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility
}

[class*=" nicon-"],
[class^=nicon-] {
    font-family: nicomoon !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

[class*=" icon-"],
[class^=icon-] {
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.alert-view-c {
    text-align: center;
    padding: 30px 20px;
    color: #000
}

.alert-view-c.hidden,
.hidden {
    display: none
}

.alert-view-c {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    z-index: 100;
    border-bottom: 2px solid #666;
    box-shadow: rgba(255, 255, 255, .06) 0 2px 6px 0;
    animation: fadein .5s ease-in-out 1 forwards
}

.alert-view {
    font-size: 20px;
    line-height: 130%
}

.alert-view i {
    margin-right: 10px
}

.table {
    display: table;
    width: 100%;
    height: 100%
}

.table_cell {
    display: table-cell;
    vertical-align: middle
}

.button,
.noselect,
.sly_ctrl.photo-slider-control div {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.acts_list_i {
    overflow: hidden;
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.sly_ctrl.photo-slider-control div.disabled {
    opacity: 0;
    visibility: hidden;
    cursor: pointer
}

.sly_ctrl.photo-slider-control div {
    font-size: 3em;
    font-weight: 700;
    cursor: pointer;
    color: #7bbf6a
}

.sly_ctrl.photo-slider-control div:hover {
    color: #000
}

.sly_ctrl.photo-slider-control .next {
    float: right
}

.sly_ctrl.photo-slider-control .prev {
    float: left
}

.sly_ctrl.photo-slider-control {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0
}

.slider .acts_list_ii {
    width: 100000px
}

.page_content {
    padding-left: 0px;
    width: auto;
    z-index: 2;
    position: relative;
    height: 100%;
    overflow-x: hidden
}

.page_content h1 {
    font-family: 'Dancing Script', cursive;
    text-align: right;
    padding: 0 5%;
    color: rgba(255, 255, 255, .8);
    position: fixed;
    right: 0;
    top: 5%;
    margin: 0;
    opacity: .3;
    animation: fadein 2.5s ease-in-out 1 forwards;
    line-height: 120%;
    z-index: 4;
    text-shadow: 0 0 20px #000
}

.page_content h1.about_title,
.page_content h1.contact_title,
.scrolled .page_content h1.portfolio_title,
.scrolled .page_content h1.skills_title {
    background-color: rgba(0, 0, 0, .35);
    padding-top: 15px;
    padding-bottom: 15px;
    margin-top: -15px;
    box-shadow: 0 0 20px rgba(0, 0, 0, .35)
}

.scrolled .page_content h1.portfolio_title,
.scrolled .page_content h1.skills_title {
    top: 15px;
    transition: all .3s ease-in
}

.side_menu {
    position: fixed;
    left: 0;
    top: 0;
    width: 60px;
    height: 100%;
    background: #181818;
    z-index: 3;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.logo>svg {
    max-width: 100%;
    max-height: 100%
}

.logo {
    background: #070707;
    display: block;
    padding: 8px 0;
    height: 64px;
    width: 60px
}

#nav_bar {
    display: block;
    text-align: center;
    margin-top: 10px
}

#nav_bar a {
    font-size: 20px;
    color: #909096;
    margin-bottom: 15px;
    display: block;
    line-height: 51px;
    height: 51px;
    position: relative;
    text-decoration: none
}

#nav_bar a.active,
#nav_bar a:hover {
    color: #7bbf6a
}

#nav_bar a:after {
    content: '';
    font-size: .55rem;
    position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    text-align: center;
    opacity: 0;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

#nav_bar a:first-child:after {
    content: 'HOME'
}

#nav_bar a:first-child+a:after {
    content: 'TERMS'
}

#nav_bar a:first-child+a+a:after {
    content: 'PRIVACY'
}

#nav_bar a:first-child+a+a+a:after {
    content: 'CONTACT'
}

.icon-hom:before {
    content: "\e904"
}

.icon-prof:before {
    content: "\e903"
}

.icon-gear:before {
    content: "\e901"
}

.icon-eye:before {
    content: "\e900";
    font-size: 17px
}

.icon-mail:before {
    content: "\e902";
    font-size: 18px
}

.nicon-warning:before {
    content: "\1f323"
}

.nicon-checkmark2:before {
    content: "\ea11"
}

.success-color {
    color: green
}

.alert-color {
    color: red
}

#nav_bar a:hover:after {
    opacity: 1
}

#nav_bar a:hover i {
    opacity: 0
}

.contact_page button {
    width: 100%;
    line-height: 60px
}

.contact_page button {
    font-size: 1.3rem
}

.contact_page button:hover {

}
.contact_page > div {
   background: #e7e4dd;
} 
.about_page_text,
.contact_page {
    height: 100%;
    width: 40%;
    
    min-width: 500px;
    z-index: 2;
    position: relative;
    animation: HSLeft .5s ease-in-out 1 forwards
}

.simple_page.about_page,
.simple_page.portfolio_page {
    padding: 0;
    position: relative
}

.simple_page.about_page {
    height: 100%;
    overflow: hidden
}

#menuFieldsContainer select,
#contactForm input:not([type=checkbox]),
#contactForm select,
#contactForm textarea {
    line-height: 60px;
    background-color: rgba(255, 255, 255, .01);
    border: 1px solid #666;
    width: 100%;
    text-indent: 10px;
    font-size: 1.2em;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 8px;
}
#menu {
    cursor: pointer;
}

#menuFieldsContainer select {
    float: right;
    max-width: 400px;
    margin-left: 50px;
}

#menuFieldsContainer label,
#menuFieldsContainer select {
    height: 40px;
    line-height: 40px;
}

#contactForm .form-row:not(.terms-form) label {
    margin-bottom: 5px;
    display: block
}

#contactForm input.err:not([type=checkbox]),
#contactForm select.err,
#contactForm textarea.err {
    border-color: red;
    background-color: rgba(255, 0, 0, 0.03);
}

#contactForm {
    padding: 0 2rem;
    margin: 10px 0;
}

#contactForm textarea {
    line-height: 110%;
    padding: 20px 10px;
    resize: none;
    margin-bottom: 20px;
}

.form-row:not(:last-of-type) {
    margin-bottom: 2rem
}

.form-row.terms-form {
    margin-top: -1rem;
    margin-bottom: 1rem
}

.form-row {
    font-size: 0
}

.form-row.multi-fields .field:first-of-type {
    margin-right: 3%
}

.form-row .field {
    font-size: 1rem;
    text-align: left
}

.form-row.multi-fields .field {
    width: 48.5%;
    display: inline-block;
    vertical-align: middle
}

INPUT::-webkit-input-placeholder,
TEXTAREA::-webkit-input-placeholder {
    color: rgba(123, 191, 106, .3) !important
}

INPUT:-moz-placeholder,
TEXTAREA:-moz-placeholder {
    color: rgba(123, 191, 106, .3) !important
}

INPUT:-ms-input-placeholder,
TEXTAREA:-ms-input-placeholder {
    color: rgba(123, 191, 106, .3) !important
}

INPUT:placeholder,
TEXTAREA:placeholder {
    color: rgba(123, 191, 106, .3) !important
}

#CybotCookiebotDialog,
#CybotCookiebotDialogBodyLevelDetailsWrapper,
#CybotCookiebotDialogDetail {
    background-color: rgba(0, 0, 0, .8) !important;
    color: #fff !important
}

#CybotCookiebotDialogBodyContentTitle,
a#CybotCookiebotDialogBodyLevelDetailsButton {
    color: #fff !important
}

#CybotCookiebotDialogPoweredbyImage {
    filter: brightness(10)
}

.animated {
    opacity: 0
}

.form-row {
    opacity: 0;
    animation: fadein 1s ease-in-out 1 forwards
}

.form-row:nth-of-type(1) {
    animation-delay: .3s
}

.form-row:nth-of-type(2) {
    animation-delay: .6s
}

.form-row:nth-of-type(3) {
    animation-delay: .9s
}

.form-row:nth-of-type(4) {
    animation-delay: 1.2s
}

.form-row:nth-of-type(5) {
    animation-delay: 1.5s
}

.simple_page {
    padding: 20px
}

.contact_img_c {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 65%;
    height: 100%;
    background-color: #000;
    z-index: 1;
    text-align: right
}

.contact_img {
    height: 100%;
    display: inline-block
}

#myCanvasContainer,
.contact_img_c {
    opacity: .6;
    animation: pfadein 3s linear 1 forwards;
    background: url(https://catalina.emanueldan.ro/images/335610348_547383507376347_3303228533092777354_n.jpeg) no-repeat center center;
    background-size: cover;
}

.body_img>svg {
    max-width: 100%;
    max-height: 100%;
    text-align: right
}

.greetings>span.fword {
    font-size: 6rem;
    animation: HSTop .5s ease-in-out 1 forwards
}

.greetings>span.sword {
    margin-top: 52px;
    margin-left: -120px;
    animation: fadein .5s ease-in-out 1 forwards;
    animation-delay: .5s;
    opacity: 0
}

.greetings>span {
    display: block;
    text-shadow: 2px 2px 20px #000
}

.greetings {
    font-size: 2.5rem;
    position: absolute;
    top: 25px;
    left: 43px;
    z-index: 5;
    text-align: left;
    width: 100%;
    color: #fff;
    line-height: 100%;
}

.page_content .home_page h2.visible {
    opacity: 1
}

.page_content .home_page h2 {
    overflow: hidden;
    white-space: nowrap;
    margin: 0 auto;
    animation: typing 3.5s steps(40, end), blink-caret .75s step-end forwards;
    text-align: left;
    margin-left: 0;
    animation-delay: 4s;
    opacity: 0;
    display: block;
    color: #ff7f00;
    margin: 0;
    text-shadow: 0 0 10px #000
}

.page_content .home_page {
    padding-top: 8rem;
    padding-left: 6rem;
    min-height: 650px;
    position: relative;
    height: 100%
}

.page_content .home_page h1 {
    position: absolute;
    width: 600px;
    top: 50px;
    right: 8%;
    padding: 0;
    padding-right: 6rem;
    font-size: 6em;
    opacity: .5;
    color: #000;
    text-shadow: 0 0 0 #000;
    font-size: 0
}

.body_img {
    width: 100%;
    position: relative;
    z-index: 3;
    animation: spin 1s ease-in 1 forwards;
    animation-delay: 1s;
    opacity: 0
}

.page_content .home_page h1 .first_title {
    position: absolute;
    right: -27px;
    bottom: 60px;
    animation: HSBottom 1s ease-in-out 1 forwards;
    animation-delay: 2.5s;
    opacity: 0;
    font-size: 6rem
}

.page_content .home_page h1 .second_title {
    position: absolute;
    right: -4px;
    bottom: 168px;
    animation: HSRight .8s ease-in-out 1 forwards;
    animation-delay: 3.1s;
    opacity: 0;
    color: #7bbf6a;
    font-size: 6rem
}

span.hidden {
    display: none
}

ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
    margin-top: 20px;
    font-weight: 700;
    font-size: 1.3em
}

.home_page ul {
    max-width: 680px
}

.home_page ul li {
    opacity: 0;
    margin-bottom: 15px;
    text-shadow: 1px 1px 1px #000
}

.home_page ul li:nth-of-type(1) {
    animation: HSLeft .2s ease-in-out 1 forwards;
    animation-delay: 6s
}

.home_page ul li:nth-of-type(2) {
    animation: HSLeft .2s ease-in-out 1 forwards;
    animation-delay: 6.2s
}

.home_page ul li:nth-of-type(3) {
    animation: HSLeft .2s ease-in-out 1 forwards;
    animation-delay: 6.4s
}

.home_page ul li:nth-of-type(4) {
    animation: HSLeft .2s ease-in-out 1 forwards;
    animation-delay: 6.6s
}

.home_page ul li:nth-of-type(5) {
    animation: HSLeft .2s ease-in-out 1 forwards;
    animation-delay: 6.8s
}

.bottom_bt {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0
}

.bottom_bt .button,
.contact_info .button {
    width: auto;
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    font-size: 1.1em;
    animation: fadein 1.4s ease-in-out 1 forwards;
    animation-delay: 8.8s;
    opacity: 0;
    background: 0 0;
    color: #f0f;
    text-shadow: 0 0 10px #000;
    max-width: 40%
}

.bottom_bt .button:last-of-type {
    float: right;
    text-align: right;
    margin-right: 6rem
}

.bottom_bt .button:first-of-type,
.contact_info .button {
    animation-delay: 7.5s;
    color: #7bbf6a;
    margin-left: 6rem
}

.contact_info .button {
    animation-delay: 0s;
    margin-bottom: 30px;
    margin-left: 0;
    width: 100%;
    max-width: 100%
}

#myCanvasContainer {
    position: absolute;
    padding-top: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 60%;
    text-align: right;
    background-color: #000
}

#myCanvasContainer li a {
    font-size: 60px;
}

#myCanvas {
    width: 100% !important
}

.about_page p {
    opacity: 0;
    animation: fadein 1s ease-in-out 1 forwards;
    animation-delay: 1s;
    padding: 0 3rem;
    line-height: 200%;
    font-size: 1.3em
}

.skills_list li>.skill-level.notloaded>span {
    width: 100% !important
}

.skills_list li>.skill-level>span {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    background: #2c2b2b;
    border-left: 2px solid rgba(255, 255, 255, .7);
    -webkit-transition: width 1s ease-in-out;
    -moz-transition: width 1s ease-in-out;
    -o-transition: width 1s ease-in-out;
    transition: width 1s ease-in-out
}

.skills_list li>.skill-level {
    height: 60px;
    width: 100%;
    background: #fff;
    background: linear-gradient(90deg, transparent 0, rgba(123, 191, 106, .4) 50%, rgba(0, 128, 0, .3) 100%);
    overflow: hidden
}

.skills_head>span {
    width: 10%;
    border-right: 1px solid rgba(255, 255, 255, .3);
    padding: 10px 0;
    padding-right: 1%;
    display: inline-block;
    text-align: center;
    vertical-align: middle
}

.skills_head_label,
.skills_list li>a {
    position: absolute;
    left: -220px;
    top: 10px;
    text-align: left !important;
    width: 220px
}

.skills_list li>a {
    color: #fff
}

.skills_list li>a:hover {
    color: #000
}

.skills_list li>* {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.5em
}

.skills_list li {
    position: relative;
    margin-bottom: 40px;
    margin-left: 220px
}

.skills_list li.skills_head:after {
    content: "";
    background: #000;
    position: absolute;
    right: -60px;
    top: 0;
    width: 60px;
    height: 100%
}

.skills_list li.skills_head .skills_head_label {
    left: -280px;
    border: none;
    width: 280px;
    padding-left: 60px;
    background: #000;
    top: 0
}

.skills_list li.skills_head {
    position: fixed;
    left: 60px;
    right: 0;
    bottom: 0;
    margin: 0;
    background: #000;
    margin-right: 75px;
    margin-left: 280px;
    z-index: 4
}

.skills_list {
    position: relative;
    padding-bottom: 15px
}

.skills_page {
    padding: 0 60px;
    margin-top: 0
}

.portfolio_list {
    position: relative;
    text-align: center;
    padding-top: 50px
}

.portfolio_list a>span {
    display: none
}

.portfolio_list a:hover:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 35px;
    background: rgba(123, 191, 106, .4);
    animation: HSBottom .7s ease-in-out 1 forwards
}

.portfolio_list a:hover>i {
    position: absolute;
    left: 36%;
    top: 36%;
    color: #fff;
    display: block;
    animation: fadein .5s ease-in-out 1 forwards;
    animation-delay: .7s;
    opacity: 0
}

.portfolio_list a:hover>span {
    display: block;
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: 7px;
    width: 100%;
    text-align: left;
    color: #fff;
    font-size: .8rem;
    animation: fadein .5s ease-in 1 forwards;
    animation-delay: .7s;
    opacity: 0;
}

.portfolio_list a:hover>img {
    opacity: 1;
    animation: HSFlipOut .5s ease-in 1 forwards
}

.portfolio_list a>img {
    max-width: 101%;
    width: 101%;
    margin-left: -.5%;
    margin-top: -.5%
}

.portfolio_list a>i:before {
    font-size: 4rem
}

.portfolio_list a>i {
    display: none
}

.portfolio_list a {
    width: 33.3333%;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    overflow: hidden;
    position: relative;
    font-size: 0;
    opacity: 0;
    animation: HSFlipIn 1s ease-out 1 forwards;
    border: 1px solid #000;
    border-bottom: 5px solid #7bbf6a
}

.portfolio_list a:nth-of-type(1) {
    animation-delay: .5s
}

.portfolio_list a:nth-of-type(2) {
    animation-delay: 1s
}

.portfolio_list a:nth-of-type(3) {
    animation-delay: 1.5s
}

.portfolio_list a:nth-of-type(4) {
    animation-delay: 2s
}

.portfolio_list a:nth-of-type(5) {
    animation-delay: 2.5s
}

.portfolio_list a:nth-of-type(6) {
    animation-delay: 3s
}

.portfolio_list a:nth-of-type(7) {
    animation-delay: 3.5s
}

.portfolio_list a:nth-of-type(8) {
    animation-delay: 4s
}

.portfolio_list a:nth-of-type(9) {
    animation-delay: 4.5s
}

.portfolio_list a:nth-of-type(10) {
    animation-delay: 5s
}

.portfolio_list a:nth-of-type(11) {
    animation-delay: 5.5s
}

.portfolio_list a:nth-of-type(12) {
    animation-delay: 6s
}

.portfolio_list,
.skills_page {
    padding-top: 170px;
    text-align: left
}

.portfolio_list,
.terms_text_content {
    padding-top: 150px
}

.portfolio_list:before,
.skills_page:before,
.terms_text_content:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background-color: #7f7f7f;
}

.terms_text_content {
    padding-left: 10%;
    padding-right: 10%;
    line-height: 180%;
    font-size: 1.2em
}

.contactInfoPopUp .terms_text_content:before {
    display: none
}

.contactInfoPopUp .terms_text_content {
    padding: 0
}

.ciPopUpClose,
.gAuthPopUpClose {
    cursor: pointer;
    position: absolute;
    right: 22px;
    top: 3px;
    font-size: 1.3rem;
    color: #7bbf6a;
    padding: 10px
}

.ciPopUpClose:hover,
.popUpClose:hover {
    color: #fff
}

.contactInfoPopUp,
.gAuthPopUp {
    display: none;
    position: absolute;
    overflow: hidden;
    animation: fadein .5s ease-in-out 1 forwards;
    cursor: pointer;
}

.contactInfoPopUp {
    display: block
}

.gAuthPopUp .gAuthSO {
    display: none
}

.gAuthPopUp.logged .gAuthSO {
    display: block;
    font-size: .7em;
    float: left;
    margin-right: 10px;
    margin-top: 11px;
    letter-spacing: -1px
}

.gAuthPopUp.logged:hover .gAuthSO {
    text-decoration: underline
}

.gAuthPopUp.logged {
    top: 0;
    right: 0;
    left: auto;
    opacity: .6
}

.gAuthPopUp.logged:hover {
    opacity: 1
}

.gAuthPopUp.logged>* {
    display: none
}

.gAuthPopUp.logged>.g-signin2 {
    display: block;
    width: 36px;
    overflow: hidden;
    float: right
}

.contactInfoPopUp {
    box-shadow: 0 0 20px rgba(0, 0, 0, .3)
}

.contactInfoPopUp>p {
    font-weight: 700;
    margin-top: 5px;
    margin-bottom: 0
}

.contactInfoPopUp>h3 {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 2.3em
}

.savevcard {
    position: absolute;
    right: 30px;
    bottom: 30px
}

.contactInfoPopUp>a {
    margin-bottom: 5px;
    display: block
}

.contactInfoPopUp>a.savevcard {
    position: absolute;
    right: 30px;
    bottom: 30px;
    margin-bottom: 0;
    line-height: 100%
}

.contactInfoPopUp,
.gAuthPopUp.auth {
    background-color: #000;
    top: 10%;
    left: 20%;
    right: 20%;
    padding: 30px;
    max-height: 80%
}

.contactInfoPopUp.notifPopUp {
    height: 80%;
    padding-right: 0
}

.contactInfoPopUp .simple_page h1 {
    margin-top: 0
}

.contactInfoPopUp .simple_page {
    padding: 0;
    overflow: auto;
    max-height: calc(100% - 20px);
    margin-top: 20px;
    padding-right: 30px
}

.contactInfoPopUp,
.gAuthPopUp.auth,
.gAuthPopUp.logged {
    display: block;
    z-index: 100
}

.privacy_buttons a,
.privacy_buttons span {
    display: block;
    margin-bottom: 7px;
    line-height: 100%
}

.privacy_buttons span {
    margin-bottom: 20px
}

.privacy_buttons {
    position: absolute;
    right: 10px;
    bottom: 10px
}

.terms_text_content br {
    line-height: 30px;
    display: block
}

.modal { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.5); 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    z-index: 100;
}
.modal-content { 
    background: white; 
    padding: 20px; 
    border-radius: 8px;     
    max-height: calc(100% - 40px);
    overflow-y: auto;
    margin: 20px;
    min-width: 700px;
    position: relative;
}
.modal-close {
    position: absolute;
    top: 5px;
    right: 1px;
    background: none;
    border: none;
    font-size: 2rem;
    color: #999;
    cursor: pointer;
    z-index: 101;
    transition: color 0.2s ease;
    width: 50px;
    display: block;
    min-width: 0;
}
.modal-close:hover {
    color: #333;
    background: transparent;
    transform: scale(1);
}
.modal-content .field { 
    margin-bottom: 20px; 
}
.hidden { 
    display: none; 
}
.back-btn {
    top: 10px;
    display: block;
    position: relative;
    z-index: 20;
    font-size: 1rem;
}
.contact_page .alert-message span {
    color: #b40000;
}
.contact_page .alert-message {
    background-color: #fff6f6;
    color: #d16d86;
    border-left: 4px solid #b40000;
    padding: 20px;
    margin: 20px 0;
    font-size: 1.8rem;
    font-family: 'Dancing Script', cursive;
    line-height: 1.4;
    border-radius: 6px;
    margin: 20px
}
.toggle-buttons {
    display: flex;
    gap: 15px;
    margin-top: 5px;
}

.toggle-btn {
    padding: 17.4px 0px;
    background-color: #fff;
    color: #444;
    border: 1px solid #666;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s ease;
    width: 50%;
    text-align: center;
    font-size: 1.4rem;
}

.toggle-btn:hover {
    background-color: #e0e0e0;
}

.toggle-btn.active {
    background-color: #cde7cb;
    color: #2e7d32;
    font-weight: bold;
}
.toggle-btn.toggle-btn-no.active {
    background-color: #f8d7da;
    color: #842029;
}
@media only screen and (min-width:1700px) {
    body {
        font-size: 22px
    }
    .skills_head_label,
    .skills_list li>a {
        width: 240px
    }
    .skills_list li {
        margin-bottom: 60px
    }
    .portfolio_list {
        padding-top: 7%
    }
    .acts_list_i {
        overflow: hidden;
        max-width: 1200px
    }
    .portfolio_list:before,
    .skills_page:before,
    .terms_text_content:before {
        height: 190px
    }
    .portfolio_list,
    .skills_page,
    .terms_text_content {
        padding-top: 190px
    }
    .portfolio_list a {
        width: 25%
    }
    .terms_text_content,
    p {
        font-size: 1rem;
        line-height: 140%
    }
}

@media only screen and (max-width:1500px) {
    .page_content .home_page {
        min-height: 480px
    }
    .portfolio_list:before,
    .skills_page:before,
    .terms_text_content:before {
        height: 120px
    }
    .portfolio_list,
    .skills_page,
    .terms_text_content {
        padding-top: 140px
    }
    .page_content .home_page h1 {
        width: 440px
    }
    .page_content .home_page h1 .first_title {
        font-size: 4rem;
        right: 8px;
        bottom: 44px
    }
    .page_content .home_page h1 .second_title {
        font-size: 4rem;
        right: 22px;
        bottom: 120px
    }
    body {
        font-size: 12px
    }
    .greetings {
        font-size: 2rem
    }
    .greetings>span.sword {
        margin-top: 14px;
        margin-left: -82px
    }
    .greetings>span.fword {
        font-size: 4rem
    }
    .greetings {
        left: 31px
    }
}

@media only screen and (max-width:1150px) {
    body {
        font-size: 12px
    }
}

@media only screen and (max-width:1024px) {
    .simple_page.about_page {
        height: auto;
        overflow: auto
    }
    .skills_page,
    .terms_text_content {
        padding-top: 125px
    }
    .portfolio_list {
        padding-top: 105px
    }
    .portfolio_list:before,
    .skills_page:before,
    .terms_text_content:before {
        height: 105px
    }
    .page_content .home_page {
        padding-right: 20px;
        padding-left: 20px
    }
    .page_content .home_page h1 {
        width: 300px;
        margin-right: 30px;
        margin-left: auto;
        padding-right: 30px;
        margin-top: 50px;
        right: 0
    }
    .greetings {
        font-size: 1.5rem
    }
    .greetings>span.sword {
        margin-top: 16px;
        margin-left: -58px
    }
    .greetings>span.fword {
        font-size: 3rem
    }
    .greetings {
        left: 24px;
        top: 20px
    }
    .bottom_bt {
        margin-top: 30px
    }
    .skills_page,
    .terms_text_content {
        padding-left: 20px;
        padding-right: 20px
    }
    .skills_head_label,
    .skills_list li>a {
        width: 80px;
        font-size: 1em
    }
    .skills_list li>.skill-level {
        height: 25px
    }
    .skills_list li {
        margin-bottom: 15px
    }
    .skills_list li.skills_head {
        margin-right: 20px;
        margin-left: 100px
    }
    .skills_list li.skills_head .skills_head_label {
        left: -100px;
        font-size: 1em;
        width: 100px;
        padding-left: 20px
    }
    .skills_head_label,
    .skills_list li>a {
        position: absolute;
        left: -80px
    }
    .skills_list li {
        margin-left: 80px
    }
    .skills_list li>* {
        font-size: 1em
    }
    h1 {
        font-size: 3.5em
    }
    .form-row .field {
        font-size: .8rem;
        text-align: left;
        line-height: 160%
    }
    #contactForm input:not([type=checkbox]),
    #contactForm select,
    #contactForm textarea,
    .contact_page button {
        line-height: 40px;
        font-size: 1em
    }
    .toggle-btn {
        padding: 10.8px 0px;
        font-size: 1.3rem;
    }
    .contact_page button {
        font-size: 1.1rem
    }
    .about_page p {
        padding: 20px
    }
    .simple_page.about_page,
    .simple_page.portfolio_page {
        padding: 0
    }
    .page_content .home_page h1 .second_title {
        font-size: 2.5rem;
        right: 0;
        bottom: 90px
    }
    .page_content .home_page h1 .first_title {
        font-size: 2.5rem;
        right: -10px;
        bottom: 40px
    }
    ul {
        margin-top: 10px
    }
    .skills_list {
        margin-top: 0
    }
    .page_content h1.about_title,
    .page_content h1.contact_title {
        background-color: transparent;
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 0;
        box-shadow: none;
        color: #000;
        max-width: 350px;
    }
    .scrolled .page_content h1.about_title,
    .scrolled .page_content h1.contact_title {
        background-color: rgba(0, 0, 0, .3);
        padding-top: 15px;
        padding-bottom: 15px;
        margin-top: -15px;
        box-shadow: 0 0 20px rgba(0, 0, 0, .3);
        color: #fff;
    }
    .home_page ul li {
        opacity: 0;
        margin-bottom: 10px
    }
    .form-row:not(:last-of-type) {
        margin-bottom: 20px
    }
    .form-row.terms-form {
        margin-top: -10px
    }
    .about_page p {
        line-height: 180%;
        font-size: 1.3em
    }
    .simple_page.portfolio_page .table,
    .simple_page.portfolio_page .table_cell {
        display: block
    }
    .sly_ctrl.photo-slider-control .prev {
        margin-left: 20px
    }
    .sly_ctrl.photo-slider-control .next {
        margin-right: 20px
    }
    .acts_list_ii {
        transform: translateZ(0) translateX(0) !important;
        width: 100% !important
    }
    .portfolio_list a {
        width: 50%;
        margin-bottom: 0
    }
    .sly_ctrl.photo-slider-control {
        display: none
    }
    .about_page_text,
    .contact_page {
        min-width: 400px
    }
    .bottom_bt .button:first-of-type {
        margin-left: 0
    }
    .bottom_bt .button:last-of-type {
        margin-right: 0
    }
    .bottom_bt {
        position: relative;
        bottom: 0;
        left: 0;
        margin-top: 60px
    }
}

@media only screen and (max-width:800px) {
    .modal-content {  
        min-width: 0;
    }
    .about_page_text,
    .contact_page {
        width: 100%
    }
    #myCanvasContainer,
    .contact_img_c {
        position: relative;
        bottom: 0;
        right: 0;
        width: 100%;
        height: auto;
        max-width: none
    }
    .contact_img {
        height: auto;
        width: 100%
    }
    .about_page p {
        max-width: 500px;
        position: relative;
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 0
    }
    .about_page_text,
    .contact_page {
        height: auto;
        padding-top: 105px;
        padding-bottom: 60px;
        min-height: 0
    }
    #myCanvasContainer,
    .contact_img_c {
        background: transparent;
    }
}

@media only screen and (max-width:740px) {
    .page_content .home_page {
        padding-top: 0
    }
    .page_content .home_page h1 {
        top: 0;
        right: 0;
        position: relative
    }
    .bottom_bt {
        margin-top: 30px
    }
}

@media only screen and (max-width:560px) {
    .about_page_text,
    .contact_page {
        min-width: 100%
    }
    .home_page ul li {
        opacity: 0;
        margin-bottom: 5px
    }
    .contactInfoPopUp,
    .gAuthPopUp.auth {
        top: 20%;
        left: 20px;
        right: 20px
    }
    #confirmMenus {
        margin-top: 20px;
    }
}

@media only screen and (max-width:450px) {
    .page_content .home_page h1 {
        right: -10px
    }
    .portfolio_list a {
        width: 100% !important
    }
}

@media only screen and (max-width:430px) {
    .page_content .home_page h1 {
        right: -20px
    }
}

@media only screen and (max-width:400px) {
    .page_content .home_page h1 {
        width: 270px
    }
    .greetings {
        font-size: 1.4rem
    }
    .greetings>span.sword {
        margin-top: 13px;
        margin-left: -51px
    }
    .greetings>span.fword {
        font-size: 2.7rem
    }
    .greetings {
        left: 16px;
        top: 7px
    }
    .body_img {
        width: 80%
    }
    .page_content .home_page h1 .first_title {
        font-size: 2rem;
        right: 45px;
        bottom: 30px
    }
    .page_content .home_page h1 .second_title {
        font-size: 2rem;
        right: 50px;
        bottom: 65px
    }
}