@font-face{
    font-family: "Roboto-Light";
    src: url("fonts/Roboto-Light.ttf");
}

:root{
    --desktopMargin: 10vw;
    --tabletMargin: 2vw;
    --phoneMargin: 0vw;

    --desktopVPadding: 12vh;
    --tabletVPadding: 15vh;
    --phoneVPadding: 20vh;
    

    --desktopSectionPadding: 0.6vw;
    --tabletSectionPadding:0.8vw;
    
    --phoneHeaderHeight: 16vw;
    --tabletHeaderHeight: 6vw;
    --desktopHeaderHeight: 4vw;

    --phoneInputPadding: 1.3vw;
    --tabletInputPadding: 0.8vw;
    --desktopInputPadding: 0.3vw;

    --phoneInputRadius: 0.8vw;
    --tabletInputRadius: 0.4vw;
    --desktopInputRadius: 0.2vw;

    --phoneInputFontSize: 3.4vw;
    --tabletInputFontSize: 1.4vw;
    --desktopInputFontSize: 1vw;

    --headerBgColor: #ffffff;
    --color888: #999999;
    --boxShadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.posRelative{
    position: relative;
}
.posAbsolute{
    position: absolute;
}
.posFixed{
    position: fixed;
}
.displayNone{
    display: none;
}
.visibilityHidden{
    visibility: hidden;
}
.hide{
    display: none;
}

.widthAuto{
    width: auto;
}
.infoGrey{
    color: #888888;
}
.borderGrey{
    border: 1px #aaa solid;
}
.bgWhite{
    background-color: #fff;
}
.bgRed{
    background-color: #ff0000;
    color: #ffffff;
}
.bgGreen{
    background-color: #2BB673;
    color: #ffffff;
}

.bgDarkGrey{
    background-color: #444444;
    color: #ffffff;
    border-radius: 0.1vw;
}

.bg0{
    background: transparent;
}
.bg1{
    background-image: linear-gradient(150deg, #014F5D, #027080, #04D3F2);
    color: #ffffff;
}
.bg2{
    background-color: #FFE4B5;
}
.bg3{
    background-color: #C7E9C7;
}
.bg4{
    background-color: #777777;
    color: #ffffff;
}
.bg5{
    background-color: #F9F9F9;
    border-bottom: 1px #DDDDDD solid;
    border-top: 1px #DDDDDD solid;
}

.bg6{
    background: url("../images/general/Image2.jpg") no-repeat center center;
    color: #ffffff;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.bg7{
    background: url("../images/general/Image3.jpg") no-repeat center center;
    color: #ffffff;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.bg8{
    background: url("../images/general/Image4.jpg") no-repeat center center;
    color: #ffffff;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

body{
    margin: 0;
    background-color: #ffffff;
    font-family: 'Roboto-Light', Helvetica;
    color: #444444;
}

table.list {
	width: 100%;
    table-layout:auto;
}

table.list th {
	border: 0px;
}
table.list td {
	border: 0px;
}

table.list tr:nth-child(even){
	background-color: #EDEEEF;
}

table{
    margin: 0;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

table td{
    border: 1px var(--color888) solid;
    padding: 1.2vw;
}

table th{
    background-color: transparent;    
}

header{
    background-color: var(--headerBgColor);
    height: var(--phoneHeaderHeight);
    position: fixed;
    top: 0vh;
    width: 100vw;
    z-index: 700;
}

header nav{
    display: none;
    position: absolute;
    background-color: var(--headerBgColor);
    top:var(--phoneHeaderHeight);
    padding-bottom: 20vw;
    width: 100vw;
    height: auto;
    text-align: center;
}

header a{
    display: block;
    text-align: center;
    border: 1px #004956 solid;
    border-radius: 1vw;
    width: 92vw;
    font-size: 5vw;
    padding: 1.6vw;
    margin: 1.6vw;
    cursor: pointer;
    z-index: 100;
    color: #004956;
    text-decoration: none;
}



#menuToggleButton{
    position: absolute;
    right: 7vw;
    top: 2vw;
	border: 0px;
    background-color: var(--headerBgColor);
    width: 14vw;
    height: 12vw;
    color: #004956;
    border-radius: 1vw;
    font-size: 7vw;
    cursor: pointer;
}


header img.logo{
    height: calc(var(--phoneHeaderHeight) - 2vw);
}

main{
    margin-top: var(--phoneHeaderHeight);
    position: relative;
    background-color: #ffffff;
    overflow: hidden;
    z-index: 50;
    font-size: 3.4vw;
    min-height: 85vh;
}

section{
    margin: 0;
    padding-left: var(--phoneMargin);
    padding-right: var(--phoneMargin);
    padding-top: var(--phoneVPadding);
    padding-bottom: var(--phoneVPadding);
    position: relative;
    overflow: hidden;
}

div.sectionChild{
    /* was float left display: inline-block; */
    float: left;
    margin: 0;
    padding: 0.5vw;
    box-sizing: border-box;
}

div.sectionChild.width1{
    width: 98vw;
}
div.sectionChild.width2{
    width: 98vw;
}
div.sectionChild.width3{
    width: 98vw;
}
div.sectionChild.width4{
    width: 98vw;
}
div.sectionChild.width5{
    width: 98vw;
}
div.sectionChild.width6{
    width: 98vw;
}

div.divChild{
    /* was float left display: inline-block; */
    float: left;
}
div.width1{
    width: 100%; /* full width */
}
div.width2{
    width: 50%;  /* half width */
}
div.width3{
    width: 33%;  /* third width */
}
div.width4{
    width: 25%;  /* quarter width */
}
div.width5{
    width: 66%;  /* two thirds width */
}
div.width6{
    width: 75%;  /* three quarter width */
}

footer{
    height: 30vw;
    background-color: var(--color888);
    padding-top: 15vw;
    text-align: center;
    color: #ccc;
}

footer a{
    color: #ccc;
}

h1{
    font-size: 10vw;
    font-weight: normal;
}

h2{
    font-size: 8vw;
    font-weight: normal;
}
h3{
    font-size: 7vw;
    font-weight: normal;
}

h4{
    font-size: 6vw;
    font-weight: normal;
}
h5{
    font-size: 5vw;
    font-weight: normal;
}
h6{
    font-size: 4vw;
    font-weight: normal;
    margin: 0;
}

#cartButtonLoader{
    position: fixed;
    right: 2vw;
    bottom: 5vh;
    z-index: 600;
}

.cartButton{
    padding: 0.2vw;
    border-radius: 1vw;
    background-color: #ff0000;
    color: #ffffff;
}

span.crumbLink{
    cursor: pointer;
}

.size04{
    width: 10vw;
}

.size05{
    width: 10vw;
}

.size1{
    width: 18vw;
}

.size11{
    width: 25vw;
}

.size12{
    width: 85vw;
}

.size13{
    width:90vw;
}

.size2{
    width: 80vw;
}

.size3{
    width: 85vw;
}

.size4{
    width: 98vw;
}

.width01{
	width: 8vw;
}

.width05{
	width: 20vw;
}

.height1{
    height: 80vh;    
}

.maxSize1{
	max-width: 25vw;
	max-height: 25vw;
}

.maxSize10{
	max-width: 80vw;
	max-height: 80vw;
}

.height10{
    height: auto;
}

.maxSize20{
	max-width: 70vw;
	max-height: 70vh;
}

.padding1{
    padding: 5vw;    
}

.textCenter{
    text-align: center
}

.textRight{
    text-align: right;
}

.textLeft{
    text-align: left;
}

.textJustify{
    text-align: justify;
}

.floatLeft{
    float: left;    
}

.clearBoth{
    clear: both;    
}

.fullHeight{
    height: 100%;
}

.displayFlex{
    display: flex;
    justify-content: center;
}

.inlineBlock{
    display: inline-block;
    vertical-align: text-top;
}

.link{
    cursor: pointer;
    text-decoration: underline;
    color: #0000C0;
}

div.messageBox {
	position: fixed;
	display: none;
	top: 0;
	width: 100vw;
	z-index: 9999;
	font-size: 2.5vh;
	font-weight: bold;
	color: #311B09;
	background-color: #F69C54;
	text-align: center;
	padding: 0.8vh;
	left: 0;
}

div#popup {
	margin: auto; 
	display: none;
	position: fixed;
	z-index: 5000;
	text-align:left;
	background-color: #fff;
	border: #888888 2px solid;
	border-radius: 1vw;
	padding: 1vw;
	height: auto;
	width: 90vw;
	left: 2vw;
    top: 15vw;
    box-shadow: var(--boxShadow);
}


div#popupTop {
	text-align: right;
}

