/*
Theme Name: vsointernation
*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    font-family: "Roboto", sans-serif;
}

:root {
    --colorActive: #b6d741;
    --colorPurple: #ad0075;
    --colorStatic: #000;
    --colorDarkBlue: #37424a;
    --colorBlue: #12c1df;
    --colorWhite: #fff;
    --colorDarkWhite: #EBEBEB;
    --colorSilver: #f1f1f1;
    --colorDarkGrey: rgb(102, 102, 102);
    --allTransition: 0.3s all linear;
}

li {
    list-style-type: none;
}

a {
    text-decoration: none;
}

.wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    min-height: 100%;
    padding-top: 155px;
}

.container {
    width: 100%;
    max-width: 1200px;
    min-height: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

/* link */

.main_link {
    display: block;
    background-color: var(--colorPurple);
    color: var(--colorWhite);
    padding: 7px 15px;
    font-weight: 400;
    font-size: calc(16px + 2 * ((100vw - 320px) /(1920 - 320)));
    width: 100%;
    max-width: max-content;
    padding-right: 50px;
    clip-path: polygon(0% 0%, 91% 0%, 100% 50%, 91% 100%, 0% 100%);
    position: relative;
    transition: var(--allTransition);
    border-radius: 5px;
}

.main_link:after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    border: solid var(--colorWhite);
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    transition: var(--allTransition);
}

.main_link:hover {
    background-color: var(--colorDarkBlue);
}

.main_link:hover::after {
    right: -100px;
}

/* link */

/* header */

header {
    background-color: var(--colorPurple);
    width: 100%;
    padding: 15px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

.header_top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
}

/* menu */

#menu-header-bottom {
    display: none;
}

header ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

header li,
.footer_bottom li {
    position: relative;
}

header ul li:not(:first-child)::before,
.footer_bottom li:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 0px;
    height: 100%;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0px 3.5px 0.5px #fff;
    transition: var(--allTransition);
}

header ul li:not(:first-child):hover::before {
    box-shadow: 0 0px 3.5px 0.5px var(--colorActive);
}

header .menu-item-has-children,
.footer_block .menu-item-has-children {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: max-content;
    cursor: pointer;
}

/*  */
.footer_block .menu-item-has-children ul {
    display: none;
}

header .menu-item-has-children ul {
    top: 105%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: max-content;
    border: 1px solid var(--colorDarkBlue);
    padding: 20px;
    gap: 15px;
    background-color: var(--colorDarkBlue);
    visibility: hidden;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    z-index: 2;
}

header .menu-item-has-children::after,
.footer_block .menu-item-has-children::after {
    content: "";
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 6px 5.5px 0 5.5px;
    border-color: #d1bdbd transparent transparent transparent;
    rotate: 0deg;
    transition: var(--allTransition);
}

header ul a,
.footer_bottom a {
    color: #fff;
    font-size: 16px;
    line-height: 150%;
    font-weight: 500;
    transition: var(--allTransition);
}

header ul a:hover,
.footer_bottom a:hover {
    color: var(--colorActive);
}

header .sub-menu li::before {
    display: none;
}

.header_burger {
    display: none;
}

/* menu */

.header_bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    position: relative;
    padding-right: 185px;
}

.header_logo img {
    aspect-ratio: 200 / 83;
    width: 100%;
    height: 100%;
    max-width: 210px;
    object-fit: contain;
    object-position: center center;
}

.header_donate {
    position: absolute;
    top: 30%;
    right: 0;
}

.header_donate img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
}

.header_mobile {
    display: none;
}

/* header */

/* search */

.search_form {
    position: relative;
    width: 100%;
    max-width: 210px;
}

.search_form input {
    display: block;
    border: none;
    outline: none;
    width: 100%;
    height: 100%;
    padding: 7px 20px 7px 10px;
    font-size: calc(14px + 2*((100vw - 320px) /(1920 - 320)));
    font-weight: 400;
    color: rgb(51, 51, 51);
    border-bottom: 1px solid #efefef;
    border-radius: 5px;
}

.search_form button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5px;
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer;
}

/* search */

/* footer */

footer {
    margin-top: 70px;
    background-color: #37424a;
    width: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer .container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 50px;
    position: relative;
}

