/*
 * NOTE(ruben): Start Fonts
 */


@font-face { /* NOTE(ruben): DIN Next light */
    font-family: 'DIN Next';
    font-weight: 100;
    font-style: normal;
    src: url('../assets/fonts/din_next/open_type/DINNextLTPro-Light.otf') format('opentype');
}

@font-face { /* NOTE(ruben): DIN Next normal */
    font-family: 'DIN Next';
    font-weight: 400;
    font-style: normal;
    src: url('../assets/fonts/din_next/open_type/DINNextLTPro-Regular.otf') format('opentype');
}

@font-face { /* NOTE(ruben): DIN Next bold */
    font-family: 'DIN Next';
    font-weight: 700;
    font-style: normal;
    src: url('../assets/fonts/din_next/open_type/DINNextLTPro-Bold.otf') format('opentype');
}

/*
 *NOTE(ruben): End Fonts
 */

html, body
{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

body
{
    margin: 0 auto;
    padding: 0;    
    font-family: 'DIN Next', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #fff;
    color: #0078dc;
    overflow-x: hidden;
    display: block;
}

body.product_browser
{
    overflow: hidden;
    height: 100vh;
}

/*
 * NOTE(ruben): Start CSS util
 */

.main_content
{
    left: 0;
    right: 0;
    width: calc(100% - 50px);
    max-width: 1100px;
    margin: 0 auto;
    position: absolute;
    padding: 0 25px;
    padding-bottom: 40px;
    /* background: #a33b88; */
}

.bold
{
    font-weight: 700;
}

.big_button
{
    outline: 0 #B5D6EB solid;
    padding: 15px 38px;
    min-width: 200px;
    border: none;
    background-color: #0078dc;
    color: #e6f4fe;
    font-size: 20px;
    cursor: pointer;
    transition:  0.3s;
}

.big_button.button_mw250
{
    min-width: 190px;
}


.big_button:hover
{
    background-color: #0868A3;
    /* color: #0078dc; */
}

.title_big
{
    font-size: 48px;
    line-height: 55px;
    font-weight: 700;
}

.title_medium
{
    font-size: 40px;
    line-height: 55px;
    font-weight: 700;
}

.title_small
{
    font-size: 21px;
    line-height: 29px;
    font-weight: 400;
}

/*
 * NOTE(ruben): start drop down
 */

.dropdown
{
    position: relative;
    background-color: #0078dc;
    color: #e6f4fe;
    margin-bottom: 31px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    z-index: 1;
}

.dropdown.active
{
    background-color: #e6f4fe;
    color: #0078dc;
    z-index: 22222;
}

.dropdown .dropdown--opitons
{
    top: 55px;
    position: absolute;
    /* border-radius: 8px; */
    width: 100%;
    overflow: hidden;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: 0.5s;
    transition-property: opacity;
}

.dropdown.hover .dropdown--opitons
{
    opacity: 1;
    pointer-events: all;
}

.dropdown .dropdown--preview, .dropdown .dropdown--option
{    
    padding-top: 18px;
    padding-bottom: 18px;
    padding-left: 20px;
    height: 19px;
    width: 100%;
    width: calc(100% - 20px);
    line-height: 19px;
}

.dropdown .dropdown--preview--icon
{
    float: right;
    padding-right: 10px;
    width: 21px;
    height: 19px;
    pointer-events: none;
}

.dropdown.active .dropdown--preview--icon
{
    pointer-events: all;
}

.dropdown .dropdown--preview--icon svg
{
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.dropdown .dropdown--preview--icon svg path
{
    fill: #e6f4fe;
    stroke: #e6f4fe;
}

.dropdown.active  .dropdown--preview--icon svg path
{
    fill: #0078dc;
    stroke: #0078dc;
}

.dropdown .dropdown--option
{
    padding-top: 0px;
    padding-bottom: 0px;    
    height: 0px;
    overflow: hidden;
    transition: 0.5s;
    transition-property: height, padding-top, padding-bottom, background-color, color;
    color: #0078dc;
    background-color:  #e6f4fe;
}

.dropdown .dropdown--option:hover, .dropdown .dropdown--option.selected
{
    background-color: #0078dc;
    color:  #e6f4fe;
}

.dropdown.hover .dropdown--option, .dropdown .dropdown--option:first-child
{
    padding-top: 18px;
    padding-bottom: 18px;
    height: 19px;
    margin-bottom: -1px;
}

/*
 * NOTE(ruben): end drop down
 */

a
{
    text-decoration: none;
    color: #0078dc;
    cursor: pointer;
    -webkit-user-select: none;  /* Chrome all / Safari all */
    -moz-user-select: none;     /* Firefox all */
    -ms-user-select: none;      /* IE 10+ */
    user-select: none;  
}

a.selected, a:hover
{
    color: #0868A3;
}

input
{
    font-family: 'DIN Next', Helvetica, Arial, sans-serif;
    font-size: 21px;
    font-weight: 400;    
}

input:focus
{
    outline: none;
}

ul.special li
{
    margin-bottom: 5px;
    list-style: disc;
    margin-left: 17px;
}

ul.special li::before
{
    /* content: '–'; */
    /* display: block; */
    margin-right: 0.5rem;
}

/*
 * NOTE(ruben): End CSS utils
 */

/*
 * NOTE(ruben): Start bg_images
 */

.bg_image
{
    position: fixed;
    width: 1215px;
    margin: 0 auto;
    left: 0;
    right: 0;
    transition: 1.3s;
    opacity: 0;
    z-index: 1000;
    pointer-events: none;
}

#bg_image_left
{
    transform: translateX(-900px) translateY(350px);
}

#bg_image_right
{
    transform: translateX(1200px) translateY(-250px);   
}

body.intro #bg_image_left
{
    transform: translateX(-725px) translateY(300px);
    opacity: 1;
    transition: 2s;
}

body.intro #bg_image_right
{
    transform: translateX(850px) translateY(-200px);
    opacity: 1;
}


body.intro_filter #bg_image_left
{
    transform: translateX(-500px) translateY(270px);
    opacity: 1;
}

/*
 * NOTE(ruben): End bg_images
 */

/*
 * NOTE(ruben): Start header
 */

#page_header 
{margin-bottom: 21px;padding-top: 43px;height: 52px;text-align: center;font-size: 35px;position: relative;}

#logo
{
    top: 40px;
    width: 75px;
    position: absolute;
    transition: 0.5s;
    cursor: pointer;
    left: 17px;
}

.browse #logo, .intro_filter #logo, .product_browser #logo
{
    top: 28px;
    width: 60px;
}

.intro #page_header--content
{
    opacity: 1;
    width: 100%;
}

.intro_filter #page_header--content--text, .product_browser #page_header--content--text
{
    opacity: 1;
}

#page_header--content--text
{
    transition: 0.3s;
    opacity: 0;
}

#page_header--content
{    
    opacity: 1;

    width: calc(100% - 100px);
    height: 100%; 
    float: right;
}

#page_header--content--text
{
    display: block;
    text-align: left;
    float: left;

    font-size: 21px;
    line-height: 26px;
    font-weight: 700;
}

#page_header--navigation
{
    float:  right;
}

#page_header--navigation > *
{
    margin-left: 45px;
}

#page_header--navigation a
{
    font-size: 21px;
    line-height: 29px;
    font-weight: 700;
    transition: 0.2s;
}

#page_header--navigation--lang_select
{
    display: inline-block;
    vertical-align: middle;
}

#page_header--navigation--lang_select a
{
    text-transform: uppercase;
    margin-right: 7px;
    color: #c1e3fc;
}

#page_header--navigation--lang_select a.selected, #page_header--navigation--lang_select a:hover
{
    color: #0078dc;
}

#page_header--navigation--lang_select a.selected
{
    pointer-events: none;
    cursor: initial;
}

#page_header--navigation--search
{
    display: inline-block;
}

#page_header--navigation--search input
{
    transition: 0.3s;
    width: 0px;
    background: none;
    border: none;
    border-bottom: 3px solid #0078dc;
    color: #0078dc;
    padding: 0;
    pointer-events: none;
    min-width: 0;
}

#page_header--navigation--search.active input
{
    width: 181px;
    pointer-events: all;
    padding-left: 10px;
}

#page_header--navigation--search--icon
{
    cursor: pointer;
    display: inline-block;
    position: relative;
    width: 0px;
    height: 26px;
    opacity: 0;
    transition: 0.3s;
}

body.product_browser #page_header--navigation--search--icon, #page_header--navigation--search--icon
{
    opacity: 1;
    width: 25px;
}

body.product_browser.detail #page_header--navigation--search--icon
{
    opacity: 0;
    width: 0px;
}

#page_header--navigation--search--icon svg
{
    position: absolute;
    top: 5px;
    left: 0;

    height: 100%;
    width: 100%;
    pointer-events: none;

}

/*
 * NOTE(ruben): End header
 */

/*
 * NOTE(ruben): Start Intro
 */

#intro
{
    transform: translateX(50px);
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: 0.8s ease-out;
    z-index: 10000;
    /* background-color: #fff; */
}

.intro #intro
{
    transform: translateX(0px);
    opacity: 1;
    visibility: visible;
}

.intro_filter #intro
{
    transform: translateX(-50px);
}

#intro--text
{
    /* margin-left: 100px; */
    flex-grow: 1;
}

#intro--text strong
{
    font-weight: 700;
}

#intro--text--title
{
    font-size: 50px;
    line-height: 55px;
    font-weight: 700;
    margin-bottom: 30px;
}

#intro--text--body
{
    margin-bottom: 80px;
}

#intro--text--call_to_action
{
    float: right;
    margin-right: 30px;
}

#intro--button_container
{
    width: 265px;
    flex-shrink: 0;
    position: relative;
}

#intro--button_container--button
{
    position: absolute;
    bottom: 0;
    width: 190px;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(25%);
}

/*
 * NOTE(ruben): End Intro
 */


/*
 * NOTE(ruben): Start intro filter
 */

#intro_filter
{
    max-width: 810px;
    transform: translateX(50px);
    opacity: 0;
    visibility: hidden;
    transition: 0.8s ease-out;
    transition-delay: 0.2s;
    z-index: 1000000;
    /* background-color: #fff; */
}

.intro_filter #intro_filter
{
    transform: translateX(0px);
    opacity: 1;
    visibility: visible;
}

.product_browser #intro_filter
{
    transition-delay: 0s;
    opacity: 0;
    transform: translateX(-50px);
    visibility: hidden;
}

#intro_filter--question
{
    font-weight: 700;
    margin-bottom: 65px;
    transition: 0.5s;
    opacity: 1;
}

#intro_filter--options
{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    transition: 0.5s;
    opacity: 1;
}


#intro_filter--options .big_button
{
    margin-bottom: 27px;
    text-align: center;
    padding: 38px 25px;
    min-width: 40%;
}

#intro_filter--undecided
{
    position: relative;
    display: inline-block;
    left: 98%;
    transform: translateX(-100%);
    margin-top: 15px;
    font-size: 24px;
    font-weight: 700;
    transition: 0.3s;
    /* float: right; */
    margin-right: 17px;
}

#intro_filter--undecided:hover svg path
{
    fill: #e6f4fe;
    stroke: #e6f4fe;
}

#intro_filter--undecided svg {
    margin-left: 10px;
    transform-origin: center;
    transform: rotate(-90deg);
}

/*
 * NOTE(ruben): End intro filter
 */

/*
 * NOTE(ruben): Start Product Broswer
 */

.products--nav
{
    display: flex;
    flex-flow: row wrap;
    justify-content: start;   
}

.products--nav .product_browser--product
{
    width: 185px;
    padding: 0px;
    margin-bottom: 45px;
    cursor: pointer;
    font-weight: 700;
    margin-right: 14px;
    transition: 0.5s;
    position: relative;
    opacity: 1;
    left: 0;
}

.products--nav .product_browser--product img
{
    width: 100%;
}

#product_browser {
    height: calc(100% - 158px);
    display: block;
    z-index: 0;
    transition: 0.3s;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
}