div#popupContent{
	position: relative;
	text-align:left;
}

input, textarea{
    font-size: var(--phoneInputFontSize);
    padding: var(--phoneInputPadding);
    border-radius: var(--phoneInputRadius);
    border: 1px var(--color888) solid;
}

input[type=button].closeButton{
	background: none;
	border: 0;
	color: #555;
	font-size: 9vw;
	padding: 0;
}

.contactBox{
    text-align: center;
}

.contactBox input, textarea{
    width: 95%;
}

input[type=button].sendButton{
	padding: var(--phoneInputPadding);
    border: 1px #2BB673 solid;
    border-radius: var(--phoneInputRadius);
    color: #ffffff;
    background-color: #2BB673;
}

button.contact{
    font-size: 6vw;
    background-color: #F7941D;
    color: #ffffff;
    width: 70vw;
    border: 0;
    margin: 8vw;
}

button{
    cursor: pointer;
    border-radius: var(--phoneInputRadius);
    font-size: var(--phoneInputFontSize);
    padding: var(--phoneInputPadding);
    vertical-align: top;
    border: 1px #D6D7D8 solid;
}

div.catTreeGroup{
    float: left;
    width: 25vw;
    height: 50vw;
    margin: 2vw;
    margin-bottom: 10vw;
    cursor: pointer;
}