.footer_donate {
    display: block;
    position: absolute;
    top: -75px;
    right: 0;
    width: 100px;
    aspect-ratio: 1 / 1;
}

.footer_donate img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.footer_block {
    width: calc(100% / 4 - (150px / 3));
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer_block h3 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    color: #fff;
    font-size: calc(16px + 2*((100vw - 320px) /(1920 - 320)));
    font-weight: 500;
    border-bottom: 1px solid #627685;
    padding-bottom: 15px;
}

.footer_block h3 img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    object-position: center;
    border-radius: 5px;
}

.footer_block .menu-item-has-children {
    position: relative;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
}

.footer_block .menu-item-has-children::after {
    position: absolute;
    top: 7px;
    right: 20px;
}

.footer_block .menu-item-has-children.active ul {
    display: flex;
    padding-left: 15px;
}

footer .menu-item-has-children.active::after {
    rotate: 180deg;
    border-color: var(--colorActive) transparent transparent transparent;
}

.footer_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    aspect-ratio: 721 / 473;
}

.footer_block ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer_block li {
    color: #fff;
    font-weight: 400;
    line-height: 150%;
    font-size: calc(14px + 2*((100vw - 320px) /(1920 - 320)));
}

.footer_block a {
    color: var(--colorActive);
    font-weight: 500;
    transition: var(--allTransition);
}

.footer_block.first_menu a {
    color: #fff;
}

ul.footer_icons {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: flex-start;
    gap: 15px;
}

.footer_icons li {
    width: calc(100% / 4 - (45px / 4));
}

.footer_icons a {
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.footer_icons .footer_icon_tweets {
    background-image: url(/vsointernational/wp-content/themes/vsointernational/images/social_twitter.png);
}

.footer_icons .footer_icon_facebook {
    background-image: url(/vsointernational/wp-content/themes/vsointernational/images/social_facebook.png);
}

.footer_icons .footer_icon_youtube {
    background-image: url(/vsointernational/wp-content/themes/vsointernational/images/social_youtube.png);
}

.footer_icons .footer_icon_linkedin {
    background-image: url(/vsointernational/wp-content/themes/vsointernational/images/social_linkedin.png);
}

.footer_block a:hover {
    opacity: 0.8;
}

.footer_bottom {
    width: calc(100% + 30px);
    position: relative;
    left: -15px;
    padding: 15px;
    background-color: var(--colorPurple);
}

.footer_bottom ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

header .menu-item-has-children {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.footer_copy_right {
    color: #fff;
    font-size: 10px;
    font-weight: 400;
    line-height: 170%;
}

/* footer */

/* move_up */

.move_up {
    position: fixed;
    bottom: 50px;
    left: 50px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: var(--colorStatic);
    box-shadow: 0 0 2px 2px #d1bdbd;
    transition: var(--allTransition);
    cursor: pointer;
    border: none;
    outline: none;
}

.move_up::after {
    content: "";
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-135deg);
    border: solid var(--colorWhite);
    border-width: 0px 5px 5px 0px;
    display: inline-block;
    padding: 7px;
}

.move_up.active {
    scale: 0;
}

.move_up:hover {
    box-shadow: 0 0 2px 2px var(--colorPurple);
}

/* move_up */

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

    .wrapper {
        padding-top: 115px;
    }

    /* header */

    .header_logo img {
        max-width: 115px;
    }

    .header_bottom {
        padding-right: 140px;
    }

    .header_donate {
        top: 20%;
    }

    .header_donate img {
        max-width: 120px;
    }

    /* header */

    /* footer */

    .footer .container {
        gap: 30px;
        flex-wrap: wrap;
    }

    .footer_block {
        width: calc(100% / 2 - (30px / 2));
    }

    /* footer */
}