body.product_browser #product_browser {
    visibility: visible;
    pointer-events: all;
    opacity: 1;
}

#product_browser--filter {
    width: 225px;
    float: left;
    margin-right: 60px;
	height: 100%;
	position: relative;
}

#product_browser--nav
{
    display: block;
    height: 100%;
    overflow: hidden;
}

#product_browser--nav--products
{
    max-height: 100%;
    overflow: auto;
    max-width: 100%;
    position: relative;
}

#product_browser--nav--products .title_small
{
    font-weight: 400;
    font-size: 21px;
    line-height: 29px;
    margin-bottom: 5px;
}

#product_browser--nav--products p
{
    font-weight: 100;
    line-height: 21px;    
}

.product_aim_description
{
    padding-bottom: 20px;
    margin-bottom: 50px;
    border-bottom: 1px solid #0078dc;
    position: relative;
    left: 0;
    opacity: 1;
    transition: 0.4s;
}

#product_browser--search_container--products
{
    position: absolute;
    display: inline-block;    
    top: 0;
    left: 285px;
    opacity: 0;
    pointer-events: none;

    width: calc(100% - 285px);

    height: 100%;
    overflow: auto;

    background-color: white;
    z-index: 100;

    transition: 0.3s opacity;
}

#product_browser--search_container--products.visible
{
    opacity: 1;
    pointer-events: all;
}