div.catTreeGroup p.base{
    margin: 2.5vw;
}

div.catTreeGroup div.image img{
    width: 90%;
    padding: 1vw;
    border: 1px #aaa solid;
    border-radius: 2vw;
}


div.baseCat{ 
    min-width:90vw;
    float: left;
    height: auto;
    cursor: pointer;
}

.tileContainer{
    position: relative;
}

.tile1{
    text-align: left;
    border: 2px #aaa solid;
    border-radius: 2vw;
    padding: 2vw;
    margin: 2vw;
    box-sizing: border-box;
    height: auto;
}

.__se__dashed{
    border-top: 1px var(--color888) dashed;
    border-bottom: 0px;
}

.__se__dotted{
    border-top: 1px var(--color888) dotted;
    border-bottom: 0px;
}

.-dropMenuContainer{
    text-align: center;
    position: relative;
    z-index: 200; 
    clear: both;
    top: var(--phoneHeaderHeight);
}

.-icpSelected{
    border-left: 1px var(--color888) solid;
    border-top: 1px var(--color888) solid;
    border-right: 1px var(--color888) solid;
    border-top-left-radius: 0.15vw;
    border-top-right-radius: 0.15vw;
    background-color: #ffffff;
}

.-icp{
    display: block;
    list-style: none;
}

.-icc{
    list-style: none;
    text-align: left;
}

.-icc > ul {
    display: none;
}

.-icp > ul{
    display: none;
    position: absolute;
    left: var(--phoneMargin);
    width: 100%;
    column-count: 1;
    background-color: #ffffff;
    border: 1px var(--color888) solid;
    border-radius: 0vw;
    box-shadow: var(--boxShadow); 
}

.-icp > ul > li{
    padding-top: 1vw;
    display: inline-block;
    width: 95vw;
    font-weight: bold;
}

.-icp > ul > li > ul{
    font-weight: normal;
    padding-left: 0;
    padding-top: 0.6vw;
    
}

.-dropMenuContainer li{
    cursor: pointer;
}


