/* ===================================================================
 * # settings and variables
 *
 * ------------------------------------------------------------------- */

/* ------------------------------------------------------------------- 
 * ## fonts
 * ------------------------------------------------------------------- */

@font-face {
    font-family: 'D-DIN Exp';
    src: url('data:font/ttf;charset=utf-8;base64,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IABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYwBvAHAAaQBlAGQAIABiAGUAbABvAHcALAAgAGEAbgBkACAAaQBzACAAYQBsAHMAbwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAoACgAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAKAFMASQBMACAATwBQAEUATgAgAEYATwBOAFQAIABMAEkAQwBFAE4AUwBFACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAALQAgADIANgAgAEYAZQBiAHIAdQBhAHIAeQAgADIAMAAwADcACgAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ACgAKAFAAUgBFAEEATQBCAEwARQAKAFQAaABlACAAZwBvAGEAbABzACAAbwBmACAAdABoAGUAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUAIAAoAE8ARgBMACkAIABhAHIAZQAgAHQAbwAgAHMAdABpAG0AdQBsAGEAdABlACAAdwBvAHIAbABkAHcAaQBkAGUACgBkAGUAdgBlAGwAbwBwAG0AZQBuAHQAIABvAGYAIABjAG8AbABsAGEAYgBvAHIAYQB0AGkAdgBlACAAZgBvAG4AdAAgAHAAcgBvAGoAZQBjAHQAcwAsACAAdABvACAAcwB1AHAAcABvAHIAdAAgAHQAaABlACAAZgBvAG4AdAAgAGMAcgBlAGEAdABpAG8AbgAKAGUAZgBmAG8AcgB0AHMAIABvAGYAIABhAGMAYQBkAGUAbQBpAGMAIABhAG4AZAAgAGwAaQBuAGcAdQBpAHMAdABpAGMAIABjAG8AbQBtAHUAbgBpAHQAaQBlAHMALAAgAGEAbgBkACAAdABvACAAcAByAG8AdgBpAGQAZQAgAGEAIABmAHIAZQBlACAAYQBuAGQACgBvAHAAZQBuACAAZgByAGEAbQBlAHcAbwByAGsAIABpAG4AIAB3AGgAaQBjAGgAIABmAG8AbgB0AHMAIABtAGEAeQAgAGIAZQAgAHMAaABhAHIAZQBkACAAYQBuAGQAIABpAG0AcAByAG8AdgBlAGQAIABpAG4AIABwAGEAcgB0AG4AZQByAHMAaABpAHAACgB3AGkAdABoACAAbwB0AGgAZQByAHMALgAKAAoAVABoAGUAIABPAEYATAAgAGEAbABsAG8AdwBzACAAdABoAGUAIABsAGkAYwBlAG4AcwBlAGQAIABmAG8AbgB0AHMAIAB0AG8AIABiAGUAIAB1AHMAZQBkACwAIABzAHQAdQBkAGkAZQBkACwAIABtAG8AZABpAGYAaQBlAGQAIABhAG4AZAAKAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABmAHIAZQBlAGwAeQAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAZQB5ACAAYQByAGUAIABuAG8AdAAgAHMAbwBsAGQAIABiAHkAIAB0AGgAZQBtAHMAZQBsAHYAZQBzAC4AIABUAGgAZQAKAGYAbwBuAHQAcwAsACAAaQBuAGMAbAB1AGQAaQBuAGcAIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALAAgAGMAYQBuACAAYgBlACAAYgB1AG4AZABsAGUAZAAsACAAZQBtAGIAZQBkAGQAZQBkACwAIAAKAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAYQBuAHkAIAByAGUAcwBlAHIAdgBlAGQACgBuAGEAbQBlAHMAIABhAHIAZQAgAG4AbwB0ACAAdQBzAGUAZAAgAGIAeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALgAgAFQAaABlACAAZgBvAG4AdABzACAAYQBuAGQAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALAAKAGgAbwB3AGUAdgBlAHIALAAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcgBlAGwAZQBhAHMAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIAB0AHkAcABlACAAbwBmACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUACgByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkACgB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAG8AcgAgAHQAaABlAGkAcgAgAGQAZQByAGkAdgBhAHQAaQB2AGUAcwAuAAoACgBEAEUARgBJAE4ASQBUAEkATwBOAFMACgAiAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABzAGUAdAAgAG8AZgAgAGYAaQBsAGUAcwAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQACgBIAG8AbABkAGUAcgAoAHMAKQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQBuAGQAIABjAGwAZQBhAHIAbAB5ACAAbQBhAHIAawBlAGQAIABhAHMAIABzAHUAYwBoAC4AIABUAGgAaQBzACAAbQBhAHkACgBpAG4AYwBsAHUAZABlACAAcwBvAHUAcgBjAGUAIABmAGkAbABlAHMALAAgAGIAdQBpAGwAZAAgAHMAYwByAGkAcAB0AHMAIABhAG4AZAAgAGQAbwBjAHUAbQBlAG4AdABhAHQAaQBvAG4ALgAKAAoAIgBSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAG4AYQBtAGUAcwAgAHMAcABlAGMAaQBmAGkAZQBkACAAYQBzACAAcwB1AGMAaAAgAGEAZgB0AGUAcgAgAHQAaABlAAoAYwBvAHAAeQByAGkAZwBoAHQAIABzAHQAYQB0AGUAbQBlAG4AdAAoAHMAKQAuAAoACgAiAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4AIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABjAG8AbABsAGUAYwB0AGkAbwBuACAAbwBmACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABhAHMACgBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkALgAKAAoAIgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAG0AYQBkAGUAIABiAHkAIABhAGQAZABpAG4AZwAgAHQAbwAsACAAZABlAGwAZQB0AGkAbgBnACwACgBvAHIAIABzAHUAYgBzAHQAaQB0AHUAdABpAG4AZwAgAC0ALQAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUAIAAtAC0AIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAG8AZgAgAHQAaABlAAoATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAsACAAYgB5ACAAYwBoAGEAbgBnAGkAbgBnACAAZgBvAHIAbQBhAHQAcwAgAG8AcgAgAGIAeQAgAHAAbwByAHQAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIAB0AG8AIABhAAoAbgBlAHcAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQALgAKAAoAIgBBAHUAdABoAG8AcgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAGQAZQBzAGkAZwBuAGUAcgAsACAAZQBuAGcAaQBuAGUAZQByACwAIABwAHIAbwBnAHIAYQBtAG0AZQByACwAIAB0AGUAYwBoAG4AaQBjAGEAbAAKAHcAcgBpAHQAZQByACAAbwByACAAbwB0AGgAZQByACAAcABlAHIAcwBvAG4AIAB3AGgAbwAgAGMAbwBuAHQAcgBpAGIAdQB0AGUAZAAgAHQAbwAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAuAAoACgBQAEUAUgBNAEkAUwBTAEkATwBOACAAJgAgAEMATwBOAEQASQBUAEkATwBOAFMACgBQAGUAcgBtAGkAcwBzAGkAbwBuACAAaQBzACAAaABlAHIAZQBiAHkAIABnAHIAYQBuAHQAZQBkACwAIABmAHIAZQBlACAAbwBmACAAYwBoAGEAcgBnAGUALAAgAHQAbwAgAGEAbgB5ACAAcABlAHIAcwBvAG4AIABvAGIAdABhAGkAbgBpAG4AZwAKAGEAIABjAG8AcAB5ACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIAB0AG8AIAB1AHMAZQAsACAAcwB0AHUAZAB5ACwAIABjAG8AcAB5ACwAIABtAGUAcgBnAGUALAAgAGUAbQBiAGUAZAAsACAAbQBvAGQAaQBmAHkALAAKAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlACwAIABhAG4AZAAgAHMAZQBsAGwAIABtAG8AZABpAGYAaQBlAGQAIABhAG4AZAAgAHUAbgBtAG8AZABpAGYAaQBlAGQAIABjAG8AcABpAGUAcwAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAKAFMAbwBmAHQAdwBhAHIAZQAsACAAcwB1AGIAagBlAGMAdAAgAHQAbwAgAHQAaABlACAAZgBvAGwAbABvAHcAaQBuAGcAIABjAG8AbgBkAGkAdABpAG8AbgBzADoACgAKADEAKQAgAE4AZQBpAHQAaABlAHIAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABuAG8AcgAgAGEAbgB5ACAAbwBmACAAaQB0AHMAIABpAG4AZABpAHYAaQBkAHUAYQBsACAAYwBvAG0AcABvAG4AZQBuAHQAcwAsAAoAaQBuACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACwAIABtAGEAeQAgAGIAZQAgAHMAbwBsAGQAIABiAHkAIABpAHQAcwBlAGwAZgAuAAoACgAyACkAIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAKAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUALAAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAaABhAHQAIABlAGEAYwBoACAAYwBvAHAAeQAKAGMAbwBuAHQAYQBpAG4AcwAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAHAAeQByAGkAZwBoAHQAIABuAG8AdABpAGMAZQAgAGEAbgBkACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAHMAZQAgAGMAYQBuACAAYgBlAAoAaQBuAGMAbAB1AGQAZQBkACAAZQBpAHQAaABlAHIAIABhAHMAIABzAHQAYQBuAGQALQBhAGwAbwBuAGUAIAB0AGUAeAB0ACAAZgBpAGwAZQBzACwAIABoAHUAbQBhAG4ALQByAGUAYQBkAGEAYgBsAGUAIABoAGUAYQBkAGUAcgBzACAAbwByAAoAaQBuACAAdABoAGUAIABhAHAAcAByAG8AcAByAGkAYQB0AGUAIABtAGEAYwBoAGkAbgBlAC0AcgBlAGEAZABhAGIAbABlACAAbQBlAHQAYQBkAGEAdABhACAAZgBpAGUAbABkAHMAIAB3AGkAdABoAGkAbgAgAHQAZQB4AHQAIABvAHIACgBiAGkAbgBhAHIAeQAgAGYAaQBsAGUAcwAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAbwBzAGUAIABmAGkAZQBsAGQAcwAgAGMAYQBuACAAYgBlACAAZQBhAHMAaQBsAHkAIAB2AGkAZQB3AGUAZAAgAGIAeQAgAHQAaABlACAAdQBzAGUAcgAuAAoACgAzACkAIABOAG8AIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbQBhAHkAIAB1AHMAZQAgAHQAaABlACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAKAE4AYQBtAGUAKABzACkAIAB1AG4AbABlAHMAcwAgAGUAeABwAGwAaQBjAGkAdAAgAHcAcgBpAHQAdABlAG4AIABwAGUAcgBtAGkAcwBzAGkAbwBuACAAaQBzACAAZwByAGEAbgB0AGUAZAAgAGIAeQAgAHQAaABlACAAYwBvAHIAcgBlAHMAcABvAG4AZABpAG4AZwAKAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIALgAgAFQAaABpAHMAIAByAGUAcwB0AHIAaQBjAHQAaQBvAG4AIABvAG4AbAB5ACAAYQBwAHAAbABpAGUAcwAgAHQAbwAgAHQAaABlACAAcAByAGkAbQBhAHIAeQAgAGYAbwBuAHQAIABuAGEAbQBlACAAYQBzAAoAcAByAGUAcwBlAG4AdABlAGQAIAB0AG8AIAB0AGgAZQAgAHUAcwBlAHIAcwAuAAoACgA0ACkAIABUAGgAZQAgAG4AYQBtAGUAKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABvAHIAIAB0AGgAZQAgAEEAdQB0AGgAbwByACgAcwApACAAbwBmACAAdABoAGUAIABGAG8AbgB0AAoAUwBvAGYAdAB3AGEAcgBlACAAcwBoAGEAbABsACAAbgBvAHQAIABiAGUAIAB1AHMAZQBkACAAdABvACAAcAByAG8AbQBvAHQAZQAsACAAZQBuAGQAbwByAHMAZQAgAG8AcgAgAGEAZAB2AGUAcgB0AGkAcwBlACAAYQBuAHkACgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACwAIABlAHgAYwBlAHAAdAAgAHQAbwAgAGEAYwBrAG4AbwB3AGwAZQBkAGcAZQAgAHQAaABlACAAYwBvAG4AdAByAGkAYgB1AHQAaQBvAG4AKABzACkAIABvAGYAIAB0AGgAZQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABhAG4AZAAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAHIAIAB3AGkAdABoACAAdABoAGUAaQByACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgAKAHAAZQByAG0AaQBzAHMAaQBvAG4ALgAKAAoANQApACAAVABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIABtAG8AZABpAGYAaQBlAGQAIABvAHIAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACwAIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACwACgBtAHUAcwB0ACAAYgBlACAAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAZQBuAHQAaQByAGUAbAB5ACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALAAgAGEAbgBkACAAbQB1AHMAdAAgAG4AbwB0ACAAYgBlAAoAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQAgAHIAZQBxAHUAaQByAGUAbQBlAG4AdAAgAGYAbwByACAAZgBvAG4AdABzACAAdABvAAoAcgBlAG0AYQBpAG4AIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGQAbwBlAHMAIABuAG8AdAAgAGEAcABwAGwAeQAgAHQAbwAgAGEAbgB5ACAAZABvAGMAdQBtAGUAbgB0ACAAYwByAGUAYQB0AGUAZAAKAHUAcwBpAG4AZwAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAuAAoACgBUAEUAUgBNAEkATgBBAFQASQBPAE4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGIAZQBjAG8AbQBlAHMAIABuAHUAbABsACAAYQBuAGQAIAB2AG8AaQBkACAAaQBmACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBuAGQAaQB0AGkAbwBuAHMAIABhAHIAZQAKAG4AbwB0ACAAbQBlAHQALgAKAAoARABJAFMAQwBMAEEASQBNAEUAUgAKAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAEkAUwAgAFAAUgBPAFYASQBEAEUARAAgACIAQQBTACAASQBTACIALAAgAFcASQBUAEgATwBVAFQAIABXAEEAUgBSAEEATgBUAFkAIABPAEYAIABBAE4AWQAgAEsASQBOAEQALAAKAEUAWABQAFIARQBTAFMAIABPAFIAIABJAE0AUABMAEkARQBEACwAIABJAE4AQwBMAFUARABJAE4ARwAgAEIAVQBUACAATgBPAFQAIABMAEkATQBJAFQARQBEACAAVABPACAAQQBOAFkAIABXAEEAUgBSAEEATgBUAEkARQBTACAATwBGAAoATQBFAFIAQwBIAEEATgBUAEEAQgBJAEwASQBUAFkALAAgAEYASQBUAE4ARQBTAFMAIABGAE8AUgAgAEEAIABQAEEAUgBUAEkAQwBVAEwAQQBSACAAUABVAFIAUABPAFMARQAgAEEATgBEACAATgBPAE4ASQBOAEYAUgBJAE4ARwBFAE0ARQBOAFQACgBPAEYAIABDAE8AUABZAFIASQBHAEgAVAAsACAAUABBAFQARQBOAFQALAAgAFQAUgBBAEQARQBNAEEAUgBLACwAIABPAFIAIABPAFQASABFAFIAIABSAEkARwBIAFQALgAgAEkATgAgAE4ATwAgAEUAVgBFAE4AVAAgAFMASABBAEwATAAgAFQASABFAAoAQwBPAFAAWQBSAEkARwBIAFQAIABIAE8ATABEAEUAUgAgAEIARQAgAEwASQBBAEIATABFACAARgBPAFIAIABBAE4AWQAgAEMATABBAEkATQAsACAARABBAE0AQQBHAEUAUwAgAE8AUgAgAE8AVABIAEUAUgAgAEwASQBBAEIASQBMAEkAVABZACwACgBJAE4AQwBMAFUARABJAE4ARwAgAEEATgBZACAARwBFAE4ARQBSAEEATAAsACAAUwBQAEUAQwBJAEEATAAsACAASQBOAEQASQBSAEUAQwBUACwAIABJAE4AQwBJAEQARQBOAFQAQQBMACwAIABPAFIAIABDAE8ATgBTAEUAUQBVAEUATgBUAEkAQQBMAAoARABBAE0AQQBHAEUAUwAsACAAVwBIAEUAVABIAEUAUgAgAEkATgAgAEEATgAgAEEAQwBUAEkATwBOACAATwBGACAAQwBPAE4AVABSAEEAQwBUACwAIABUAE8AUgBUACAATwBSACAATwBUAEgARQBSAFcASQBTAEUALAAgAEEAUgBJAFMASQBOAEcACgBGAFIATwBNACwAIABPAFUAVAAgAE8ARgAgAFQASABFACAAVQBTAEUAIABPAFIAIABJAE4AQQBCAEkATABJAFQAWQAgAFQATwAgAFUAUwBFACAAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFACAATwBSACAARgBSAE8ATQAKAE8AVABIAEUAUgAgAEQARQBBAEwASQBOAEcAUwAgAEkATgAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAuAABDb3B5cmlnaHQgKGMpIDIwMTcsIERhdHRvIEluYy4gKGZvbnRzQGRhdHRvLmNvbSksCndpdGggUmVzZXJ2ZWQgRm9udCBOYW1lIERhdHRvIERJTiBFeHAuCgpUaGlzIEZvbnQgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIFNJTCBPcGVuIEZvbnQgTGljZW5zZSwgVmVyc2lvbiAxLjEuClRoaXMgbGljZW5zZSBpcyBjb3BpZWQgYmVsb3csIGFuZCBpcyBhbHNvIGF2YWlsYWJsZSB3aXRoIGEgRkFRIGF0OgpodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClNJTCBPUEVOIEZPTlQgTElDRU5TRSBWZXJzaW9uIDEuMSAtIDI2IEZlYnJ1YXJ5IDIwMDcKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClBSRUFNQkxFClRoZSBnb2FscyBvZiB0aGUgT3BlbiBGb250IExpY2Vuc2UgKE9GTCkgYXJlIHRvIHN0aW11bGF0ZSB3b3JsZHdpZGUKZGV2ZWxvcG1lbnQgb2YgY29sbGFib3JhdGl2ZSBmb250IHByb2plY3RzLCB0byBzdXBwb3J0IHRoZSBmb250IGNyZWF0aW9uCmVmZm9ydHMgb2YgYWNhZGVtaWMgYW5kIGxpbmd1aXN0aWMgY29tbXVuaXRpZXMsIGFuZCB0byBwcm92aWRlIGEgZnJlZSBhbmQKb3BlbiBmcmFtZXdvcmsgaW4gd2hpY2ggZm9udHMgbWF5IGJlIHNoYXJlZCBhbmQgaW1wcm92ZWQgaW4gcGFydG5lcnNoaXAKd2l0aCBvdGhlcnMuCgpUaGUgT0ZMIGFsbG93cyB0aGUgbGljZW5zZWQgZm9udHMgdG8gYmUgdXNlZCwgc3R1ZGllZCwgbW9kaWZpZWQgYW5kCnJlZGlzdHJpYnV0ZWQgZnJlZWx5IGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IHNvbGQgYnkgdGhlbXNlbHZlcy4gVGhlCmZvbnRzLCBpbmNsdWRpbmcgYW55IGRlcml2YXRpdmUgd29ya3MsIGNhbiBiZSBidW5kbGVkLCBlbWJlZGRlZCwgCnJlZGlzdHJpYnV0ZWQgYW5kL29yIHNvbGQgd2l0aCBhbnkgc29mdHdhcmUgcHJvdmlkZWQgdGhhdCBhbnkgcmVzZXJ2ZWQKbmFtZXMgYXJlIG5vdCB1c2VkIGJ5IGRlcml2YXRpdmUgd29ya3MuIFRoZSBmb250cyBhbmQgZGVyaXZhdGl2ZXMsCmhvd2V2ZXIsIGNhbm5vdCBiZSByZWxlYXNlZCB1bmRlciBhbnkgb3RoZXIgdHlwZSBvZiBsaWNlbnNlLiBUaGUKcmVxdWlyZW1lbnQgZm9yIGZvbnRzIHRvIHJlbWFpbiB1bmRlciB0aGlzIGxpY2Vuc2UgZG9lcyBub3QgYXBwbHkKdG8gYW55IGRvY3VtZW50IGNyZWF0ZWQgdXNpbmcgdGhlIGZvbnRzIG9yIHRoZWlyIGRlcml2YXRpdmVzLgoKREVGSU5JVElPTlMKIkZvbnQgU29mdHdhcmUiIHJlZmVycyB0byB0aGUgc2V0IG9mIGZpbGVzIHJlbGVhc2VkIGJ5IHRoZSBDb3B5cmlnaHQKSG9sZGVyKHMpIHVuZGVyIHRoaXMgbGljZW5zZSBhbmQgY2xlYXJseSBtYXJrZWQgYXMgc3VjaC4gVGhpcyBtYXkKaW5jbHVkZSBzb3VyY2UgZmlsZXMsIGJ1aWxkIHNjcmlwdHMgYW5kIGRvY3VtZW50YXRpb24uCgoiUmVzZXJ2ZWQgRm9udCBOYW1lIiByZWZlcnMgdG8gYW55IG5hbWVzIHNwZWNpZmllZCBhcyBzdWNoIGFmdGVyIHRoZQpjb3B5cmlnaHQgc3RhdGVtZW50KHMpLgoKIk9yaWdpbmFsIFZlcnNpb24iIHJlZmVycyB0byB0aGUgY29sbGVjdGlvbiBvZiBGb250IFNvZnR3YXJlIGNvbXBvbmVudHMgYXMKZGlzdHJpYnV0ZWQgYnkgdGhlIENvcHlyaWdodCBIb2xkZXIocykuCgoiTW9kaWZpZWQgVmVyc2lvbiIgcmVmZXJzIHRvIGFueSBkZXJpdmF0aXZlIG1hZGUgYnkgYWRkaW5nIHRvLCBkZWxldGluZywKb3Igc3Vic3RpdHV0aW5nIC0tIGluIHBhcnQgb3IgaW4gd2hvbGUgLS0gYW55IG9mIHRoZSBjb21wb25lbnRzIG9mIHRoZQpPcmlnaW5hbCBWZXJzaW9uLCBieSBjaGFuZ2luZyBmb3JtYXRzIG9yIGJ5IHBvcnRpbmcgdGhlIEZvbnQgU29mdHdhcmUgdG8gYQpuZXcgZW52aXJvbm1lbnQuCgoiQXV0aG9yIiByZWZlcnMgdG8gYW55IGRlc2lnbmVyLCBlbmdpbmVlciwgcHJvZ3JhbW1lciwgdGVjaG5pY2FsCndyaXRlciBvciBvdGhlciBwZXJzb24gd2hvIGNvbnRyaWJ1dGVkIHRvIHRoZSBGb250IFNvZnR3YXJlLgoKUEVSTUlTU0lPTiAmIENPTkRJVElPTlMKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCmEgY29weSBvZiB0aGUgRm9udCBTb2Z0d2FyZSwgdG8gdXNlLCBzdHVkeSwgY29weSwgbWVyZ2UsIGVtYmVkLCBtb2RpZnksCnJlZGlzdHJpYnV0ZSwgYW5kIHNlbGwgbW9kaWZpZWQgYW5kIHVubW9kaWZpZWQgY29waWVzIG9mIHRoZSBGb250ClNvZnR3YXJlLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCjEpIE5laXRoZXIgdGhlIEZvbnQgU29mdHdhcmUgbm9yIGFueSBvZiBpdHMgaW5kaXZpZHVhbCBjb21wb25lbnRzLAppbiBPcmlnaW5hbCBvciBNb2RpZmllZCBWZXJzaW9ucywgbWF5IGJlIHNvbGQgYnkgaXRzZWxmLgoKMikgT3JpZ2luYWwgb3IgTW9kaWZpZWQgVmVyc2lvbnMgb2YgdGhlIEZvbnQgU29mdHdhcmUgbWF5IGJlIGJ1bmRsZWQsCnJlZGlzdHJpYnV0ZWQgYW5kL29yIHNvbGQgd2l0aCBhbnkgc29mdHdhcmUsIHByb3ZpZGVkIHRoYXQgZWFjaCBjb3B5CmNvbnRhaW5zIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGxpY2Vuc2UuIFRoZXNlIGNhbiBiZQppbmNsdWRlZCBlaXRoZXIgYXMgc3RhbmQtYWxvbmUgdGV4dCBmaWxlcywgaHVtYW4tcmVhZGFibGUgaGVhZGVycyBvcgppbiB0aGUgYXBwcm9wcmlhdGUgbWFjaGluZS1yZWFkYWJsZSBtZXRhZGF0YSBmaWVsZHMgd2l0aGluIHRleHQgb3IKYmluYXJ5IGZpbGVzIGFzIGxvbmcgYXMgdGhvc2UgZmllbGRzIGNhbiBiZSBlYXNpbHkgdmlld2VkIGJ5IHRoZSB1c2VyLgoKMykgTm8gTW9kaWZpZWQgVmVyc2lvbiBvZiB0aGUgRm9udCBTb2Z0d2FyZSBtYXkgdXNlIHRoZSBSZXNlcnZlZCBGb250Ck5hbWUocykgdW5sZXNzIGV4cGxpY2l0IHdyaXR0ZW4gcGVybWlzc2lvbiBpcyBncmFudGVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nCkNvcHlyaWdodCBIb2xkZXIuIFRoaXMgcmVzdHJpY3Rpb24gb25seSBhcHBsaWVzIHRvIHRoZSBwcmltYXJ5IGZvbnQgbmFtZSBhcwpwcmVzZW50ZWQgdG8gdGhlIHVzZXJzLgoKNCkgVGhlIG5hbWUocykgb2YgdGhlIENvcHlyaWdodCBIb2xkZXIocykgb3IgdGhlIEF1dGhvcihzKSBvZiB0aGUgRm9udApTb2Z0d2FyZSBzaGFsbCBub3QgYmUgdXNlZCB0byBwcm9tb3RlLCBlbmRvcnNlIG9yIGFkdmVydGlzZSBhbnkKTW9kaWZpZWQgVmVyc2lvbiwgZXhjZXB0IHRvIGFja25vd2xlZGdlIHRoZSBjb250cmlidXRpb24ocykgb2YgdGhlCkNvcHlyaWdodCBIb2xkZXIocykgYW5kIHRoZSBBdXRob3Iocykgb3Igd2l0aCB0aGVpciBleHBsaWNpdCB3cml0dGVuCnBlcm1pc3Npb24uCgo1KSBUaGUgRm9udCBTb2Z0d2FyZSwgbW9kaWZpZWQgb3IgdW5tb2RpZmllZCwgaW4gcGFydCBvciBpbiB3aG9sZSwKbXVzdCBiZSBkaXN0cmlidXRlZCBlbnRpcmVseSB1bmRlciB0aGlzIGxpY2Vuc2UsIGFuZCBtdXN0IG5vdCBiZQpkaXN0cmlidXRlZCB1bmRlciBhbnkgb3RoZXIgbGljZW5zZS4gVGhlIHJlcXVpcmVtZW50IGZvciBmb250cyB0bwpyZW1haW4gdW5kZXIgdGhpcyBsaWNlbnNlIGRvZXMgbm90IGFwcGx5IHRvIGFueSBkb2N1bWVudCBjcmVhdGVkCnVzaW5nIHRoZSBGb250IFNvZnR3YXJlLgoKVEVSTUlOQVRJT04KVGhpcyBsaWNlbnNlIGJlY29tZXMgbnVsbCBhbmQgdm9pZCBpZiBhbnkgb2YgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlCm5vdCBtZXQuCgpESVNDTEFJTUVSClRIRSBGT05UIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCkVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVElFUyBPRgpNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQKT0YgQ09QWVJJR0hULCBQQVRFTlQsIFRSQURFTUFSSywgT1IgT1RIRVIgUklHSFQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQpDT1BZUklHSFQgSE9MREVSIEJFIExJQUJMRSBG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') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


:root {
    --font-1: "D-DIN Exp",arial,helvetica, sans-serif;
    --font-2: arial,helvetica,"Montserrat", sans-serif;

    /* monospace
     */
    --font-mono: Consolas, "Andale Mono", Courier, "Courier New", monospace;
}


/* ------------------------------------------------------------------- 
 * ## colors
 * ------------------------------------------------------------------- */
:root {

    /* color-1(#d9083c)
     * color-2(#eb5e55)
     * color-3(#f2d0a4)
     */
    --color-1: hsla(345, 93%, 44%, 1);
    --color-2: hsla(4, 79%, 63%, 1);
    --color-3: hsla(34, 75%, 80%, 1);

    /* theme color variations
     */
    --color-1-lighter: hsla(345, 93%, 64%, 1);
    --color-1-light  : hsla(345, 93%, 54%, 1);
    --color-1-dark   : hsla(345, 93%, 34%, 1);
    --color-1-darker : hsla(345, 93%, 24%, 1);
    --color-2-lighter: hsla(4, 79%, 83%, 1);
    --color-2-light  : hsla(4, 79%, 73%, 1);
    --color-2-dark   : hsla(4, 79%, 53%, 1);
    --color-2-darker : hsla(4, 79%, 43%, 1);

    /* feedback colors
     * color-error(#ffd1d2), color-success(#c8e675), 
     * color-info(#d7ecfb), color-notice(#fff099)
     */
    --color-error          : hsla(359, 100%, 91%, 1);
    --color-success        : hsla(76, 69%, 68%, 1);
    --color-info           : hsla(205, 82%, 91%, 1);
    --color-notice         : hsla(51, 100%, 80%, 1);
    --color-error-content  : hsla(359, 50%, 50%, 1);
    --color-success-content: hsla(76, 29%, 28%, 1);
    --color-info-content   : hsla(205, 32%, 31%, 1);
    --color-notice-content : hsla(51, 30%, 30%, 1);

    /* shades 
     * generated using 
     * Tint & Shade Generator 
     * (https://maketintsandshades.com/)
     */
    --color-black  : #000000;
    --color-gray-19: #0b0b0c;
    --color-gray-18: #161719;
    --color-gray-17: #202225;
    --color-gray-16: #2b2e32;
    --color-gray-15: #363a3f;
    --color-gray-14: #41454b;
    --color-gray-13: #4c5158;
    --color-gray-12: #565c64;
    --color-gray-11: #616871;
    --color-gray-10: #6c737d;
    --color-gray-9 : #7b818a;
    --color-gray-8 : #898f97;
    --color-gray-7 : #989da4;
    --color-gray-6 : #a7abb1;
    --color-gray-5 : #b6b9be;
    --color-gray-4 : #c4c7cb;
    --color-gray-3 : #d3d5d8;
    --color-gray-2 : #e2e3e5;
    --color-gray-1 : #f0f1f2;
    --color-white  : #ffffff;

    /* text
     */
    --color-text       : var(--color-gray-10);
    --color-text-dark  : var(--color-white);
    --color-text-light : var(--color-gray-12);
    --color-placeholder: var(--color-gray-11);

    /* buttons
     */
    --color-btn                   : var(--color-gray-15);
    --color-btn-text              : var(--color-white);
    --color-btn-hover             : var(--color-white);
    --color-btn-hover-text        : var(--color-black);
    --color-btn-primary           : var(--color-1);
    --color-btn-primary-text      : var(--color-white);
    --color-btn-primary-hover     : var(--color-white);
    --color-btn-primary-hover-text: var(--color-black);
    --color-btn-stroke            : var(--color-white);
    --color-btn-stroke-text       : var(--color-white);
    --color-btn-stroke-hover      : var(--color-white);
    --color-btn-stroke-hover-text : var(--color-black);

    /* others
     */
    --color-body  : var(--color-1);
    --color-bg    : #14171B;
    --color-border: var(--color-gray-17);
}


/* ------------------------------------------------------------------- 
 * ## vertical spacing and typescale
 * ------------------------------------------------------------------- */
:root {

    /* spacing
     * base font size: 18px 
     * vertical space unit : 32px
     */
    --base-size     : 62.5%;
    --base-font-size: 1.8rem;
    --space         : 3.2rem;

    /* vertical spacing 
     */
    --vspace-0_25: calc(0.25 * var(--space));
    --vspace-0_5 : calc(0.5 * var(--space));
    --vspace-0_75: calc(0.75 * var(--space));
    --vspace-1   : calc(var(--space));
    --vspace-1_25: calc(1.25 * var(--space));
    --vspace-1_5 : calc(1.5 * var(--space));
    --vspace-1_75: calc(1.75 * var(--space));
    --vspace-2   : calc(2 * var(--space));
    --vspace-2_5 : calc(2.5 * var(--space));
    --vspace-3   : calc(3 * var(--space));
    --vspace-3_5 : calc(3.5 * var(--space));
    --vspace-4   : calc(4 * var(--space));

    /* type scale
     * ratio 1:2 | base: 18px
     * -------------------------------------------------------
     *
     * --text-display-3 = (77.40px)
     * --text-display-2 = (64.50px)
     * --text-display-1 = (53.75px)
     * --text-xxxl      = (44.79px)
     * --text-xxl       = (37.32px)
     * --text-xl        = (31.10px)
     * --text-lg        = (25.92px)
     * --text-md        = (21.60px)
     * --text-size      = (18.00px) BASE
     * --text-sm        = (15.00px)
     * --text-xs        = (12.50px)
     *
     * -------------------------------------------------------
     */
    --text-scale-ratio: 1.2;
    --text-size       : var(--base-font-size);
    --text-xs         : calc((var(--text-size) / var(--text-scale-ratio)) / var(--text-scale-ratio));
    --text-sm         : calc(var(--text-xs) * var(--text-scale-ratio));
    --text-md         : calc(var(--text-sm) * var(--text-scale-ratio) * var(--text-scale-ratio));
    --text-lg         : calc(var(--text-md) * var(--text-scale-ratio));
    --text-xl         : calc(var(--text-lg) * var(--text-scale-ratio));
    --text-xxl        : calc(var(--text-xl) * var(--text-scale-ratio));
    --text-xxxl       : calc(var(--text-xxl) * var(--text-scale-ratio));
    --text-display-1  : calc(var(--text-xxxl) * var(--text-scale-ratio));
    --text-display-2  : calc(var(--text-display-1) * var(--text-scale-ratio));
    --text-display-3  : calc(var(--text-display-2) * var(--text-scale-ratio));

    /* default button height
     */
    --vspace-btn: var(--vspace-2);
}

/* on mobile devices below 480px
 */
@media screen and (max-width: 480px) {
    :root {
        --base-font-size: 1.6rem;
        --space         : 2.8rem;
    }
}


/* ------------------------------------------------------------------- 
 * ## grid variables
 * ------------------------------------------------------------------- */
:root {

    /* widths for rows and containers
     */
    --width-full    : 100%;
    --width-max     : 1200px;
    --width-wide    : 1400px;
    --width-wider   : 1600px;
    --width-widest  : 1800px;
    --width-narrow  : 1000px;
    --width-narrower: 900px;
    --width-grid-max: var(--width-max);

    /* gutters
     */
    --gutter-lg : 2rem;
    --gutter-md : 1.6rem;
    --gutter-mob: 1rem;
}



/* ==========================================================================
 * # normalize
 * normalize.css v8.0.1 | MIT License |
 * github.com/necolas/normalize.css
 *
 * -------------------------------------------------------------------------- */

/* ------------------------------------------------------------------- 
 * ## document
 * ------------------------------------------------------------------- */

/* 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.*/

html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* ------------------------------------------------------------------- 
 * ## sections
 * ------------------------------------------------------------------- */

/* Remove the margin in all browsers. */

body {
    margin: 0;
}

/* Render the `main` element consistently in IE. */

main {
    display: block;
}

/* Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari. */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* ------------------------------------------------------------------- 
 * ## grouping
 * ------------------------------------------------------------------- */

/* 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE. */

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/* 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers. */

pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* ------------------------------------------------------------------- 
 * ## text-level semantics
 * ------------------------------------------------------------------- */

/* Remove the gray background on active links in IE 10. */

a {
    background-color: transparent;
}

/* 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */

abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/* Add the correct font weight in Chrome, Edge, and Safari. */

b, strong {
    font-weight: bolder;
}

/* 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers. */

code, kbd, samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Add the correct font size in all browsers. */

small {
    font-size: 80%;
}

/* Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers. */

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* ------------------------------------------------------------------- 
 * ## embedded content
 * ------------------------------------------------------------------- */

/* Remove the border on images inside links in IE 10. */

img {
    border-style: none;
}

/* ------------------------------------------------------------------- 
 * ## forms
 * ------------------------------------------------------------------- */

/* 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari. */

button, input, optgroup, select, textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/* Show the overflow in IE.
 * 1. Show the overflow in Edge. */

button, input {
    /* 1 */
    overflow: visible;
}

/* Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox. */

button, select {
    /* 1 */
    text-transform: none;
}

/* Correct the inability to style clickable types in iOS and Safari. */

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
}