#product_browser--search_container--products--close_btn {
    position: relative;
    float: right;
    cursor: pointer;
    background-image: url(../assets/images/cross.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    width: 24px;
    height: 17px;
    transition: 0.3s;
}


#product_browser--search_container--products--close_btn:hover svg path
{
    stroke: #e6f4fe;
}

/*
 * NOTE(ruben): End Product Browser
 */


/*
 * NOTE(ruben): Start Detail Product 
 */

#product_detail
{
    position: fixed;
    transition: .8s;
    pointer-events: none;
    opacity: 0;
    transform: translateY(50px);
    background-color: #fff;
    top: 140px;
    height: calc(100% - 140px);
}

.product_browser.detail #product_detail
{
    pointer-events: all;
    transform: translateY(0px);
    opacity: 1;
}

#product_detail--image
{
    width: 51%;
    height: 540px;
    max-height: calc(100% - 90px);
    float: left;
    overflow: hidden;
    transform: translateX(0%);
    transition: 0.8s;
}

#product_detail--image img, #product_detail--image svg
{
    position: absolute;
    left: 0;
    right: 0;

    width:  100%;
    height: 100%;
}

.product_browser.detail #product_detail--image
{
    transform: translateX(-10%);   
}

#product_detail--content
{
    overflow: auto;
    height: calc(100% - 90px);
    padding-top: 2px;
}