@media screen and (min-width: 800px) {
    header{
        height: var(--tabletHeaderHeight);
    }
    
    header img.logo{
        height: calc(var(--tabletHeaderHeight) - 0.5vw);
    }

    div.div0{
        height: 5.5vw;
    }

    h1 {
       font-size: 2.6vw;
    }
    h2{
        font-size: 2.2vw;
        font-weight: normal;
    }
    h3{
        font-size: 2vw;
        font-weight: normal;
    }
    
    h4{
        font-size: 1.8vw;
        font-weight: normal;
    }
    h5{
        font-size: 1.6vw;
        font-weight: normal;
    }
    h6{
        font-size: 1.3vw;
        font-weight: normal;
    }
    
    table td{
        padding: 0.7vw;
    }

    header a{
        display: inline;
        font-size: 2.1vw;
        padding: 0.8vw;
        margin: 0.2vw;
        border: 1px #004956 solid;
        border-radius: 1vw;
    }
    
    #menuToggleButton{
        position: absolute;
        right: 3vw;
        top: 0.2vw;
        width: 5vw;
        height: 5vw;
        color: #004956;
        border-radius: 1vw;
        font-size: 4vw;
    }


    header nav{
        display: none;
        position: absolute;
        top: calc(var(--tabletHeaderHeight) - 0.5vw);
        padding-bottom: 0.1vw;
        width: 30vw;
        right: 1vw;
        height: auto;
        text-align: center;
        border-radius: 1vw;
    }


    header nav a{ 
        display:  block;
        width: 26vw;
    }

    main{
        margin-top: var(--tabletHeaderHeight);
        font-size: 1.4vw;
    }

    section{
        padding-left: var(--tabletMargin);
        padding-right: var(--tabletMargin);
        padding-top: var(--tabletVPadding);
        padding-bottom: var(--tabletVPadding);
    }

    div.sectionChild{
        padding: var(--tabletSectionPadding);
        box-sizing: border-box;
    }
    div.sectionChild.width1{
        width: calc(96.5vw - var(--tabletMargin)*2); /* full width */
    }
    div.sectionChild.width2{
        width: calc((96.25vw - var(--tabletMargin)*2)/2);  /* half width */
    }
    div.sectionChild.width3{
        width: calc((96vw - var(--tabletMargin)*2)/3);  /* third width */
    }
    div.sectionChild.width4{
        width: calc((95.75vw - var(--tabletMargin)*2)/4);  /* quarter width */
    }
    div.sectionChild.width5{
        width: calc((96.6vw - var(--tabletMargin)*2)/1.5);  /* two thirds width */
    }
    div.sectionChild.width6{
        width: calc((96.6vw - var(--tabletMargin)*2)/1.333);  /* three quarter width */
    }

    div.width1{
        width: 100%; /* full width */
    }
    div.width2{
        width: calc(50% - (var(--tabletSectionPadding))/2); /* half width */
    }
    div.width3{
        width: calc(33.33% - (var(--tabletSectionPadding))/2);  /* third width */
    }
    div.width4{
        width: calc(25% - (var(--tabletSectionPadding))/2);  /* quarter width */
    }
    div.width5{
        width: calc(66.66% - (var(--tabletSectionPadding))/2);  /* two thirds width */
    }
    div.width6{
        width: calc(75% - (var(--tabletSectionPadding))/2);  /* three quarter width */
    }

    .margins{
        margin-left: 7vw;
        margin-right: 7vw;
    }

    footer{
        height: 15vw;
        padding-top: 7vw;
    }

    .size04{
        width: 6vw;
    }

    .size05{
        width: 12vw;
    }

    .size1{
        width: 15vw;
    }

    .size11{
        width: 10vw;
    }

    .size12{
        width: 20vw;
    }
    .size13{
        width: 20vw;
    }

    .size2{
        width: 28vw;
    }
    
    .size3{
        width: 50vw;
    }

    .size4{
        width: 80vw;
    }

    .width01{
        width: 3.2vw;
    }

    .width05{
        width: 7vw;
    }

    .height1{
        height: 90vh;    
    }

    .maxSize1{
        max-width: 10vw;
        max-height: 10vw;
    }

    .maxSize10{
        max-width: 18vw;
        max-height: 18vw;
    }
    .height10{
        height: 18vw;    
    }

    .maxSize20{
        max-width: 60vw;
        max-height: 55vh;
    }

    .padding1{
        padding: 1vw;
    }

    div#popup {

        border-radius: 0.5vw;
        width: 31.5vw;
        top: 7vw;
        left: 30vw;
    }

    input[type=button].closeButton{
        font-size: 3.5vw;
        cursor: pointer;
    }

    input[type=button].sendButton{
        padding: var(--tabletInputPadding);
        border: 1px #2BB673 solid;
        border-radius: var(--tabletInputRadius);
        color: #ffffff;
        background-color: #2BB673;
        cursor: pointer;
    }


    input,textarea{
        padding: var(--tabletInputPadding);
        font-size: var(--tabletInputFontSize);
        border-radius: var(--tabletInputRadius);
    }

    button.contact{
        font-size: 2.4vw;
        width: 18vw;
        margin: 2vw;
    }
    
    button{
        font-size: var(--tabletInputFontSize);
        border-radius: var(--tabletInputRadius);
        padding: var(--tabletInputPadding);
        border: 1px #D6D7D8 solid;
    }
        
    div.catTreeGroup{
        width: 8vw;
        height: 15vw;
        margin: 0.7vw;
        margin-bottom: 3.9vw;
    }

    div.catTreeGroup p.base{
        margin: 0.5vw;
    }
    
    div.catTreeGroup div.image img{
        width: 90%;
        padding: 0.2vw;
        border-radius: 0.3vw;
    }
    
    div.baseCat{ 
        min-width:20vw;
    }

    .tileContainer{
        display: flex;
        position: relative;
    }
    .tile1{
        border-radius: 1vw;
        padding: 0.3vw;
        margin: 0.3vw;
    }

    .-dropMenuContainer{
        top: var(--tabletHeaderHeight);
    }
    
    .-icp{
        display: inline;
        padding-left: 2vw;
        padding-right: 2vw;
    }
    
    .-icc > ul {
        display: block;
    }


    .-icc > ul > li > ul{
        display: none;
    }
    
    .-icp > ul{
        display: none;
        position: absolute;
        column-count: 4;
        left: var(--tabletMargin);
        width: calc(96.5vw - var(--tabletMargin)*2); 
        border-radius: 0.4vw;
    }
    
    .-icp > ul > li{
        padding-top: 0.9vw;
        display: inline-block;
        width: 21vw;
    }
    
    .-icp > ul > li > ul{
        padding-top: 0.6vw;
    }

}