/* Remove the inner border and padding in Firefox. */

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/* Restore the focus styles unset by the previous rule. */

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/* Correct the padding in Firefox. */

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/* 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers. */

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera. */

progress {
    vertical-align: baseline;
}

/* Remove the default vertical scrollbar in IE 10+. */

textarea {
    overflow: auto;
}

/* 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10. */

[type="checkbox"], [type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/* Correct the cursor style of increment and decrement buttons in Chrome. */

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/* 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari. */

[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/* Remove the inner padding in Chrome and Safari on macOS. */

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/* 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari. */

::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* ------------------------------------------------------------------- 
 * ## interactive
 * ------------------------------------------------------------------- */

/* Add the correct display in Edge, IE 10+, and Firefox. */

details {
    display: block;
}

/* Add the correct display in all browsers. */

summary {
    display: list-item;
}

/* ------------------------------------------------------------------- 
 * ## misc
 * ------------------------------------------------------------------- */

/* Add the correct display in IE 10+. */

template {
    display: none;
}

/* Add the correct display in IE 10. */

[hidden] {
    display: none;
}



/* ===================================================================
 * # basic/base setup styles
 *
 * ------------------------------------------------------------------- */
html {
    font-size: 62.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*, *::before, *::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

body {
    font-weight: normal;
    line-height: 1;
    word-wrap: break-word;
    -moz-font-smoothing: grayscale;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust: none;
}


/* ------------------------------------------------------------------- 
 * ## media
 * ------------------------------------------------------------------- */
svg, img, video embed, iframe, object {
    max-width: 100%;
    height: auto;
}


/* ------------------------------------------------------------------- 
 * ## typography resets
 * ------------------------------------------------------------------- */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

p {
    font-size: inherit;
    text-rendering: optimizeLegibility;
}

em, i {
    font-style: italic;
    line-height: inherit;
}

strong, b {
    font-weight: bold;
    line-height: inherit;
}

small {
    font-size: 60%;
    line-height: inherit;
}

ol, ul {
    list-style: none;
}

li {
    display: block;
}


/* ------------------------------------------------------------------- 
 * ## links
 * ------------------------------------------------------------------- */
a {
    text-decoration: none;
    line-height: inherit;
}

a img {
    border: none;
}


/* ------------------------------------------------------------------- 
 * ## inputs
 * ------------------------------------------------------------------- */
fieldset {
    margin: 0;
    padding: 0;
}

input[type="email"], 
input[type="number"], 
input[type="search"], 
input[type="text"], 
input[type="tel"], 
input[type="url"], 
input[type="password"], 
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}



/* ===================================================================
 * # Grid v3.0.0
 *
 *   -----------------------------------------------------------------
 * - Grid breakpoints are based on MAXIMUM WIDTH media queries, 
 *   meaning they apply to that one breakpoint and ALL THOSE BELOW IT.
 * - Grid columns without a specified width will automatically layout 
 *   as equal width columns.
 * ------------------------------------------------------------------- */

/* rows
 * ------------------------------------- */
.row {
    width: 92%;
    max-width: var(--width-grid-max);
    margin: 0 auto;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
}

.row .row {
    width: auto;
    max-width: none;
    margin-left: calc(var(--gutter-lg) * -1);
    margin-right: calc(var(--gutter-lg) * -1);
}

/* columns
 * -------------------------------------- */
.column {
    -ms-flex: 1 1 0%;
    -webkit-box-flex: 1;
    flex: 1 1 0%;
    padding: 0 var(--gutter-lg);
}

.collapse>.column, .column.collapse {
    padding: 0;
}

/* flex row containers utility classes
 */
.row.row-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.row.row-nowrap {
    -ms-flex-wrap: none;
    flex-wrap: nowrap;
}

.row.row-y-top {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
}

.row.row-y-bottom {
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
}

.row.row-y-center {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
}

.row.row-stretch {
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
    align-items: stretch;
}

.row.row-baseline {
    -ms-flex-align: baseline;
    -webkit-box-align: baseline;
    align-items: baseline;
}

.row.row-x-left {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
}

.row.row-x-right {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
    justify-content: flex-end;
}

.row.row-x-center {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
}

/* flex item utility alignment classes
 */
.align-center {
    margin: auto;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.align-left {
    margin-right: auto;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.align-right {
    margin-left: auto;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.align-x-center {
    margin-right: auto;
    margin-left: auto;
}

.align-x-left {
    margin-right: auto;
}

.align-x-right {
    margin-left: auto;
}

.align-y-center {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.align-y-top {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.align-y-bottom {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

/* large screen column widths 
 */
.large-1 {
    -ms-flex: 0 0 8.33333%;
    -webkit-box-flex: 0;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
}

.large-2 {
    -ms-flex: 0 0 16.66667%;
    -webkit-box-flex: 0;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}

.large-3 {
    -ms-flex: 0 0 25%;
    -webkit-box-flex: 0;
    flex: 0 0 25%;
    max-width: 25%;
}

.large-4 {
    -ms-flex: 0 0 33.33333%;
    -webkit-box-flex: 0;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.large-5 {
    -ms-flex: 0 0 41.66667%;
    -webkit-box-flex: 0;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}

.large-6 {
    -ms-flex: 0 0 50%;
    -webkit-box-flex: 0;
    flex: 0 0 50%;
    max-width: 50%;
}

.large-7 {
    -ms-flex: 0 0 58.33333%;
    -webkit-box-flex: 0;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}

.large-8 {
    -ms-flex: 0 0 66.66667%;
    -webkit-box-flex: 0;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}

.large-9 {
    -ms-flex: 0 0 75%;
    -webkit-box-flex: 0;
    flex: 0 0 75%;
    max-width: 75%;
}

.large-10 {
    -ms-flex: 0 0 83.33333%;
    -webkit-box-flex: 0;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
}

.large-11 {
    -ms-flex: 0 0 91.66667%;
    -webkit-box-flex: 0;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
}

.large-12 {
    -ms-flex: 0 0 100%;
    -webkit-box-flex: 0;
    flex: 0 0 100%;
    max-width: 100%;
}


/* ------------------------------------------------------------------- 
 * ## medium screen devices
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
    .row .row {
        margin-left: calc(var(--gutter-md) * -1);
        margin-right: calc(var(--gutter-md) * -1);
    }
    .column {
        padding: 0 var(--gutter-md);
    }
    .medium-1 {
        -ms-flex: 0 0 8.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .medium-2 {
        -ms-flex: 0 0 16.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .medium-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .medium-4 {
        -ms-flex: 0 0 33.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .medium-5 {
        -ms-flex: 0 0 41.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .medium-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .medium-7 {
        -ms-flex: 0 0 58.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .medium-8 {
        -ms-flex: 0 0 66.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .medium-9 {
        -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .medium-10 {
        -ms-flex: 0 0 83.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .medium-11 {
        -ms-flex: 0 0 91.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .medium-12 {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ------------------------------------------------------------------- 
 * ## tablets
 * ------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
    .row {
        width: 90%;
    }
    .tab-1 {
        -ms-flex: 0 0 8.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .tab-2 {
        -ms-flex: 0 0 16.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .tab-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .tab-4 {
        -ms-flex: 0 0 33.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .tab-5 {
        -ms-flex: 0 0 41.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .tab-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .tab-7 {
        -ms-flex: 0 0 58.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .tab-8 {
        -ms-flex: 0 0 66.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .tab-9 {
        -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .tab-10 {
        -ms-flex: 0 0 83.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .tab-11 {
        -ms-flex: 0 0 91.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .tab-12 {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .hide-on-tablet {
        display: none;
    }
}


/* ------------------------------------------------------------------- 
 * ## mobile devices
 * ------------------------------------------------------------------- */
@media screen and (max-width: 600px) {
    .row {
        width: 100%;
        padding-left: 6vw;
        padding-right: 6vw;
    }
    .row .row {
        margin-left: calc(var(--gutter-mob) * -1);
        margin-right: calc(var(--gutter-mob) * -1);
        padding-left: 0;
        padding-right: 0;
    }
    .column {
        padding: 0 var(--gutter-mob);
    }
    .mob-1 {
        -ms-flex: 0 0 8.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .mob-2 {
        -ms-flex: 0 0 16.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .mob-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .mob-4 {
        -ms-flex: 0 0 33.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .mob-5 {
        -ms-flex: 0 0 41.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .mob-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .mob-7 {
        -ms-flex: 0 0 58.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .mob-8 {
        -ms-flex: 0 0 66.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .mob-9 {
        -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .mob-10 {
        -ms-flex: 0 0 83.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .mob-11 {
        -ms-flex: 0 0 91.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .mob-12 {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .hide-on-mobile {
        display: none;
    }
}

/* ------------------------------------------------------------------- 
 * ## small mobile devices <= 400px
 * ------------------------------------------------------------------- */
@media screen and (max-width: 400px) {
    .row .row {
        margin-left: 0;
        margin-right: 0;
    }
    .column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
}



/* ===================================================================
 * # block grids
 *
 * -------------------------------------------------------------------
 * Equally-sized columns define at parent/row level.
 * ------------------------------------------------------------------- */
.block-large-1-8>.column {
    -ms-flex: 0 0 12.5%;
    -webkit-box-flex: 0;
    flex: 0 0 12.5%;
    max-width: 12.5%;
}

.block-large-1-6>.column {
    -ms-flex: 0 0 16.66667%;
    -webkit-box-flex: 0;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}

.block-large-1-5>.column {
    -ms-flex: 0 0 20%;
    -webkit-box-flex: 0;
    flex: 0 0 20%;
    max-width: 20%;
}

.block-large-1-4>.column {
    -ms-flex: 0 0 25%;
    -webkit-box-flex: 0;
    flex: 0 0 25%;
    max-width: 25%;
}

.block-large-1-3>.column {
    -ms-flex: 0 0 33.33333%;
    -webkit-box-flex: 0;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.block-large-1-2>.column {
    -ms-flex: 0 0 50%;
    -webkit-box-flex: 0;
    flex: 0 0 50%;
    max-width: 50%;
}

.block-large-full>.column {
    -ms-flex: 0 0 100%;
    -webkit-box-flex: 0;
    flex: 0 0 100%;
    max-width: 100%;
}


/* ------------------------------------------------------------------- 
 * ## block grids - medium screen devices
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
    .block-medium-1-8>.column {
        -ms-flex: 0 0 12.5%;
        -webkit-box-flex: 0;
        flex: 0 0 12.5%;
        max-width: 12.5%;
    }
    .block-medium-1-6>.column {
        -ms-flex: 0 0 16.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .block-medium-1-5>.column {
        -ms-flex: 0 0 20%;
        -webkit-box-flex: 0;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .block-medium-1-4>.column {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .block-medium-1-3>.column {
        -ms-flex: 0 0 33.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .block-medium-1-2>.column {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .block-medium-full>.column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ------------------------------------------------------------------- 
 * ## block grids - tablets
 * ------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
    .block-tab-1-8>.column {
        -ms-flex: 0 0 12.5%;
        -webkit-box-flex: 0;
        flex: 0 0 12.5%;
        max-width: 12.5%;
    }
    .block-tab-1-6>.column {
        -ms-flex: 0 0 16.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .block-tab-1-5>.column {
        -ms-flex: 0 0 20%;
        -webkit-box-flex: 0;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .block-tab-1-4>.column {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .block-tab-1-3>.column {
        -ms-flex: 0 0 33.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .block-tab-1-2>.column {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .block-tab-full>.column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ------------------------------------------------------------------- 
 * ## block grids - mobile devices
 * ------------------------------------------------------------------- */
@media screen and (max-width: 600px) {
    .block-mob-1-8>.column {
        -ms-flex: 0 0 12.5%;
        -webkit-box-flex: 0;
        flex: 0 0 12.5%;
        max-width: 12.5%;
    }
    .block-mob-1-6>.column {
        -ms-flex: 0 0 16.66667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .block-mob-1-5>.column {
        -ms-flex: 0 0 20%;
        -webkit-box-flex: 0;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .block-mob-1-4>.column {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .block-mob-1-3>.column {
        -ms-flex: 0 0 33.33333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .block-mob-1-2>.column {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .block-mob-full>.column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ------------------------------------------------------------------- 
 * ## block grids - small mobile devices <= 400px
 * ------------------------------------------------------------------- */
@media screen and (max-width: 400px) {
    .stack>.column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
}



/* ===================================================================
 * # MISC
 *
 * ------------------------------------------------------------------- */
.h-group:after {
    content: "";
    display: table;
    clear: both;
}

/* misc helper classes
 */
.is-hidden {
    display: none;
}
.is-invisible {
    visibility: hidden;
}
.h-antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.h-overflow-hidden {
    overflow: hidden;
}
.h-remove-top {
    margin-top: 0;
}
.h-remove-bottom {
    margin-bottom: 0;
}
.h-add-half-bottom {
    margin-bottom: var(--vspace-0_5) !important;
}
.h-add-bottom {
    margin-bottom: var(--vspace-1) !important;
}
.h-no-border {
    border: none;
}
.h-full-width {
    width: 100%;
}
.h-text-center {
    text-align: center;
}
.h-text-left {
    text-align: left;
}
.h-text-right {
    text-align: right;
}
.h-pull-left {
    float: left;
}
.h-pull-right {
    float: right;
}



/* ===================================================================
 * # custom grid, block grid STACK breakpoints 
 *
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
    .block-1000-stack>.column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
}
@media screen and (max-width: 900px) {
    .w-900-stack, .block-900-stack>.column {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%;
    }
}



/* ===================================================================
 * # base style overrides
 *
 * ------------------------------------------------------------------- */
html {
    font-size: var(--base-size);
}

html, body {
    height: 100%;
}

body {
    background: var(--color-body);
    font-family: var(--font-1);
    font-size: var(--text-size);
    font-style: normal;
    font-weight: normal;
    line-height: var(--vspace-1);
    color: var(--color-text);
    margin: 0;
    padding: 0;
}


/* ------------------------------------------------------------------- 
 * ## links
 * ------------------------------------------------------------------- */
a {
    color: var(--color-1-light);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

a:hover, a:focus, a:active {
    color: white;
}

a:hover, a:active {
    outline: 0;
}



/* ===================================================================
 * # typography & general theme styles
 * 
 * ------------------------------------------------------------------- */

/* type scale - ratio 1:2 | base: 18px
 * -------------------------------------------------------------------
    --text-display-3 = (77.40px)
    --text-display-2 = (64.50px)
    --text-display-1 = (53.75px)
    --text-xxxl      = (44.79px)
    --text-xxl       = (37.32px)
    --text-xl        = (31.10px)
    --text-lg        = (25.92px)
    --text-md        = (21.60px)
    --text-size      = (18.00px) BASE
    --text-sm        = (15.00px)
    --text-xs        = (12.50px)
 * -------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-2);
    font-weight: 500;
    font-style: normal;
    color: var(--color-text-dark);
    -webkit-font-variant-ligatures: common-ligatures;
    font-variant-ligatures: common-ligatures;
    text-rendering: optimizeLegibility;
}

h1, .h1 {
    margin-top: var(--vspace-2_5);
    margin-bottom: var(--vspace-0_75);
}

h2, .h2, h3, .h3, h4, .h4 {
    margin-top: var(--vspace-2);
    margin-bottom: var(--vspace-0_5);
}

h5, .h5, h6, .h6 {
    margin-top: var(--vspace-1_5);
    margin-bottom: var(--vspace-0_5);
}

h1, .h1 {
    font-size: var(--text-display-1);
    line-height: var(--vspace-2);
    letter-spacing: -.015em;
}

@media screen and (max-width: 400px) {
    h1, .h1 {
        font-size: var(--text-xxxl);
        line-height: var(--vspace-1_75);
    }
}

h2, .h2 {
    font-size: var(--text-xxl);
    line-height: var(--vspace-1_5);
}

h3, .h3 {
    font-size: var(--text-xl);
    line-height: var(--vspace-1_25);
}

h4, .h4 {
    font-size: var(--text-lg);
    line-height: var(--vspace-1);
}

h5, .h5 {
    font-size: var(--text-md);
    line-height: calc(0.875 * var(--space));
}

h6, .h6 {
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: var(--vspace-0_75);
    text-transform: uppercase;
    letter-spacing: .22em;
}

.lead, .attention-getter {
    font-family: var(--font-1);
    font-weight: 400;
    font-size: var(--text-md);
    line-height: calc(1.125 * var(--space));
}

@media screen and (max-width: 400px) {
    .lead, .attention-getter {
        font-size: 1.9rem;
    }
}

figure img, p img {
    margin: 0;
    vertical-align: bottom;
}

em, i, strong, b {
    font-size: inherit;
    line-height: inherit;
}

em, i {
    font-family: var(--font-1);
    font-style: italic;
}

strong, b {
    font-family: var(--font-1);
    font-weight: 600;
}

small {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: calc(0.5 * var(--space));
}

blockquote {
    margin: 0 0 var(--vspace-1) 0;
    padding: var(--vspace-1) var(--vspace-1_5);
    border-left: 4px solid var(--color-text-light);
    position: relative;
}

@media screen and (max-width: 400px) {
    blockquote {
        padding: var(--vspace-0_75) var(--vspace-0_75);
    }
}

blockquote p {
    font-family: var(--font-1);
    font-weight: 400;
    font-size: var(--text-md);
    font-style: normal;
    line-height: calc(1.125 * var(--space));
    color: var(--color-text-dark);
    padding: 0;
}

blockquote cite {
    display: block;
    font-family: var(--font-1);
    font-weight: 400;
    font-size: var(--text-sm);
    line-height: var(--vspace-0_75);
    font-style: normal;
}

blockquote cite:before {
    content: "\2014 \0020";
}

blockquote cite, blockquote cite a, blockquote cite a:visited {
    color: var(--color-text);
    border: none;
}

figure {
    display: block;
    margin-left: 0;
    margin-right: 0;
}

figure img+figcaption {
    margin-top: var(--vspace-1);
}

figcaption {
    font-size: var(--text-sm);
    text-align: center;
    margin-bottom: 0;
}

var, kbd, samp, code, pre {
    font-family: var(--font-mono);
}

pre {
    padding: var(--vspace-0_75) var(--vspace-1) var(--vspace-1);
    background: var(--color-gray-18);
    overflow-x: auto;
}

code {
    font-size: var(--text-sm);
    line-height: 1.6rem;
    margin: 0 .2rem;
    padding: calc(((var(--vspace-1) - 1.6rem) / 2) - .1rem) calc(.8rem - .1rem);
    white-space: nowrap;
    background: var(--color-gray-18);
    border: 1px solid var(--color-gray-17);
    color: var(--color-text-dark);
    border-radius: 3px;
}

pre>code {
    display: block;
    white-space: pre;
    line-height: var(--vspace-1);
    padding: 0;
    margin: 0;
    border: none;
}

.prettyprint code {
    background: var(--color-gray-2);
}

pre.prettyprint>code {
    border: none;
}

del {
    text-decoration: line-through;
}

abbr {
    font-family: var(--font-1);
    font-weight: 600;
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: .1em;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
    text-decoration: none;
}

mark {
    background: var(--color-3);
    color: black;
}

hr {
    border: solid var(--color-border);
    border-width: .1rem 0 0;
    clear: both;
    margin: var(--vspace-2) 0 calc(var(--vspace-2) - .1rem);
    height: 0;
}

hr.fancy {
    border: none;
    margin: var(--vspace-2) 0;
    height: var(--vspace-1);
    text-align: center;
}

hr.fancy::before {
    content: "*****";
    letter-spacing: .3em;
}


/* ------------------------------------------------------------------- 
 * ## lists
 * ------------------------------------------------------------------- */
ol {
    list-style: decimal;
}
ul {
    list-style: disc;
}
li {
    display: list-item;
}
ol, ul {
    margin-left: 1.6rem;
}
ul li {
    padding-left: .4rem;
}
ul ul, ul ol, ol ol, ol ul {
    margin: var(--vspace-0_5) 0 var(--vspace-0_5) var(--vspace-0_5);
}

ul.disc li {
    display: list-item;
    list-style: none;
    padding: 0 0 0 .8rem;
    position: relative;
}

ul.disc li::before {
    content: "";
    display: inline-block;
    width: var(--vspace-0_25);
    height: var(--vspace-0_25);
    border-radius: 50%;
    background: var(--color-1-dark);
    position: absolute;
    left: -.9em;
    top: .65em;
    vertical-align: middle;
}

dt {
    margin: 0;
    color: var(--color-1);
}

dd {
    margin: 0 0 0 2rem;
}


/* ------------------------------------------------------------------- 
 * ## responsive video container
 * ------------------------------------------------------------------- */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.video-container iframe, 
.video-container object, 
.video-container embed, 
.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* ------------------------------------------------------------------- 
 * ## floated image
 * ------------------------------------------------------------------- */
img.h-pull-right {
    margin: var(--vspace-0_5) 0 var(--vspace-0_5) 2.8rem;
}

img.h-pull-left {
    margin: var(--vspace-0_5) 2.8rem var(--vspace-0_5) 0;
}


/* ------------------------------------------------------------------- 
 * ## tables
 * ------------------------------------------------------------------- */
table {
    border-width: 0;
    width: 100%;
    max-width: 100%;
    font-family: var(--font-1);
    border-collapse: collapse;
}

th, td {
    padding: var(--vspace-0_5) 3.2rem calc(var(--vspace-0_5) - .1rem);
    text-align: left;
    border-bottom: 1px solid var(--color-border);
}

th {
    padding: var(--vspace-0_5) 3.2rem;
    color: var(--color-text-dark);
    font-family: var(--font-2);
    font-weight: 600;
}

th:first-child, 
td:first-child {
    padding-left: 0;
}

th:last-child, td:last-child {
    padding-right: 0;
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}


/* ------------------------------------------------------------------- 
 * ## spacing
 * ------------------------------------------------------------------- */
img, 
p, 
pre, 
table, 
blockquote, 
figure, 
figcaption, 
ul, 
ol,
dl, 
form, 
fieldset, 
input, 
textarea, 
select, 
button, 
.btn, 
.video-container, 
.ss-custom-select {
    margin-bottom: var(--vspace-1);
}



/* ===================================================================
 * # preloader
 *
 * ------------------------------------------------------------------- */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-bg);
    z-index: 500;
    height: 100vh;
    width: 100%;
    overflow: hidden;
}

.no-js #preloader, .oldie #preloader {
    display: none;
}

#loader {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    padding: 0;
    display: inline-block;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}

#loader>div {
    content: "";
    background: white;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
}

#loader>div:nth-of-type(1) {
    left: 15px;
}

#loader>div:nth-of-type(3) {
    left: -15px;
}

/* dots jump */
.dots-jump>div {
    -webkit-animation: dots-jump 1.2s infinite ease;
    animation: dots-jump 1.2s infinite ease;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.dots-jump>div:nth-of-type(1) {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}

.dots-jump>div:nth-of-type(3) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

@-webkit-keyframes dots-jump {
    0% {
        top: 0;
    }
    40% {
        top: -6px;
    }
    80% {
        top: 0;
    }
}

@keyframes dots-jump {
    0% {
        top: 0;
    }
    40% {
        top: -6px;
    }
    80% {
        top: 0;
    }
}

/* dots fade */
.dots-fade>div {
    -webkit-animation: dots-fade 1.6s infinite ease;
    animation: dots-fade 1.6s infinite ease;
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}

.dots-fade>div:nth-of-type(1) {
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
}

.dots-fade>div:nth-of-type(3) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

@-webkit-keyframes dots-fade {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 0.2;
    }
    80% {
        opacity: 1;
    }
}

@keyframes dots-fade {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 0.2;
    }
    80% {
        opacity: 1;
    }
}

/* dots pulse */
.dots-pulse>div {
    -webkit-animation: dots-pulse 1.2s infinite ease;
    animation: dots-pulse 1.2s infinite ease;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.dots-pulse>div:nth-of-type(1) {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}

.dots-pulse>div:nth-of-type(3) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

@-webkit-keyframes dots-pulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    40% {
        -webkit-transform: scale(1.1);
        transform: scale(1.3);
    }
    80% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes dots-pulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    40% {
        -webkit-transform: scale(1.1);
        transform: scale(1.3);
    }
    80% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}



/* ===================================================================
 * # forms 
 *
 * ------------------------------------------------------------------- */
fieldset {
    border: none;
    margin-bottom: var(--vspace-0_5);
}

input[type="email"], 
input[type="number"], 
input[type="search"], 
input[type="text"], 
input[type="tel"], 
input[type="url"], 
input[type="password"], 
textarea, 
select {
    --input-height: var(--vspace-2);
    --input-line-height: var(--vspace-1);
    --input-vpadding: calc(((var(--input-height) - var(--input-line-height)) / 2) - .1rem);

    display: block;
    height: var(--input-height);
    padding: var(--input-vpadding) calc(2.4rem - .1rem);
    border: 0;
    outline: none;
    color: var(--color-placeholder);
    font-family: var(--font-1);
    font-size: var(--text-sm);
    line-height: var(--input-line-height);
    max-width: 100%;
    background-color: var(--color-gray-17);
    border: .1rem solid transparent;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    border-radius: 4px;
}

.ss-custom-select {
    position: relative;
    padding: 0;
}

.ss-custom-select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    margin: 0;
    vertical-align: middle;
}

.ss-custom-select select option {
    padding-left: 2rem;
    padding-right: 2rem;
}

.ss-custom-select select::-ms-expand {
    display: none;
}

.ss-custom-select::after {
    border-bottom: 2px solid var(--color-white);
    border-right: 2px solid var(--color-white);
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    margin-top: -7px;
    pointer-events: none;
    position: absolute;
    right: 2.4rem;
    top: 50%;
    -webkit-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    -webkit-transform-origin: 66% 66%;
    transform-origin: 66% 66%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

textarea {
    min-height: calc(8 * var(--space));
}

input[type="email"]:focus, 
input[type="number"]:focus, 
input[type="search"]:focus, 
input[type="text"]:focus, 
input[type="tel"]:focus, 
input[type="url"]:focus, 
input[type="password"]:focus, 
textarea:focus, 
select:focus {
    color: white;
    -webkit-box-shadow: 0 0 8px var(--color-gray-15);
    box-shadow: 0 0 8px var(--color-gray-15);
    border: 1px solid var(--color-gray-15);
}

label, legend {
    font-family: var(--font-1);
    font-weight: 600;
    font-size: var(--text-sm);
    line-height: var(--vspace-0_5);
    margin-bottom: var(--vspace-0_5);
    color: var(--color-text-dark);
    display: block;
}

input[type="checkbox"], 
input[type="radio"] {
    display: inline;
}

label>.label-text {
    display: inline-block;
    margin-left: 1rem;
    font-family: var(--font-1);
    line-height: inherit;
}

label>input[type="checkbox"], 
label>input[type="radio"] {
    margin: 0;
    position: relative;
    top: .2rem;
}


/* ------------------------------------------------------------------- 
 * ## style placeholder text
 * ------------------------------------------------------------------- */
::-webkit-input-placeholder {
    /* WebKit, Blink, Edge */
    color: var(--color-placeholder);
}
:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--color-placeholder);
}
::-ms-input-placeholder {
    /* Microsoft Edge */
    color: var(--color-placeholder);
}
::placeholder {
    /* Most modern browsers support this now. */
    color: var(--color-placeholder);
}
.placeholder {
    color: var(--color-placeholder) !important;
}


/* ------------------------------------------------------------------- 
 * ## change autocomplete styles in Chrome
 * ------------------------------------------------------------------- */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus input:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--color-1);
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
}



/* ===================================================================
 * # buttons
 *
 * ------------------------------------------------------------------- */
.btn, 
button, 
input[type="submit"], 
input[type="reset"], 
input[type="button"] {
    --btn-height: var(--vspace-btn);

    display: inline-block;
    font-family: var(--font-2);
    font-weight: 600;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .5em;
    height: var(--btn-height);
    line-height: calc(var(--btn-height) - .4rem);
    padding: 0 3.2rem;
    margin: 0 0.4rem var(--vspace-0_5) 0;
    color: var(--color-btn-text);
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--color-btn);
    border: 0.2rem solid var(--color-btn);
}

.btn:hover, 
button:hover, 
input[type="submit"]:hover, 
input[type="reset"]:hover, 
input[type="button"]:hover, 
.btn:focus, 
button:focus, 
input[type="submit"]:focus, 
input[type="reset"]:focus, 
input[type="button"]:focus {
    background-color: var(--color-btn-hover);
    border-color: var(--color-btn-hover);
    color: var(--color-btn-hover-text);
    outline: 0;
}

/* button primary
 * ------------------------------------------------- */
.btn.btn--primary, 
button.btn--primary, 
input[type="submit"].btn--primary, 
input[type="reset"].btn--primary, 
input[type="button"].btn--primary {
    background: var(--color-btn-primary);
    border-color: var(--color-btn-primary);
    color: var(--color-btn-primary-text);
}

.btn.btn--primary:hover, 
button.btn--primary:hover, 
input[type="submit"].btn--primary:hover, 
input[type="reset"].btn--primary:hover, 
input[type="button"].btn--primary:hover, 
.btn.btn--primary:focus, 
button.btn--primary:focus, 
input[type="submit"].btn--primary:focus, 
input[type="reset"].btn--primary:focus, 
input[type="button"].btn--primary:focus {
    background: var(--color-btn-primary-hover);
    border-color: var(--color-btn-primary-hover);
    color: var(--color-btn-primary-hover-text);
}

/* button modifiers
 * ------------------------------------------------- */
.btn.h-full-width, 
button.h-full-width {
    width: 100%;
    margin-right: 0;
}

.btn--small, 
button.btn--small {
    font-size: 1.2rem;
    --btn-height: calc(var(--vspace-btn) - var(--vspace-0_5));
}

.btn--medium, 
button.btn--medium {
    --btn-height: calc(var(--vspace-btn) + var(--vspace-0_25));
}

.btn--large, 
button.btn--large {
    --btn-height: calc(var(--vspace-btn) + var(--vspace-0_5));
}

.btn--stroke, 
button.btn--stroke {
    background: transparent !important;
    border: 0.2rem solid var(--color-btn-stroke);
    color: var(--color-btn-stroke-text);
}

.btn--stroke:hover, 
button.btn--stroke:hover {
    background: var(--color-btn-stroke-hover) !important;
    border: 0.2rem solid var(--color-btn-stroke-hover);
    color: var(--color-btn-stroke-hover-text);
}

.btn--pill, 
button.btn--pill {
    padding-left: 3.2rem !important;
    padding-right: 3.2rem !important;
    border-radius: 1000px !important;
}

button::-moz-focus-inner, 
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}



/* =================================================================== 
 * # additional components
 *
 * ------------------------------------------------------------------- */

/* ------------------------------------------------------------------- 
 * ## additional typo styles
 * ------------------------------------------------------------------- */
.drop-cap:first-letter {
    float: left;
    font-family: var(--font-2);
    font-weight: 600;
    font-size: calc(3 * var(--space));
    line-height: 1;
    padding: 0 0.125em 0 0;
    text-transform: uppercase;
    background: transparent;
    color: var(--color-text-dark);
}

/* line definition style 
 * ----------------------------------------------- */
.lining dt, .lining dd {
    display: inline;
    margin: 0;
}

.lining dt+dt:before, .lining dd+dt:before {
    content: "\A";
    white-space: pre;
}

.lining dd+dd:before {
    content: ", ";
}

.lining dd+dd:before {
    content: ", ";
}

.lining dd:before {
    content: ": ";
    margin-left: -0.2em;
}

/* dictionary definition style 
 * ----------------------------------------------- */
.dictionary-style dt {
    display: inline;
    counter-reset: definitions;
}

.dictionary-style dt+dt:before {
    content: ", ";
    margin-left: -0.2em;
}

.dictionary-style dd {
    display: block;
    counter-increment: definitions;
}

.dictionary-style dd:before {
    content: counter(definitions, decimal) ". ";
}

/** 
 * Pull Quotes
 * -----------
 * markup:
 *
 * <figure class="pull-quote">
 *		<blockquote>
 *			<p></p>
 *		</blockquote>
 * </figure>
 *
 * --------------------------------------------------------------------- */
.pull-quote {
    position: relative;
    padding: 0;
    margin-top: 0;
    text-align: center;
}

.pull-quote blockquote {
    border: none;
    margin: 0 auto;
    max-width: 62rem;
    padding-top: var(--vspace-2_5);
    position: relative;
}

.pull-quote blockquote p {
    font-weight: 400;
    color: var(--color-text-dark);
}

.pull-quote blockquote:before {
    content: "";
    display: block;
    height: var(--vspace-1);
    width: var(--vspace-1);
    background-repeat: no-repeat;
    background: center center;
    background-size: contain;
    background-image: url(../images/icons/icon-quote.svg);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: var(--vspace-1);
    left: 50%;
}

/** 
 * Stats Tab
 * ---------
 * markup:
 *
 * <ul class="stats-tabs">
 *		<li><a href="#">[value]<em>[name]</em></a></li>
 *	</ul>
 *
 * Extend this object into your markup.
 *
 * --------------------------------------------------------------------- */
.stats-tabs {
    padding: 0;
    margin: var(--vspace-1) 0;
}

.stats-tabs li {
    display: inline-block;
    margin: 0 1.6rem var(--vspace-0_5) 0;
    padding: 0 1.5rem 0 0;
    border-right: 1px solid var(--color-border);
}

.stats-tabs li:last-child {
    margin: 0;
    padding: 0;
    border: none;
}

.stats-tabs li a {
    display: inline-block;
    font-size: var(--text-lg);
    font-family: var(--font-2);
    font-weight: 500;
    line-height: var(--vspace-1_5);
    border: none;
    color: var(--color-white);
}

.stats-tabs li a:hover {
    color: var(--color-1-light);
}

.stats-tabs li a em {
    display: block;
    margin: 0;
    font-family: var(--font-1);
    font-size: var(--text-sm);
    line-height: var(--vspace-0_5);
    font-weight: normal;
    font-style: normal;
    color: var(--color-text-light);
}


/* ------------------------------------------------------------------- 
 * ## skillbars
 * ------------------------------------------------------------------- */
.skill-bars {
    list-style: none;
    margin: var(--vspace-2) 0 var(--vspace-1);
}

.skill-bars li {
    height: .4rem;
    background: var(--color-white);
    width: 100%;
    margin-bottom: calc(var(--vspace-2) - .4rem);
    padding: 0;
    position: relative;
}

.skill-bars li strong {
    position: absolute;
    left: 0;
    top: calc((var(--vspace-1) * 1.25) * -1);
    font-family: var(--font-2);
    font-weight: 500;
    color: var(--color-white);
    text-transform: uppercase;
    letter-spacing: .2em;
    font-size: 1.4rem;
    line-height: var(--vspace-0_75);
}

.skill-bars li .progress {
    background: var(--color-1);
    position: relative;
    height: 100%;
}

.skill-bars li .progress span {
    position: absolute;
    right: 0;
    top: calc((var(--vspace-1) + .8rem) * -1);
    display: block;
    font-family: var(--font-2);
    color: var(--color-white);
    font-size: 1rem;
    line-height: 1;
    background: var(--color-black);
    padding: calc(0.25 * var(--space)) calc(0.25 * var(--space));
    border-radius: 4px;
}

.skill-bars li .progress span::after {
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: -5px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-top-color: var(--color-black, var(--color-black));
    content: "";
}

.skill-bars li .percent5 {
    width: 5%;
}
.skill-bars li .percent10 {
    width: 10%;
}
.skill-bars li .percent15 {
    width: 15%;
}
.skill-bars li .percent20 {
    width: 20%;
}
.skill-bars li .percent25 {
    width: 25%;
}
.skill-bars li .percent30 {
    width: 30%;
}
.skill-bars li .percent35 {
    width: 35%;
}
.skill-bars li .percent40 {
    width: 40%;
}
.skill-bars li .percent45 {
    width: 45%;
}
.skill-bars li .percent50 {
    width: 50%;
}
.skill-bars li .percent55 {
    width: 55%;
}
.skill-bars li .percent60 {
    width: 60%;
}
.skill-bars li .percent65 {
    width: 65%;
}
.skill-bars li .percent70 {
    width: 70%;
}
.skill-bars li .percent75 {
    width: 75%;
}
.skill-bars li .percent80 {
    width: 80%;
}
.skill-bars li .percent85 {
    width: 85%;
}
.skill-bars li .percent90 {
    width: 90%;
}
.skill-bars li .percent95 {
    width: 95%;
}
.skill-bars li .percent100 {
    width: 100%;
}


/* ------------------------------------------------------------------- 
 * ## alert box
 * ------------------------------------------------------------------- */
.alert-box {
    padding: var(--vspace-0_75) 4rem var(--vspace-0_75) 3.2rem;
    position: relative;
    margin-bottom: var(--vspace-1);
    border-radius: 4px;
    font-family: var(--font-1);
    font-weight: 500;
    font-size: var(--text-sm);
    line-height: var(--vspace-0_75);
}

.alert-box__close {
    position: absolute;
    display: block;
    right: 1.6rem;
    top: 1.6rem;
    cursor: pointer;
    width: 12px;
    height: 12px;
}

.alert-box__close::before, 
.alert-box__close::after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 2px;
    height: 12px;
    top: 0;
    left: 5px;
}

.alert-box__close::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.alert-box__close::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.alert-box--error {
    background-color: var(--color-error);
    color: var(--color-error-content);
}

.alert-box--error .alert-box__close::before, 
.alert-box--error .alert-box__close::after {
    background-color: var(--color-error-content);
}

.alert-box--success {
    background-color: var(--color-success);
    color: var(--color-success-content);
}

.alert-box--success .alert-box__close::before, 
.alert-box--success .alert-box__close::after {
    background-color: var(--color-success-content);
}

.alert-box--info {
    background-color: var(--color-info);
    color: var(--color-info-content);
}

.alert-box--info .alert-box__close::before, 
.alert-box--info .alert-box__close::after {
    background-color: var(--color-info-content);
}

.alert-box--notice {
    background-color: var(--color-notice);
    color: var(--color-notice-content);
}

.alert-box--notice .alert-box__close::before, 
.alert-box--notice .alert-box__close::after {
    background-color: var(--color-notice-content);
}



/* ===================================================================
 * # common and reusable styles
 *
 * ------------------------------------------------------------------- */
.wide {
    max-width: var(--width-wide);
}
.wider {
    max-width: var(--width-wider);
}
.narrow {
    max-width: var(--width-narrow);
}
.narrower {
    max-width: var(--width-narrower);
}

.section-title {
    display: block;
    margin-bottom: var(--vspace-2);
    position: relative;
}
.section-title::before {
    content: attr(data-num);
    font-family: var(--font-2);
    font-weight: 600;
    font-size: calc(var(--text-size) * 10);
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--color-text);
    opacity: .1;
}

.section-title h3 {
    z-index: 2;
    font-weight: 500;
    color: var(--color-1);
    padding-bottom: 2em;
    margin-top: 0;
    position: absolute;
    left: 1em;
    bottom: 0;
}

.display-1 {
    font-size: var(--text-xxl);
    font-weight: 500;
    line-height: var(--vspace-1_75);
    margin-top: 0;
}

.item-title {
    font-family: var(--font-2);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--vspace-1_25);
    margin-top: 0;
    margin-bottom: var(--vspace-0_5);
}


/* ------------------------------------------------------------------- 
 * ## item list 
 * ------------------------------------------------------------------- */
.item-list {
    margin-top: var(--vspace-2_5);
}
.item-list .item {
    padding-right: 8.6rem;
    margin-bottom: var(--vspace-0_5);
}


/* ------------------------------------------------------------------- 
 * ## slick slider 
 * ------------------------------------------------------------------- */
.slick-slider .slick-slide {
    outline: none;
}

.slick-slider .slick-dots {
    display: block;
    list-style: none;
    width: 100%;
    padding: 0;
    margin: var(--vspace-1) 0 0 0;
    text-align: center;
    position: absolute;
    top: 100%;
    left: 0;
}

.slick-slider .slick-dots li {
    display: inline-block;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 10px;
    cursor: pointer;
}

.slick-slider .slick-dots li button {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
    border: none;
    line-height: 8px;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
}

.slick-slider .slick-dots li button:hover, 
.slick-slider .slick-dots li button:focus {
    outline: none;
}

.slick-slider .slick-dots li.slick-active button, 
.slick-slider .slick-dots li:hover button {
    background: var(--color-1);
}


/* ------------------------------------------------------------------- 
 * responsive:
 * common and reusable styles
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    .item-list .item {
        padding-right: 2rem;
    }
}
@media screen and (max-width: 1000px) {
    .section-title::before {
        font-size: calc(var(--text-size) * 8);
    }
}
@media screen and (max-width: 800px) {
    .section-title {
        margin-bottom: var(--vspace-1);
    }
    .item-list .item {
        margin-bottom: 0;
    }
    .item-list .item {
        padding-right: var(--gutter-md);
    }
}
@media screen and (max-width: 600px) {
    .item-list .item {
        padding-right: var(--gutter-mob);
    }
}
@media screen and (max-width: 400px) {
    .display-1 {
        font-size: var(--text-xl);
        line-height: var(--vspace-1_5);
    }
    .item-title {
        font-size: var(--text-md);
        line-height: var(--vspace-1);
    }
    .item-list .item {
        padding-right: 0;
    }
}



/* ===================================================================
 * # site header
 *
 * ------------------------------------------------------------------- */
.s-header {
    z-index: 100;
    width: 100%;
    height: 8.8rem;
    position: absolute;
    top: var(--vspace-0_75);
    left: 0;
}

.s-header.offset {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all .5s;
    transition: all .5s;
}

.s-header.scrolling {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.s-header.sticky {
    background-color: var(--color-gray-19);
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
}

.s-header.sticky .s-header__content .btn {
    --btn-height: calc(var(--vspace-btn) - 1.6rem) !important;
}

.s-header.sticky .header-nav a {
    color: rgba(255, 255, 255, 0.6);
}

.s-header.sticky.scrolling {
    opacity: 1;
    visibility: visible;
}

.s-header__content {
    height: 8.8rem;
    position: relative;
}


/* -------------------------------------------------------------------
 * ## header logo
 * ------------------------------------------------------------------- */
.s-header__logo {
    z-index: 101;
    display: inline-block;
    margin: 0;
    padding: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .5s;
    transition: all .5s;
    position: absolute;
    left: 8rem;
    top: calc(50% - 2px);
}

.s-header__logo a {
    display: block;
    border: none;
    padding: 0;
    outline: 0;
}

.s-header__logo img {
    width: 68px;
    height: 10px;
    margin-bottom: 0;
}


/* -------------------------------------------------------------------
 * ## main navigation
 * ------------------------------------------------------------------- */
.s-header__nav-wrap {
    padding-left: 21.6rem;
}

.s-header__nav {
    list-style: none;
    font-family: var(--font-2);
    font-weight: 500;
    font-size: 1rem;
    line-height: 6rem;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .4em;
}

.s-header__nav a {
    color: var(--color-gray-8);
}

.s-header__nav a:hover, .s-header__nav a:focus {
    color: white !important;
}

.s-header__nav li {
    display: inline-block;
    padding-left: 0;
    margin: 0 1rem;
}


/* ------------------------------------------------------------------- 
 * ## mobile menu toggle
 * ------------------------------------------------------------------- */
.s-header__menu-toggle {
    z-index: 101;
    display: none;
    height: 4.2rem;
    width: 4.2rem;
    line-height: 4.2rem;
    font-family: var(--font-2);
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: .2rem;
    color: white;
    outline: none;
    -webkit-transition: all .5s;
    transition: all .5s;
    position: absolute;
    right: 5.2rem;
    top: 1.6rem;
}

.s-header__menu-toggle:hover, 
.s-header__menu-toggle:focus {
    color: white;
}

.s-header__menu-toggle span {
    display: block;
    width: 2.4rem;
    height: 2px;
    background-color: white;
    -webkit-transition: all .5s;
    transition: all .5s;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    left: .9rem;
    right: auto;
    bottom: auto;
}

.s-header__menu-toggle span::before, 
.s-header__menu-toggle span::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: inherit;
    -webkit-transition: all .5s;
    transition: all .5s;
    position: absolute;
    left: 0;
}

.s-header__menu-toggle span::before {
    top: -.9rem;
}

.s-header__menu-toggle span::after {
    bottom: -.9rem;
}

.s-header__menu-toggle.is-clicked span {
    background-color: rgba(255, 255, 255, 0);
    -webkit-transition: all .1s;
    transition: all .1s;
}

.s-header__menu-toggle.is-clicked span::before, 
.s-header__menu-toggle.is-clicked span::after {
    background-color: white;
}

.s-header__menu-toggle.is-clicked span::before {
    top: 0;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.s-header__menu-toggle.is-clicked span::after {
    bottom: 0;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}


/* ------------------------------------------------------------------- 
 * ## header contact button
 * ------------------------------------------------------------------- */
.s-header__content .btn {
    --btn-height: calc(var(--vspace-btn) - 1.2rem);

    font-size: 1rem;
    padding: 0 2.8rem;
    margin: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: 10rem;
}

.s-header__content .btn svg {
    height: var(--vspace-0_5);
    width: var(--vspace-0_5);
    margin-right: 1.6rem;
    -webkit-transform: translateY(-0.1rem);
    transform: translateY(-0.1rem);
}

.s-header__content .btn svg path {
    fill: white;
}

.s-header__content .btn:hover, 
.s-header__content .btn:focus {
    background-color: var(--color-gray-19) !important;
    border-color: var(--color-gray-19) !important;
    color: white;
}

.sticky .s-header__content .btn:hover, 
.sticky .s-header__content .btn:focus {
    background-color: white !important;
    border-color: white !important;
    color: black;
}

.sticky .s-header__content .btn:hover svg path, 
.sticky .s-header__content .btn:focus svg path {
    fill: black;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * header
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1700px) {
    .s-header__logo {
        left: 6rem;
    }
    .s-header__nav-wrap {
        padding-left: 19.6rem;
    }
    .s-header__content .btn {
        right: 6rem;
    }
}

@media screen and (max-width: 1000px) {
    .s-header__nav-wrap {
        padding-left: 17.6rem;
    }
    .s-header__content .btn {
        --btn-height: calc(var(--vspace-btn) - 1.6rem) !important;
    }
}

@media screen and (max-width: 900px) {
    .s-header {
        top: var(--vspace-0_5);
        height: 8rem;
    }
    .s-header.sticky .s-header__content .btn, 
    .s-header .s-header__content .btn {
        --btn-height: calc(var(--vspace-btn) - 1.2rem) !important;
    }
    .s-header.sticky .s-header__content .btn:hover, 
    .s-header.sticky .s-header__content .btn:focus, 
    .s-header .s-header__content .btn:hover, 
    .s-header .s-header__content .btn:focus {
        background-color: white !important;
        border-color: white !important;
        color: black;
    }
    .s-header.sticky .s-header__content .btn:hover svg path, 
    .s-header.sticky .s-header__content .btn:focus svg path, 
    .s-header .s-header__content .btn:hover svg path, 
    .s-header .s-header__content .btn:focus svg path {
        fill: black;
    }
    .s-header__content {
        display: block;
        background-color: var(--color-gray-19);
        height: auto;
        width: 100%;
        padding: calc(5 * var(--space)) 6rem var(--vspace-2);
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
        position: absolute;
        top: calc(var(--vspace-0_5) * -1);
        left: 0;
    }
    .s-header__content .btn {
        margin-top: var(--vspace-1_5);
        text-align: center;
        -webkit-transform: translateY(-2rem);
        transform: translateY(-2rem);
        opacity: 0;
        visibility: hidden;
        position: static;
    }
    .s-header__nav-wrap {
        padding: 0;
        -webkit-transform: translateY(-2rem);
        transform: translateY(-2rem);
        opacity: 0;
        visibility: hidden;
    }
    .s-header__nav {
        display: block;
        width: 100%;
        padding: 0;
    }
    .s-header__nav a {
        display: block;
    }
    .s-header__nav li {
        border-top: 1px solid rgba(255, 255, 255, 0.03);
        display: block;
        margin: 0;
    }
    .s-header__nav li:last-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    }
    .s-header__menu-toggle {
        display: block;
    }
    .menu-is-open .s-header__content {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    .menu-is-open .s-header__content .btn {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        -webkit-transition-property: opacity, -webkit-transform;
        transition-property: opacity, -webkit-transform;
        transition-property: transform, opacity;
        transition-property: transform, opacity, -webkit-transform;
        -webkit-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transition-delay: .7s;
        transition-delay: .7s;
    }
    .menu-is-open .s-header__nav-wrap {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transition-delay: .6s;
        transition-delay: .6s;
    }
}

@media screen and (max-width: 600px) {
    .s-header__logo {
        left: 4rem;
    }
    .s-header__menu-toggle {
        right: 4rem;
    }
    .s-header__content {
        padding: calc(5 * var(--space)) 4rem var(--vspace-2);
    }
    .s-header__content .btn {
        display: block;
    }
    .s-header__content .btn svg {
        -webkit-transform: translateY(0.3rem);
        transform: translateY(0.3rem);
    }
}



/* ===================================================================
 * # hero
 *
 * ------------------------------------------------------------------- */
.s-hero {
    background-color: #121417;
    width: 100%;
    height: 100vh;
    min-height: calc(25.5 * var(--space));
    overflow: hidden;
    position: relative;
}

.s-hero__bg {
    background-image: url(../images/k.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 36.5vw;
}

.s-hero__bg::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-black);
    opacity: .25;
}

.s-hero__bg .gradient-overlay {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, black), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(180deg, black 10%, rgba(0, 0, 0, 0) 100%);
    opacity: .35;
}


/* ------------------------------------------------------------------- 
 * ## hero content
 * ------------------------------------------------------------------- */
.s-hero__content {
    height: 100%;
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
    padding-top: 20vh;
    padding-bottom: 7vh;
    position: relative;
}

.s-hero__content h1 {
    font-size: 22rem;
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1;
    color: var(--color-1);
    margin-bottom: 0;
    position: relative;
}

.s-hero__content h1::before {
    display: block;
    content: "";
    height: 10rem;
    width: 20rem;
    background-image: url(../images/dots.svg);
    -webkit-transform: translateX(-4rem);
    transform: translateX(-4rem);
    opacity: .25;
    position: absolute;
    bottom: .14em;
    right: 100%;
}

/* hero content about
 * ----------------------------------------------- */
.s-hero__content-about {
    font-family: var(--font-2);
    font-weight: 400;
    font-size: 3.6rem;
    line-height: 1.444;
    color: var(--color-white);
    padding-left: 3.6em;
    position: relative;
}

.s-hero__content-about::before {
    content: "";
    display: block;
    height: 1px;
    width: 2.4em;
    background-color: var(--color-border);
    position: absolute;
    left: .5em;
    top: .8em;
}

.s-hero__content-about p {
    margin-bottom: var(--vspace-2);
}

/* hero content social
 * ----------------------------------------------- */
.s-hero__content-social {
    display: inline-block;
    font-size: 1.8rem;
    line-height: var(--vspace-1);
}

.s-hero__content-social a {
    color: white;
    margin-right: 1.2rem;
}

.s-hero__content-social a:hover, 
.s-hero__content-social a:focus {
    color: var(--color-1-light);
}

.s-hero__content-social a:last-child {
    margin-right: 0;
}


/* ------------------------------------------------------------------- 
 * ## hero video
 * ------------------------------------------------------------------- */
.s-hero__video {
    position: absolute;
    right: 10.4rem;
    bottom: 20vh;
}

.s-hero__video svg {
    height: 1.4rem;
    width: 1.4rem;
    position: absolute;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    left: 50%;
    top: 50%;
}

.s-hero__video svg path {
    fill: white;
}

.s-hero__video-link {
    display: block;
    height: 9.6rem;
    width: 9.6rem;
    background-color: var(--color-1);
    -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
    color: white;
    border-radius: 100%;
    position: relative;
}

.s-hero__video-link:hover, 
.s-hero__video-link:focus {
    background-color: var(--color-gray-19);
    outline: 0;
}

.s-hero__video-text {
    display: none;
}


/* ------------------------------------------------------------------- 
 * ## hero scroll
 * ------------------------------------------------------------------- */
.s-hero__scroll {
    position: absolute;
    left: 6vw;
    bottom: 0;
    -webkit-transform: rotate(90deg) translateX(-200px);
    transform: rotate(90deg) translateX(-200px);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

.s-hero__scroll-link {
    display: inline-block;
    font-family: var(--font-2);
    font-weight: 300;
    font-size: 9px;
    line-height: 3.2rem;
    height: 3.2rem;
    text-transform: uppercase;
    letter-spacing: .4em;
    text-align: left;
    vertical-align: middle;
    color: var(--color-text);
    position: relative;
}

.s-hero__scroll-link:hover, 
.s-hero__scroll-link:focus {
    color: white;
}


/* -------------------------------------------------------------------
 * ## animate intro content
 * ------------------------------------------------------------------- */
html.ss-preload .s-hero__content {
    opacity: 0;
}

html.ss-loaded .s-hero__content {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

html.no-csstransitions .s-hero__content {
    opacity: 1;
}


/* ------------------------------------------------------------------- 
 * ## animations
 * ------------------------------------------------------------------- */

/* fade in */
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* fade in left */
@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
    to {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
    to {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* fade out */
@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
        visibility: visible;
    }
    to {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        visibility: visible;
    }
    to {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}


/* ------------------------------------------------------------------- 
 * responsive:
 * content
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1600px) {
    .s-hero__content {
        max-width: 1100px;
    }
}

@media screen and (max-width: 1400px) {
    .s-hero__content {
        max-width: 1000px;
    }
    .s-hero__content h1 {
        font-size: 20rem;
    }
    .s-hero__content-about {
        font-size: 3.3rem;
    }
    .s-hero__video-link {
        height: 8.8rem;
        width: 8.8rem;
    }
}

@media screen and (max-width: 1200px) {
    .s-hero__content {
        max-width: 900px;
    }
}

@media screen and (max-width: 1100px) {
    .s-hero__content {
        max-width: 800px;
    }
    .s-hero__content h1 {
        font-size: 18rem;
    }
}

@media screen and (max-width: 1000px) {
    .s-hero__content {
        max-width: 700px;
    }
    .s-hero__content-about {
        padding-left: .6em;
    }
    .s-hero__content-about::before {
        display: none;
    }
    .s-hero__video {
        right: calc(100% - 48vw);
        bottom: calc(7vh);
    }
    .s-hero__video svg {
        display: inline-block;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        margin-right: .4rem;
        position: static;
    }
    .s-hero__video-link {
        display: inline-block;
        height: auto;
        width: auto;
        background-color: transparent !important;
        -webkit-transition: background-color 0s ease-in-out, color 0.3s ease-in-out;
        transition: background-color 0s ease-in-out, color 0.3s ease-in-out;
        border-radius: 0;
    }
    .s-hero__video-text {
        display: inline-block;
    }
    .s-hero__scroll {
        left: auto;
        right: 4.8rem;
        -webkit-transform: rotate(90deg) translateX(-100px) translateY(3.2rem);
        transform: rotate(90deg) translateX(-100px) translateY(3.2rem);
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
    }
    .s-hero__scroll-link {
        color: var(--color-white);
    }
}

@media screen and (max-width: 900px) {
    .s-hero__bg {
        display: block;
        width: 50vw;
        height: 50vh;
        top: 12rem;
        right: 0;
        bottom: auto;
        left: auto;
    }
    .s-hero__content {
        max-width: 600px;
    }
    .s-hero__video {
        right: calc(100% - 54vw);
    }
    .s-hero__scroll-link {
        color: var(--color-text);
    }
}

@media screen and (max-width: 800px) {
    .s-hero__content {
        padding-bottom: 8vh;
    }
    .s-hero__content h1::before {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        left: -1.2rem;
        bottom: .8em;
    }
    .s-hero__video {
        bottom: calc(8vh);
    }
}

@media screen and (max-width: 700px) {
    .s-hero__content h1 {
        font-size: 16rem;
    }
    .s-hero__content-about {
        font-size: 2.8rem;
    }
    .s-hero__content-social, .s-hero__video {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 600px) {
    .s-hero__content h1 {
        font-size: 28vw;
    }
    .s-hero__content-about {
        padding-right: 15vw;
    }
    .s-hero__content-about br {
        display: none;
    }
    .s-hero__scroll {
        right: 2.8rem;
    }
    .s-hero__video {
        right: calc(100% - 30rem);
    }
}

@media screen and (max-width: 500px) {
    .s-hero__content h1::before {
        left: -6rem;
        bottom: .6em;
    }
    .s-hero__content-about {
        font-size: 2.6rem;
        padding-right: 4rem;
        padding-left: .5em;
    }
}

@media screen and (max-width: 400px) {
    .s-header__logo {
        left: 3.2rem;
    }
    .s-header__menu-toggle {
        right: 3.2rem;
    }
    .s-hero__content h1::before {
        left: -8rem;
    }
    .s-hero__content {
        padding-bottom: 14vh;
    }
    .s-hero__content-about {
        font-size: 2.2rem;
        padding-right: 6rem;
    }
    .s-hero__video {
        right: auto;
        left: 9vw;
        bottom: 8.2vh;
    }
}

@media screen and (max-width: 360px) {
    .s-hero__scroll {
        right: 2rem;
        -webkit-transform: rotate(90deg) translateX(-4rem) translateY(3.2rem);
        transform: rotate(90deg) translateX(-4rem) translateY(3.2rem);
        padding-right: 0;
    }
}



/* ===================================================================
 * # about
 *
 * ------------------------------------------------------------------- */
.s-about {
    background-color: var(--color-bg);
    padding-top: calc(7 * var(--space));
    padding-bottom: 0;
    position: relative;
}

.s-about::before {
    content: "";
    display: block;
    width: 28rem;
    height: 17.6rem;
    background-image: url(../images/dots.svg);
    opacity: .25;
    position: absolute;
    top: 0;
    left: 50%;
}

.s-about .horizontal-line {
    width: 32px;
    height: 20rem;
    position: absolute;
    top: -7rem;
    left: calc(6vw + 1px);
}

.s-about .horizontal-line::before {
    content: "";
    display: block;
    width: 1px;
    background-color: var(--color-1-darker);
    position: absolute;
    right: calc(50% + 1px);
    top: 0;
    bottom: 0;
}


/* ------------------------------------------------------------------- 
 * ## about photo
 * ------------------------------------------------------------------- */
.s-about__photo-block {
    position: relative;
}

.s-about__photo {
    background-image: url(../images/about-photo.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: var(--vspace-0_5);
    right: var(--gutter-lg);
    left: var(--gutter-lg);
    bottom: var(--vspace-1);
}


/* ------------------------------------------------------------------- 
 * ## about process
 * ------------------------------------------------------------------- */
.s-about__process {
    counter-reset: ctr;
}

.s-about__process h3 {
    padding-left: 2.5em;
    position: relative;
}

.s-about__process h3::before {
    content: counter(ctr);
    counter-increment: ctr;
    display: block;
    font-family: var(--font-2);
    font-size: var(--text-size);
    font-weight: 600;
    text-align: center;
    color: white;
    background-color: var(--color-1);
    height: var(--vspace-1_5);
    width: var(--vspace-1_5);
    line-height: var(--vspace-1_5);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: -5px;
}

.s-about__process .item-process {
    position: relative;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * about
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
    .s-about::before {
        right: 15vw;
        left: auto;
    }
}

@media screen and (max-width: 1000px) {
    .s-about {
        padding-top: calc(5 * var(--space));
    }
    .s-about .horizontal-line {
        right: calc(4.6rem);
        left: auto;
    }
}

@media screen and (max-width: 900px) {
    .s-about__photo-block {
        display: none;
    }
}

@media screen and (max-width: 800px) {
    .s-about::before {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    .s-about .horizontal-line {
        right: calc(2.6rem);
    }
}

@media screen and (max-width: 400px) {
    .s-about {
        padding-top: var(--vspace-4);
    }
    .s-about__process h3 {
        padding-left: 3em;
        margin-bottom: var(--vspace-0_75);
    }
}

@media screen and (max-width: 360px) {
    .s-about .horizontal-line {
        height: 16rem;
        top: -2rem;
        right: calc(1.8rem);
    }
}



/* ===================================================================
 * # services
 *
 * ------------------------------------------------------------------- */
.s-services {
    background-color: var(--color-bg);
    padding-top: calc(6 * var(--space));
    padding-bottom: var(--vspace-2);
}

.s-services .lead {
    margin-top: var(--vspace-0_25);
}

.s-services .item-service {
    margin-bottom: 0;
}

.service-icon {
    display: block;
    width: calc(2.25 * var(--space));
    height: calc(2.25 * var(--space));
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.service-icon--product-design {
    background-image: url(../images/icons/services/icon-product-design.svg);
}

.service-icon--branding {
    background-image: url(../images/icons/services/icon-branding.svg);
}

.service-icon--frontend {
    background-image: url(../images/icons/services/icon-frontend.svg);
}

.service-icon--research {
    background-image: url(../images/icons/services/icon-research.svg);
}

.service-icon--illustration {
    background-image: url(../images/icons/services/icon-illustration.svg);
}

.service-icon--ecommerce {
    background-image: url(../images/icons/services/icon-ecommerce.svg);
}


/* ------------------------------------------------------------------- 
 * responsive:
 * services
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
    .s-services {
        padding-top: calc(5 * var(--space));
    }
}

@media screen and (max-width: 400px) {
    .s-services {
        padding-top: var(--vspace-4);
    }
}



/* ===================================================================
 * # portfolio
 *
 * ------------------------------------------------------------------- */
.s-portfolio {
    background-color: var(--color-bg);
    padding-top: calc(7 * var(--space));
    padding-bottom: 0;
}


/* ------------------------------------------------------------------- 
 * ## portfolio list
 * ------------------------------------------------------------------- */
.s-portfolio__list {
    max-width: calc(var(--width-max) + 40px);
    padding-top: var(--vspace-1_5);
}

.folio-item {
    position: relative;
    overflow: hidden;
}

.folio-item__caption {
    display: none;
}

/* thumbnail
 *---------------------------------------------- */
.folio-item__thumb a {
    display: block;
}

.folio-item__thumb a::before {
    z-index: 1;
    content: "";
    display: block;
    background-color: rgba(0, 0, 0, 0.85);
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all, .5s;
    transition: all, .5s;
}

.folio-item__thumb a::after {
    z-index: 1;
    content: "+";
    font-family: var(--font-2);
    font-weight: 300;
    font-size: 3rem;
    color: white;
    display: block;
    height: 32px;
    width: 32px;
    line-height: 32px;
    margin-left: -16px;
    margin-top: -16px;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transition: all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: absolute;
    left: 50%;
    top: 50%;
}

.folio-item__thumb img {
    vertical-align: bottom;
    margin-bottom: 0;
}

/* portfolio info
 *---------------------------------------------- */
.folio-item__info {
    z-index: 2;
    padding: 0 3rem;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: absolute;
    left: 0;
    top: 3.6rem;
}

.folio-item__title {
    color: white;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0;
}

.folio-item__cat {
    color: rgba(255, 255, 255, 0.5);
    font-family: var(--font-2);
    font-size: 1.2rem;
    line-height: 2;
    margin-bottom: 0;
}

.folio-item__project-link {
    z-index: 2;
    display: block;
    font-family: var(--font-2);
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 2rem;
    color: white;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: .6rem 1.2rem;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: absolute;
    bottom: 3.9rem;
    left: 3rem;
}

.folio-item__project-link::before {
    display: block;
    content: "";
    height: 1px;
    width: 3rem;
    background-color: rgba(255, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: -3rem;
}

.folio-item__project-link:hover, 
.folio-item__project-link:focus, 
.folio-item__project-link:active {
    background-color: white;
    border: 1px solid white;
    color: black;
}

/* on hover
 *---------------------------------------------- */
.folio-item:hover .folio-item__thumb a::before {
    opacity: 1;
    visibility: visible;
}

.folio-item:hover .folio-item__thumb a::after {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.folio-item:hover .folio-item__info {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.folio-item:hover .folio-item__project-link {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}


/* ------------------------------------------------------------------- 
 * responsive:
 * portfolio
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
    .s-portfolio {
        padding-top: calc(5 * var(--space));
    }
    .folio-item__thumb a::after {
        font-size: 2rem;
    }
    .folio-item__title {
        font-size: 1.5rem;
    }
    .folio-item__cat {
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 800px) {
    .folio-item__thumb a::after {
        font-size: 3rem;
    }
    .folio-item__title {
        font-size: 1.6rem;
    }
    .folio-item__cat {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 600px) {
    .folio-item__thumb a::after {
        font-size: 2rem;
    }
    .folio-item__title {
        font-size: 1.5rem;
    }
    .folio-item__cat {
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 400px) {
    .s-portfolio {
        padding-top: var(--vspace-4);
    }
}



/* ===================================================================
 * # clients
 *
 * ------------------------------------------------------------------- */
.s-clients {
    background-color: var(--color-bg);
    padding-top: calc(6 * var(--space));
    padding-bottom: var(--vspace-4);
    position: relative;
}


/* ------------------------------------------------------------------- 
 * ## clients slider
 * ------------------------------------------------------------------- */
.clients-outer {
    max-width: 1080px;
    margin-top: var(--vspace-2);
    margin-bottom: var(--vspace-2);
    text-align: center;
    position: relative;
}

.clients-outer .column {
    min-height: 0;
    min-width: 0;
}

.clients__slide {
    display: block;
    opacity: .15;
    padding: 0;
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
    text-align: center;
}

.clients__slide img {
    padding: 0 2rem;
}

.clients__slide:hover, .clients__slide:focus {
    opacity: 1;
}


/* ------------------------------------------------------------------- 
 * ## testimonials
 * ------------------------------------------------------------------- */
.testimonials {
    background-color: var(--color-bg);
    max-width: 800px;
    padding-top: var(--vspace-4);
    padding-bottom: var(--vspace-1_5);
    text-align: center;
}

.testimonials .slick-arrow {
    z-index: 2;
    position: absolute;
    top: calc(2.5 * var(--space));
    width: var(--vspace-1);
    height: var(--vspace-1);
    border: none;
    margin: 0;
    padding: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    cursor: pointer;
    -webkit-transition: all .3s;
    transition: all .3s;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    opacity: .15;
}

.testimonials .slick-arrow:hover, 
.testimonials .slick-arrow:focus {
    opacity: 1;
}

.testimonials .slick-prev {
    left: -100px;
    background-image: url("../images/icons/icon-arrow-left.svg");
}

.testimonials .slick-next {
    right: -100px;
    background-image: url("../images/icons/icon-arrow-right.svg");
}

.testimonial-slider {
    position: relative;
}

.testimonial-slider p {
    font-size: var(--text-lg);
    line-height: 1.852;
    color: white;
}

.testimonial-slider__slide {
    position: relative;
    padding: 0 var(--gutter-lg);
}

.testimonial-slider__author {
    display: inline-block;
    min-height: 7.2rem;
    margin-top: var(--vspace-1);
    padding-left: 8.4rem;
    text-align: left;
    position: relative;
}

.testimonial-slider__avatar {
    width: var(--vspace-2);
    height: var(--vspace-2);
    border-radius: 100%;
    outline: none;
    margin-right: 1.6rem;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
}

.testimonial-slider__cite {
    display: block;
    padding-top: calc(0.125 * var(--space));
    font-style: normal;
}

.testimonial-slider__cite strong {
    font-size: var(--text-size);
    color: var(--color-1);
}

.testimonial-slider__cite span {
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: var(--vspace-0_5);
    color: var(--color-text-light);
}


/* ------------------------------------------------------------------- 
 * responsive:
 * clients
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
    .clients-outer {
        max-width: 1000px;
    }
    .testimonials {
        max-width: 700px;
    }
    .testimonials .slick-prev {
        left: -60px;
    }
    .testimonials .slick-next {
        right: -60px;
    }
}

@media screen and (max-width: 900px) {
    .testimonials {
        max-width: 600px;
    }
    .testimonials .slick-arrow {
        top: auto;
        bottom: var(--vspace-1);
    }
    .testimonials .slick-prev {
        left: 1.2rem;
    }
    .testimonials .slick-next {
        right: 1.2rem;
    }
}

@media screen and (max-width: 800px) {
    .clients-outer {
        max-width: 640px;
    }
    .testimonial-slider p {
        font-size: var(--text-md);
    }
    .testimonial-slider__author {
        min-height: 0;
        margin-top: var(--vspace-0_5);
        padding-left: 0;
        text-align: center;
    }
    .testimonial-slider__avatar {
        margin: 0 auto;
        position: static;
    }
}

@media screen and (max-width: 600px) {
    .testimonial-slider__slide {
        padding: 0;
    }
    .testimonial-slider__avatar {
        width: var(--vspace-1_75);
        height: var(--vspace-1_75);
    }
}

@media screen and (max-width: 400px) {
    .testimonials {
        padding-top: var(--vspace-2);
    }
    .testimonial-slider p {
        font-size: var(--text-size);
    }
}



/* ===================================================================
 * # contact
 *
 * ------------------------------------------------------------------- */
.s-contact {
    background-color: var(--color-1);
    padding-top: calc(6 * var(--space));
    padding-bottom: var(--vspace-2);
}

.s-contact__top .h6 {
    color: black;
    margin-top: 0;
    margin-bottom: var(--vspace-1);
}

.s-contact__email {
    margin-top: var(--vspace-1_5);
    font-family: var(--font-2);
    font-size: calc(var(--text-size) * 6.6);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1;
}

.s-contact__email a {
    color: white;
    border-bottom: 2px solid transparent;
}

.s-contact__email a:hover, 
.s-contact__email a:focus {
    border-bottom: 2px solid white;
}


/* ------------------------------------------------------------------- 
 * responsive:
 * contact
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1600px) {
    .s-contact__email {
        font-size: calc(var(--text-size) * 6);
    }
}

@media screen and (max-width: 1200px) {
    .s-contact__email {
        font-size: 10vw;
    }
}

@media screen and (max-width: 400px) {
    .s-contact {
        padding-top: var(--vspace-4);
    }
}



/* ===================================================================
 * # footer
 *
 * ------------------------------------------------------------------- */
.s-footer {
    padding-top: var(--vspace-2);
    padding-bottom: var(--vspace-4);
    color: white;
}

.s-footer a {
    color: white;
}

.s-footer .h6 {
    color: black;
    margin-top: 0;
}


/* ------------------------------------------------------------------- 
 * ## footer block
 * ------------------------------------------------------------------- */
.s-footer__block {
    font-size: var(--text-lg);
    line-height: calc(1.25 * var(--space));
}

.s-footer__block .h6 {
    margin-bottom: var(--vspace-0_75);
}

.s-footer__block--end {
    font-size: var(--text-sm);
    line-height: var(--vspace-1);
    padding-top: var(--vspace-1_75);
    position: relative;
}

.s-footer__block--end::before {
    display: block;
    content: "";
    height: 1px;
    width: 33.333%;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: var(--vspace-0_25);
    left: var(--gutter-lg);
}

.s-footer__block--end .btn {
    background-color: white;
    border: .2rem solid white;
    color: black;
    margin-right: 0;
    margin-bottom: var(--vspace-1);
}

.s-footer__block--end .btn:hover, .s-footer__block--end .btn:focus {
    background-color: var(--color-gray-19);
    border: 0.2rem solid var(--color-gray-19);
    color: white;
}


/* ------------------------------------------------------------------- 
 * ## footer list
 * ------------------------------------------------------------------- */
.s-footer__list {
    list-style: none;
    margin-left: 0;
}

.s-footer__list li {
    padding-left: 0;
}


/* ------------------------------------------------------------------- 
 * ## copyright
 * ------------------------------------------------------------------- */
.ss-copyright {
    z-index: 2;
    font-size: 1.5rem;
    font-weight: 300;
    position: relative;
}

.ss-copyright a {
    display: inline-block;
    color: white;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
}

.ss-copyright a:hover, .ss-copyright a:focus {
    border-bottom: 1px solid white;
}

.ss-copyright span {
    display: inline-block;
}

.ss-copyright span::after {
    content: "|";
    display: inline-block;
    padding: 0 .8rem 0 1rem;
    color: rgba(255, 255, 255, 0.25);
}

.ss-copyright span:last-child::after {
    display: none;
}


/* ------------------------------------------------------------------- 
 * ## go top
 * ------------------------------------------------------------------- */
.ss-go-top {
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: fixed;
    bottom: var(--vspace-1);
    right: 4rem;
}

.ss-go-top a {
    text-decoration: none;
    border: 0 none;
    display: block;
    height: 6.4rem;
    width: 6.4rem;
    line-height: 6.4rem;
    text-align: center;
    border-radius: 50%;
    background-color: var(--color-gray-19) !important;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative;
}

.ss-go-top.link-is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1);
}


/* ------------------------------------------------------------------- 
 * responsive:
 * footer
 * ------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
    .s-footer>.row {
        max-width: 1100px;
    }
}

@media screen and (max-width: 1200px) {
    .s-footer>.row {
        max-width: 800px;
    }
    .s-footer__block--end {
        text-align: center;
    }
    .s-footer__block--end::before {
        display: none;
    }
}

@media screen and (max-width: 800px) {
    .s-footer {
        padding-top: var(--vspace-1);
    }
    .ss-go-top a {
        font-size: 1.6rem;
        height: 6rem;
        width: 6rem;
        line-height: 6rem;
    }
}

@media screen and (max-width: 600px) {
    .ss-go-top {
        right: 2.4rem;
        bottom: 2.4rem;
    }
    .ss-copyright span {
        display: block;
    }
    .ss-copyright span::after {
        display: none;
    }
}

@media screen and (max-width: 400px) {
    .s-footer__block {
        font-size: var(--text-md);
        line-height: calc(1.125 * var(--space));
    }
    .ss-go-top a {
        font-size: 1.4rem;
        height: 4.8rem;
        width: 4.8rem;
        line-height: 4.8rem;
    }
    .ss-copyright {
        font-size: 1.4rem;
    }
}