#product_detail--content--title
{
    font-weight: 700;
    margin-bottom: 30px;
    font-size: 25px;
}

#product_detail--content--text
{
    font-weight: 100;
    font-size: 17px;
    line-height: 23px;
    margin-bottom: 40px;
}

#product_detail--content--contact
{
    margin-bottom: 40px;
    position: relative;
    display: inline-block;
    text-align: center;
}

#product_detail--content--nav
{
    position: relative;
    display: block;
    height: 90px;
    background-color: #fff;    

    border-top: 1px solid;
    font-size: 21px;
    font-weight: 700;
}

#product_detail--content--nav--left
{
    position: relative;
    float: left;

    top:  50%;
    transform: translateY(-50%);
}

#product_detail--content--nav--right
{
    position: relative;
    float: right;

    top:  50%;
    transform: translateY(-50%);
}

/*
 * NOTE(ruben): End Detail Product
 */

/*
 * NOTE(ruben): dev overrides
 */

body.my_color_sceme, body.my_color_sceme #product_detail,body.my_color_sceme #product_detail--conent--nav
{
    background-color: #221a0f;
    color:  #a57a4c;
}

body.my_color_sceme .big_button
{
    color: #221a0f;
    background-color:  #a57a4c;
}

body.my_color_sceme .big_button:hover
{
    background-color: #fff;
}

