.flag-container {
    position: fixed;
    top: 0;
    z-index: 1000;
    right: 0;
    width: 64px;
    height: 20px;
    margin-top: 10px;
}

.flag-wrapper {
    width: 100%;
    display: inline-block;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 2px black;
    margin-left: 5px;
    cursor: pointer;
}

    .flag-wrapper.md {
        width: 24px;
    }

    .flag-wrapper:after {
        padding-top: 75%;
        display: block;
        content: '';
    }

    .flag-wrapper:hover {
        box-shadow: 0 0 4px black;
    }

    .flag-wrapper .flag {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
    }

.no-wrap {
    white-space: nowrap;
    margin-bottom: 8px;
    overflow: hidden;
}

.flag-icon-background {
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
}

.flag-icon {
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
    width: 1.33333333em;
    line-height: 1em;
}

    .flag-icon:before {
        content: "\00a0";
    }

    .flag-icon.flag-icon-squared {
        width: 1em;
    }

.flag-icon-ru {
    background-image: url(flags/4x3/ru.svg);
}

    .flag-icon-ru.flag-icon-squared {
        background-image: url(flags/1x1/ru.svg);
    }

.flag-icon-gb {
    background-image: url(flags/4x3/gb.svg);
}

    .flag-icon-gb.flag-icon-squared {
        background-image: url(flags/1x1/gb.svg);
    }