@media screen and (min-width: 1300px) {
    header{
        height: var(--desktopHeaderHeight);
    }

    div.div0{
        height: 3vw;
    }
    
    header img.logo{
        height: var(--desktopHeaderHeight);
    }

    h1 {
       font-size: 2vw;
    }
    h2{
        font-size: 1.8vw;
        font-weight: normal;
    }
    h3{
        font-size: 1.4vw;
        font-weight: normal;
    }
    
    h4{
        font-size: 1.2vw;
        font-weight: normal;
    }
    h5{
        font-size: 1.1vw;
        font-weight: normal;
    }
    h6{
        font-size: 1vw;
        font-weight: normal;
    }

    table td{
        padding: 0.4vw;
    }

    header a{
        display: inline;
        font-size: 0.9vw;
        padding: 0.6vw;
        margin: 0vw;
        border: 0;

    }
    
    header nav{
        right: 1vw;
        display: block;    
        position: absolute;
        top:1.4vw;
        width: auto;
        height: auto;
        padding-bottom: 0vw;
    }
    
    header nav a{
        display: inline;
    }

    main{
        margin-top: var(--desktopHeaderHeight);
        font-size: 0.9vw;
    }
    
    section{
        padding-left: var(--desktopMargin);
        padding-right: var(--desktopMargin);
        padding-top: var(--desktopVPadding);
        padding-bottom: var(--desktopVPadding);
    }

    div.sectionChild{
        padding: var(--desktopSectionPadding);
        box-sizing: border-box;
    }
    div.sectionChild.width1{
        width: calc(97.8vw - var(--desktopMargin)*2); /* full width */
    }
    div.sectionChild.width2{
        width: calc((97.75vw - var(--desktopMargin)*2)/2);  /* half width */
    }
    div.sectionChild.width3{
        width: calc((97.5vw - var(--desktopMargin)*2)/3);  /* third width */
    }
    div.sectionChild.width4{
        width: calc((97.25vw - var(--desktopMargin)*2)/4);  /* quarter width */
    }
    div.sectionChild.width5{
        width: calc((97.8vw - var(--desktopMargin)*2)/1.5);  /* two thirds width */
    }
    div.sectionChild.width6{
        width: calc((97.8vw - var(--desktopMargin)*2)/1.333);  /* three quarter width */
    }

    div.width1{
        width: 100%; /* full width */
    }
    div.width2{
        width: calc(50% - (var(--desktopSectionPadding))/2); /* half width */
    }
    div.width3{
        width: calc(33.33% - (var(--desktopSectionPadding))/2);  /* third width */
    }
    div.width4{
        width: calc(25% - (var(--desktopSectionPadding))/2);  /* quarter width */
    }
    div.width5{
        width: calc(66.66% - (var(--desktopSectionPadding))/2);  /* two thirds width */
    }
    div.width6{
        width: calc(75% - (var(--desktopSectionPadding))/2);  /* three quarter width */
    }
    
    footer{
        height: 10vw;
        padding-top: 5vw;
    }

    #menuToggleButton{
        display: none;
    }
    
    .size04{
        width: 5vw;
    }

    .size05{
        width: 10vw;
    }

    .size1{
        width: 10vw;
    }

    .size11{
        width: 5vw;
    }

    .size12{
        width: 16vw;
    }

    .size13{
        width: 18vw;
    }

    .size2{
        width: 20vw;
    }
    
    .size3{
        width: 37vw;
    }

    .size4{
        width: 60vw;
    }
    
    .width01{
        width: 1.4vw;
    }

    .width05{
        width: 5vw;
    }

    .height1{
        height: 50vh;
    }

    .maxSize1{
        max-width: 5vw;
        max-height: 5vw;
    }
    .maxSize10{
        max-width: 14vw;
        max-height: 14vw;
    }
    .height10{
        height: 14vw;    
    }

    .maxSize20{
        max-width: 60vw;
        max-height: 60vh;
    }

    .padding1{
        padding: 0.6vw;
    }

    div#popup {
        border-radius: 0.3vw;
        width: 18vw;
        top: 12vw;
        left: 40vw;
    }

    input[type=button].closeButton{
        font-size: 2vw;
        cursor: pointer;
    }

    input, textarea{
        padding: var(--desktopInputPadding);
        border-radius: 0.4vw;
    }

    input[type=button].sendButton{
        padding: var(--desktopInputPadding);
        border: 1px #2BB673 solid;
        border-radius: var(--desktopInputRadius);
        color: #ffffff;
        background-color: #2BB673;
        cursor: pointer;
    }
    
    input,textarea{
        font-size: var(--desktopInputFontSize);
        border-radius: var(--desktopInputRadius);
    }

    button.contact{
        font-size: 1.3vw;
        width: 12vw;
        margin: 1.5vw;
    }

    button{
        font-size: var(--desktopInputFontSize);
        border-radius: var(--desktopInputRadius);
        padding: var(--desktopInputPadding);
        border: 1px #D6D7D8 solid;
    }

    div.catTreeGroup{
        width: 5vw;
        height: 7vw;
        margin: 0.7vw;
        margin-bottom: 2.5vw;
    }

    div.catTreeGroup p.base{
        margin: 0.5vw;
    }
    
    div.catTreeGroup div.image img{
        width: 90%;
        padding: 0.2vw;
        border-radius: 0.3vw;
    }
    
    div.baseCat{ 
        min-width:11.5vw;
    }

    .tile1{
        border-radius: 0.5vw;
        padding: 0.5vw;
        margin: 0.3vw;

    }

    .-dropMenuContainer{
        top: var(--desktopHeaderHeight);
    }

    .-icp{
        display: inline;
        padding-left: 0.8vw;
        padding-right: 0.8vw;
    }
    
    .-icc > ul {
        display: block;
    }

    .-icc > ul > li > ul{
        display: none;
    }
    
    .-icp > ul{
        display: none;
        position: absolute;
        column-count: 5;
        left: var(--desktopMargin);
        width: calc(97.8vw - var(--desktopMargin)*2); 
        border-radius: 0.2vw;
    }
    
    .-icp > ul > li{
        padding-top: 0.6vw;
        display: inline-block;
        width: 14vw;
    }
    
    .-icp > ul > li > ul{
        padding-top: 0.4vw;
    }

   
}