body.my_color_sceme #page_header--navigation--search input, body.my_color_sceme a
{
    color:  #a57a4c;
    border-color: #a57a4c;
}


body.my_color_sceme svg path
{
    fill:  #a57a4c;
    stroke: #a57a4c;
}

.bottom_popup {
	position: fixed;
	top: 100vh;
	background: #0078DC;
	left: 0;
	right: 0;
	z-index: 5555;
	transition: 0.2s;
	color: white;
	bottom: -100vh;
}

.bottom-popup-content {
	width: calc(100% - 50px );
	max-width: 1100px;
	margin: 0 auto;
	padding: 28px 0;
	display: flex;
	position: relative;
}

.bottom_popup.active {
	bottom: 0;
	top: 150px;
}

.all_products--header {
	align-items: center;
	font-size: 24px;
}

#product_browser--all--products {
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	position: absolute;
	bottom:20px;
	left: 0;
	padding: 16px;
	font-size: 17px;
	text-align: center;
}

div#all_products--title {
    font-size: 24px;
    width: 100%;
    font-weight: 700;
}

div#all_products--close {
    font-size: 56px;
    margin-left: 36px;
    transition: 0.2s;
    cursor: pointer;
    background-image: url(../assets/images/cross-white.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    height: 26px;
}

button#all_products_search_button {
    background: none;
    border: none;
    color: white;
    transition: 0.2s;
    cursor: pointer;
    background-image: url(../assets/images/search-white.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    height: 26px;
}

div#all_products--search {
    display: flex;
}

input#all_products_input {
    background: none;
    border: none;
    border-bottom: 2px solid white;
    transition: 0.2s;
    color: white;
    width: 0;
    padding-left: 0;
    padding-right: 0;
}

input#all_products_input.active {
    width: 180px;
}

div#all_products--products-columns {
    overflow-y: scroll;
    max-height: calc( 100% - 270px);
    display: flex;
    flex-wrap: wrap;
}

div#all_products--categories {
    display: flex;
    overflow-y: scroll;
    overflow-x: clip;
    padding-bottom: 28px;
    margin-bottom: -22px;
    width: 100%;
}
div#all_products--products-columns img {
    display: none;
}

.all_products--products--wrap {
    width: 25%;
    max-width: 25%;
}

div#all_products--products-columns .product_browser--product a {
    color: white;
    font-size: 17px;
    margin-bottom: 9px;
    display: block;
    transition: 0.2s;
    font-weight: 700;
}

div#all_products--products-columns .product_browser--product {
    padding-right: 50px;
}

.all_products--category {
    font-size: 21px;
    padding-right: 20px;
    transition: 0.2s;
    max-width: 25%;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
}

div#all_products--categories:after {
    content: '';
    display: block;
    width: 20px;
    background-color: #0078dc;
    position: absolute;
    right: 0px;
    top:0;
    bottom:0;
    z-index: 55;
}

div#all_products--categories {}

.bottom-popup-content.all_products--categories--wrap {
    border-bottom: 1px solid white;
}

.all_products--category:hover {
    color: #c1e3fc;
}

div#all_products--close:hover {
    transform: rotate(180deg);
}

button#all_products_search_button:hover {transform: translateY(-3px);}

