File: D:/HostingSpaces/SBogers10/ste.komma.pro/resources/sass/5-Components/_components.language.scss
.c-language {
position: relative;
display: inline-block;
}
.c-language__button {
@include font-family(base);
@include font-size(s);
@include border-radius(xs);
display: flex;
align-items: center;
position: relative;
z-index: 2;
width: 100%;
margin-bottom: 3px; //offset of dropdown
padding: space(1.5);
color: palette(primary, 200);
background-color: transparent;
border: 1px solid rgba(palette(primary, 200), 0.5);
text-align: left;
appearance: none;
cursor: pointer;
transition: color 0.15s;
&:focus, &:hover {
outline: none;
color: palette(neutral, 0);
}
}
.c-language__dropdown {
@include font-family(base);
@include border-radius(xs);
position: absolute;
left: 1px;
right: 1px;
top: 100%;
margin: 0;
padding: space(1) 0;
list-style: none;
background-color: palette(neutral, 0);
box-shadow: 0 0 12px 1px rgba(black, 0.2);
transform: translateY(-5px);
opacity: 0;
pointer-events: none;
overflow: hidden;
transition: opacity 0.3s, transform 0.3s;
.c-language:hover & {
opacity: 1;
pointer-events: auto;
transform: none;
}
}
.c-language__link {
display: flex;
align-items: center;
padding: space(1) space(1.5);
text-decoration: none;
color: palette(primary, 500);
background-color: transparent;
transition: background-color 0.3s;
&:hover {
color: palette(primary, 500);
background: linear-gradient(rgba(palette(primary, 500), 0.15), rgba(palette(primary, 500), 0.15));
}
}
.c-language__label {
@include font-size(xs);
text-transform: uppercase;
flex: none;
margin-right: space(1);
}
.c-language__icon {
opacity: 0.5;
}
.c-language__flag {
flex: none;
display: block;
max-width: none; // reset
transform: translateY(1px);
&:first-child {
margin-right: space(1);
}
}
.c-language--upwards {
.c-language__button {
margin-top: 3px; // offset of dropdown
margin-bottom: 0;
}
.c-language__dropdown {
top: auto;
bottom: 100%;
transform: translateY(5px);
}
}
.c-language--on-light {
.c-language__button {
color: palette(primary, 600);
border-color: rgba(palette(primary, 600), 0.5);
&:focus, &:hover {
color: palette(primary, 700);
}
}
}