@media screen and (min-width: 768px) {

    header .menu-item-has-children:hover::after {
        rotate: 180deg;
        border-color: var(--colorActive) transparent transparent transparent;
    }

    header .menu-item-has-children:hover ul {
        visibility: visible;
        animation: growDown 500ms ease-in-out forwards;
        transform-origin: top center;
        transition: 0.5s all linear;
    }

    @keyframes growDown {
        0% {
            transform: scaleY(0) translateX(-50%);
        }

        80% {
            transform: scaleY(1.1) translateX(-50%);
        }

        100% {
            transform: scaleY(1) translateX(-50%);
            opacity: 1;

        }
    }
}

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

    .wrapper {
        padding-top: 155px;
    }

    /* header */

    .header_top {
        position: absolute;
        top: 100%;
        max-height: 0;
        left: 0;
        transition: 0.5s all linear;
        overflow: hidden;
        background-color: var(--colorPurple);
        flex-direction: column;
        justify-content: flex-start;
        gap: 15px;
        width: 100%;
        padding: 0 15px;
        overflow: auto;
    }

    .active .header_top {
        max-height: calc(100vh - 82px);
        padding-bottom: 25px;
    }

    #menu-header-bottom {
        display: flex;
    }

    #menu-header-bottom-1 {
        display: none;
    }

    .header_donate {
        display: none;
    }

    .header_bottom {
        padding-right: 0px;
        align-items: center;
    }

    header ul li::before {
        display: none;
    }

    header ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 15px;
        width: 100%;
    }

    .header_mobile {
        background-color: var(--colorWhite);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 25px;
        padding: 10px;
        margin-top: 15px;
        width: calc(100% + 30px);
        position: relative;
        left: -15px;
        margin-bottom: -15px;
        transition: var(--allTransition);
        box-shadow: 0 1px 8px 1px var(--colorWhite);
    }

    .header_mobile a {
        width: calc(100% / 2 - (25px / 2));
        padding: 15px;
        font-size: calc(16px + 4 * ((100vw - 320px) /(1920 - 320)));
        font-weight: 400;
        text-align: center;
        color: var(--colorWhite);
        transition: var(--allTransition);
    }

    .active .header_mobile {
        margin-bottom: 0;
    }

    .header_mobile a:hover {
        opacity: 0.7;
    }

    .header_mobile_donate {
        background-color: var(--colorDarkBlue);
    }

    .header_mobile_volunteer {
        background-color: var(--colorPurple);
    }

    header .menu-item-has-children {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    header .menu-item-has-children ul {
        flex-direction: column;
        border: none;
        padding: 0px 0 0 15px;
        gap: 15px;
        background-color: var(--colorPurple);
        position: static;
        display: none;
    }

    header .menu-item-has-children.active ul {
        display: flex;
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
    }

    header .menu-item-has-children::after {
        position: absolute;
        top: 7px;
        right: -40px;
    }

    header .menu-item-has-children.active::after {
        rotate: 180deg;
        border-color: var(--colorActive) transparent transparent transparent;
    }

    /* burger */

    .header_burger {
        display: block;
        position: relative;
        width: 45px;
        height: 35px;
        cursor: pointer;
    }

    .header_burger::after,
    .header_burger::before,
    .header_burger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #fff;
        transition: 0.3s all linear;
        border-radius: 5px;
        transition: var(--allTransition);
    }

    .header_burger::before {
        content: "";
        top: 0px;
    }

    .header_burger span {
        top: 50%;
        translate: 0 -50%;
    }

    .header_burger::after {
        content: "";
        bottom: 1px;
    }

    .active .header_burger span {
        opacity: 0;
    }

    .active .header_burger::before {
        top: 50%;
        rotate: -45deg;
    }

    .active .header_burger::after {
        bottom: 40%;
        rotate: 45deg;
    }

    /* burger */
    /* header */

    /* search */
    .search_form {
        max-width: 100%;
    }

    /* search */

    /* footer */

    footer {
        margin-top: 50px;
    }

    .footer_bottom ul {
        justify-content: center;
        gap: 15px;
    }

    .footer_bottom li {
        width: calc(100% / 3 - (30px / 2));
        text-align: center;
    }

    .footer_bottom li:before {
        display: none;
    }

    /* footer */

    /* move_up */
    .move_up {
        bottom: 25px;
        left: 25px;
        width: 50px;
        height: 50px;
    }

    /* move_up */
}

@media screen and (max-width: 500px) {
    /* footer */

    .footer_bottom li {
        width: calc(100% / 2 - (15px / 2));
    }

    .footer_bottom li:nth-child(even):before {
        display: block;
    }

    .footer_block {
        width: 100%;
    }

    /* footer */
}