/****************************
 * Language Switcher
*****************************/
.vii-language-switcher ul {list-style:none; margin:0;}
.vii-language-switcher ul > li {padding:0;}
.vii-language-switcher-item {
    white-space:nowrap; display:flex; align-items:center;
    transition:var(--vii-transition);
}
img.vii-language-switcher-item__flag {width:25px; height:auto; background-color:#ccc;}
a.vii-language-switcher-item:hover,
a.vii-language-switcher-item:focus {color:var(--vii-color-primary);}


/****************************
 * Language Switcher > List
*****************************/
.vii-language-switcher.list ul {display:flex; align-items:center;}
.vii-language-switcher.list ul > li > .vii-language-switcher-item:not(.active) {opacity:.3; color:inherit;}
.vii-language-switcher.list ul > li > .vii-language-switcher-item:not(.active):hover,
.vii-language-switcher.list ul > li > .vii-language-switcher-item:not(.active):focus {opacity:1;}

/* Layout has flag */
.vii-language-switcher.list .vii-language-switcher-item {padding:8px;}


/****************************
 * Language Switcher > Hover
*****************************/
/* hover */
.vii-language-switcher.hover {position:relative;}
.vii-language-switcher.hover:not(:hover) .vii-language-switcher-dropdown {opacity:0; visibility:hidden;}

.vii-language-switcher.hover > .vii-language-switcher-item:after {
    content:"\e931"; font-family:var(--vii-font-icomoon), fantasy; font-size:9px;
    margin-left:5px; margin-top:1px; display:inline-block;
    transition:transform .3s ease;
}
.vii-language-switcher.hover:hover > .vii-language-switcher-item:after {transform:rotate(180deg);}

/* dropdown */
.vii-language-switcher-dropdown {
    position:absolute; top:100%; left:-10px;
    padding-top: 5px; min-width:calc(100% + 10px);
    transition:all .3s ease;
}
.vii-language-switcher-dropdown ul {
    background:#fff;
    box-shadow:0 0 0 1px #E7E7E7; border-radius:4px; overflow:hidden;
}
.vii-language-switcher-dropdown ul .vii-language-switcher-item.txt_caption {padding:2px 10px 0}
.vii-language-switcher-dropdown ul .vii-language-switcher-item.txt_caption:hover {text-decoration:underline;}
.vii-language-switcher-dropdown ul > li:has(.txt_caption):not(:last-child) {margin-bottom:2px;}
.vii-language-switcher-dropdown ul > li:has(.txt_caption):first-child {padding-top:5px;}
.vii-language-switcher-dropdown ul > li:has(.txt_caption):last-child {padding-bottom:5px;}

/* dropdown > text name */
.vii-language-switcher-dropdown ul > li:has(.text-name):not(:last-child) {margin-bottom:5px;}
.vii-language-switcher-dropdown ul > li:has(.text-name):first-child {padding-top:10px;}
.vii-language-switcher-dropdown ul > li:has(.text-name):last-child {padding-bottom:10px;}

/* layout has flag */
.vii-language-switcher.hover .vii-language-switcher-item.has-flag + .vii-language-switcher-dropdown {min-width:40px;}
.vii-language-switcher-dropdown ul > li:has(.has-flag):not(:last-child) {margin-bottom:0;}
.vii-language-switcher-dropdown ul > li:has(.has-flag) .vii-language-switcher-item {padding: 5px 10px;}
.vii-language-switcher-dropdown ul > li:has(.has-flag):first-child {padding-top:5px;}
.vii-language-switcher-dropdown ul > li:has(.has-flag):last-child {padding-bottom:5px;}