div#all_products--products-columns .product_browser--product a:hover {
    color: #c1e3fc;
}

div#all_products--products-columns .product_browser--product a.hidden {
    display: none;
}

ul.special {
    list-style: disc;
}

.big_button:focus {
    outline: 6px #DAEAF5 solid;
}

span#page_header--content--text {
    display: none;
}

#page_header--navigation--search--icon {
    background-image: url(../assets/images/search.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin-bottom: -7px;
    transition: 0.2s;
    position: relative;
    top: 0;
}

i.icon-right {
    display: inline-block;
    width: 10px;
    height: 20px;
    vertical-align: middle;
    background-image: url(../assets/images/right.png);
    background-size: contain;
    background-position: center;
    margin-left: -8px;
    background-repeat: no-repeat;
    margin-bottom: 3px;
    transition: 0.2s;
    position: relative;
    left: 0;
}

a#intro_filter--undecided:hover i.icon-right {
    left: 10px;
}

i.icon-cross {
    background-image: url(../assets/images/cross.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    width: 14px;
    height: 15px;
    transition: 0.3s;
}

i.icon-cross:hover {
    transform: rotate(180deg);
}

#page_header--navigation--search:hover input {
    /* min-width: 8px; */
}

div#all_products--close:hover {}

a#product_detail--content--nav--right.disabled {
    opacity: 0.5;
}

a#product_detail--content--nav--left.disabled {
    opacity: 0.5;
}

div#logo:hover {
    transform: scale(1.2);
}

#page_header--navigation--search--icon:hover {
    transform: scale(1.1);
}

.opacity-0 {
    opacity: 0!important;
}

.product_browser--product.product-hidden, .product-hidden {
    padding: 0;
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.product_browser--product.product-hidden-animation, .product-hidden-animation {
    left: -100%;
    max-width: 100%;
}

div#product_browser--search_container--products--close_btn:hover {
    transform: rotate(
180deg);
}

.all_products--category.all_products--mobile--cat {
    display: none;
}

.dropdown:not(.active) .dropdown--preview--icon i.icon-right {
    background-image: url(../assets/images/down-white.png);
    width: 18px;
    height: 10px;
    margin-left: 1px;
}

.dropdown.active .dropdown--preview--icon i.icon-cross {
    margin-left: 3px;
}

.dropdown:not(.active) .dropdown--preview--icon i.icon-right {}

.dropdown.hover .dropdown--preview--icon i.icon-right {
    transform: rotate(180deg);
}

.dropdown:after {transition: 0.2s;content: "";display: none;background-image: url(../assets/images/down-white.png);width: 18px;height: 10px;margin-left: 1px;position: absolute;top: 5px;background-size: contain;background-repeat: no-repeat;background-position: center;right: 12px;top: 21px;z-index: 5555;}

.dropdown.hover:after {
    transform: rotate(180deg);
}

.dropdown.active:after {
    display: none;
}

.dropdown.active.hover {
    z-index: 22223;
}

.dropdown.hover {
    z-index: 999999;
}

.dropdown .dropdown--preview {
    z-index: 555555555555555555555555;
    position: relative;
}

p#product_detail--content--text h4 {
    font-weight: 700;
    margin-bottom: 5px;
}
a#intro_filter--undecided i {
    margin-left: 10px;
}

a#product_detail--content--contact:hover {
    color: white;
}

.contactbutton_container {
    vertical-align: middle;
    display: inline-block;
}

.button_contact img {
    width: 27px;
}

.button_contact {
    display: flex;
    flex-direction: row-reverse;
}

.contact_tooltip {
    overflow: hidden;
    margin-right: 5px;
    transition: 0.3s;
    max-width: 0;
}

.tooltip_inner.size1of1.leftfloater {
    white-space: nowrap;
}

.contactbutton_container:hover .contact_tooltip {
    max-width: 200px;
}

#intro_filter--undecided.right {
}