
/* general layout - header, footer, any generic containers */

header { position:relative; padding-top:20px;}
header .navbar { margin-bottom:0; }
header .hamburger { display:none;}
.navbar { border-radius:0 !important;}
header .navbar-nav>li a { color: #ffffff;}
header .navbar-nav>li.open a { color: #000000;}
header .logo { width:250px; margin:10px 0;}
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover, .nav>li>a:focus, .nav>li>a:hover { background-color:#d4b44e }


.navbar-nav>li>.dropdown-menu li { margin:3px 0 3px 0; text-transform: none;}

header #cartinfo { font-family: 'Montserrat', sans-serif; font-size:13px; font-weight:600; color: #808285; text-transform: uppercase;}
header #cartinfo a:link, header #cartinfo a:visited { color:#d4b44e; }
header #cartinfo .gold { color:#d4b44e;}
header #cartinfo em { font-style: normal; margin:0 10px; color: #d7d7d7}
header .search { margin-top:0;  position:relative; padding-right:20px; margin-bottom: 10px;  }
header .search input { width:100% !important; display:block; float:none !important;}
header .search img { position:absolute; right:-10px; top:0px;}

header #secondarynav { margin:10px 0 10px 0;}
header #secondarynav ul { list-style: none;  padding:0; }
header #secondarynav ul li { float:left;}
header #secondarynav ul li a { padding:0 15px 0 0; color:#d4b44e; text-transform:uppercase; font-weight:600;}
header #secondarynav ul li:last-child { clear:both; float:none; }
header #secondarynav ul li:last-child a { padding-right: 0; }

.navbar { background-color: #0e5386; margin-top:20px; font-family: 'Montserrat', sans-serif; font-size:14px; text-transform: uppercase; font-weight:600; margin-bottom: 0 !important;}
#navbar>ul>li>a { color:#ffffff; padding-right:10px; padding-left:10px;}


.banner { background-color: #000000;}
.banner img { float:right; max-width:100%;}

section.grey { background-color: #f6f6f6; padding:40px 0;}
section.grey h1:first-of-type { margin-top:0;}

footer { background-color: #0e5386; padding:30px 0; margin-top:20px;}
footer p { color:#ffffff; font-size:14px; line-height:20px;}
footer p a:link, footer p a:visited { color:#ffffff;}

.maincontent { min-height:450px;}

/* products */
#products .list { margin-bottom: 70px; }
#products .list .inner { border:1px #f6f6f6 solid; background-color: #f6f6f6;}
#products .list .inner .content { margin:0 20px; }
#products .list h2 { color:#414042; font-size:15px; font-weight:700; margin-top:10px; }
#products .list h2 a:link, #products .list h2 a:visited { color:#414042;  }
#products .list h4 { color:#0e5386; font-weight:700;}
#products .list .btn { position:absolute; bottom:-40px; width:75%; left:15%;}

/* cart */
/* changes to below styles should be replicated into email.css */
#cart table.list { width:100%;  }
#cart .list {margin-bottom:0px; }
#cart .list th {  padding:2px 5px 2px 5px;  padding:2px 5px 2px 5px;   }
#cart .list tr { height:30px; }
#cart .list td {  padding:2px 5px 2px 5px;  }
#cart .list .totals {   font-weight:bold; height:30px; }
#cart .totalsfigure {  font-size:14px; text-align:right; }
#cart .list .leftborder {   }
#cart .list h3 { font-size:12px; font-weight:bold; margin-bottom:3px; }
#cart .list p { margin-bottom:3px; }
#cart #formshipping .label { width:55px; }
.cartsteps { margin-top:20px;}
.cartsteps .step { text-align: center !important; opacity:0.5; background-color: #cccccc; }
.cartsteps .selected { opacity:1; background-color: #0e5386; color:#ffffff !important; }
.cartsteps h1 { margin:10px 0 0 0;}
.cartsteps .selected h1,.cartsteps .selected a { color:#ffffff !important; }
#cart #shippingarrow { position:absolute; right:-5px; z-index:2; margin-top:-7px; }
#cart #calculateshipping { display:none; }
#calculateshipping { width:350px !important; min-height:100px; padding:5px;  z-index:1;  }
#calculateshipping h2 { margin:0 0 10px 0; background-color:#666; color:#FFF; padding:5px; }

#carttable { width:100%; }
#carttable th { line-height:30px; font-size:16px; border-bottom:1px #e6e6e6 solid; }
#carttable td:nth-child(1) { width:250px; }
#carttable td:nth-child(3) { width:60px; }
#carttable td { border-bottom:1px #e6e6e6 solid; padding:10px 5px 10px 5px;  }
#carttable td.totals { font-weight:bold; }
#orders .table-responsive + button { margin-top: 10px; }

#paymentform    #payment-col1 { width:25px; float:left; }
#paymentform    #payment-col2 { overflow:hidden; }
#paymentform h2 { margin-top:0; }
#paymentform #containermysurcharge { display: none; }

#vieworder { margin-bottom:10px; }
#vieworder #detailscolumn1 { float:none; margin-left:-2px;  }
#vieworder #detailscolumn1 table td { padding:2px; }
#vieworder #detailscolumn2 { padding-left:20px; float:none; }
#vieworder #detailscolumn2 table td { padding:2px; }






/* Really Small devices (phones) */
@media (max-width: 767px) {

    header .hamburger { top:65px !important; }
    input,textarea,select { font-size:16px !important;}
    .ui-dialog { width:80% !important;}
    .ui-tabs .ui-tabs-nav li { width:50% !important; margin:0 !important; display: inline-block !important;}
    .ui-tabs .ui-tabs-nav li a { display:block; float:none !important;}
    .ui-tabs .ui-tabs-nav li:nth-child(2n+1) { clear:both;}
    .steps p { font-size:11px;}

    .images-slic-mobile .slick-slide { margin-top:0 !important; margin-bottom: 0 !important; padding:0 !important;}
    .images-slic-mobile .slick-next { right:20px; z-index: 999; }
    .images-slic-mobile .slick-prev { left:20px; z-index: 999; }

    .jumbotron.other { display:none;}

}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {

    footer .ram img { float:right;}



}


/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {

    .navbar .container { padding-left:0; padding-right:0;}

    header #cartinfo { position:absolute; right:90px; top:20px; }
    header #secondarynav { position:absolute; right:80px; bottom:50px; margin:0;}
    #navbar>ul>li>a { color:#ffffff; padding-right:10px; padding-left:10px;}

    .form-group.labellast .field { display: inline-block; float:left; margin-right:10px; } /* mostly used for "terms" buttons */
    .form-group.labellast label { font-weight:normal; }

    .form-group.hidelabel .labeldiv { opacity: 0;}
    .form-group .control-label {  text-align: left;  }

    .dropdown-submenu {
        position:relative;
    }
    .dropdown-submenu>.dropdown-menu {
        top:0;
        left:100%;
        margin-top:-6px;
        margin-left:-1px;
        -webkit-border-radius:0 6px 6px 6px;
        -moz-border-radius:0 6px 6px 6px;
        border-radius:0 6px 6px 6px;
    }
    .dropdown-submenu:hover>.dropdown-menu {
        display:block;
    }
    .dropdown-submenu>a:after {
        display:block;
        content:" ";
        float:right;
        width:0;
        height:0;
        border-color:transparent;
        border-style:solid;
        border-width:5px 0 5px 5px;
        border-left-color:#cccccc;
        margin-top:5px;
        margin-right:-10px;
    }
    .dropdown-submenu:hover>a:after {
        border-left-color:#ffffff;
    }
    .dropdown-submenu.pull-left {
        float:none;
    }
    .dropdown-submenu.pull-left>.dropdown-menu {
        left:-100%;
        margin-left:10px;
        -webkit-border-radius:6px 0 6px 6px;
        -moz-border-radius:6px 0 6px 6px;
        border-radius:6px 0 6px 6px;
    }

}




/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1100px) {

    header .logo { width:380px; margin:10px 0;}
    .navbar { font-size:15px;}
    header #secondarynav { position:absolute; right:80px; bottom:5px; margin:0;}
    .navbar .container { padding-left:5px; padding-right: 5px; width:1100px;}
    header .search { position:absolute; right:105px; bottom:40px;}

}


@media (min-width: 1200px) {

    header .logo { width:auto; margin:0;}

}


/* breakpoint in which mobile nav kicks in */
@media (max-width: 768px) {

    header .hamburger { display:block; position:absolute; top:45px; right:0px; width:70px !important; cursor:pointer; z-index:99999;  }
    header .hamburger p { width:30px; float:left; margin:0 5px 0 0; font-size:11px; height:30px; line-height:30px; }
    header .hamburger span { height:5px; background-color:#999999; border-radius:2px; width:27px; margin:0 0 5px 35px; display:block;  }
    header .hamburger img { display:none; }
    header .hamburger.shownav span, header .hamburger.shownav p { display:none; }
    header .hamburger.shownav img { display:block; float:right; margin:0 10px 0 0; }


    header .navbar { background-color: #ffffff;}
    nav {  height:auto; padding:15px 0 0 0; position:fixed !important; z-index:1001; overflow-y: scroll;  top:0; margin:0 !important; right:-250px;  width:250px !important; z-index:99999; height:100%; background-color:#ffffff; }
    nav .container { width:auto;}
    nav ul.nav { position:relative; float:none;  padding:1px; margin:0;  }
    nav ul.nav li { float:none;  list-style:none; }
    nav ul.nav a { line-height:30px; font-size:17px;  color:#ffffff; padding:0 10px 0 10px;  height:auto; text-decoration:none; border-bottom:1px #efefef solid; display:block; }
    nav ul.nav li ul.dropdown-menu { background:none; position:relative; top:0; margin-left:15px; border:none; float:none; box-shadow:none; }
    nav ul.nav li ul li { width:auto; background-color:transparent; }

    nav ul.nav ul li ul li a { line-height:25px; height:25px; padding:0 10px 0 10px !important; height:auto; margin:0 !important;  }
    .dropdown-menu>li>a { white-space: normal;}
}

/* useful to stack datagrid vertical e.g Events Registrations */

.stack_datagrid_vertical table { border:none; }
.stack_datagrid_vertical table thead { display:none;}
.stack_datagrid_vertical table tr { background-color: transparent !important;}
.stack_datagrid_vertical table td { display:block; padding:3px !important; background-color: transparent !important; border:none !important;}
.stack_datagrid_vertical table td:last-child { display:none;}
.stack_datagrid_vertical table tr.grey { display:none;}
.stack_datagrid_vertical table .label { display: block; padding:0;}

/* contentarea */
.linktocms { position:absolute;  padding:0 5px 0 5px; text-align:center; background-color:#ff0000; color:#FFFFFF; z-index:999; text-shadow:none; line-height:25px; }
.linktocms.relative { position:relative; display:inline-block; }
td .linktocms { margin-top:-20px; }
.linktocms a { color:#FFFFFF !important; text-decoration:none !important; padding:10px; font-size:20px; }
.linktocms a:hover {  zoom: 1; filter: alpha(opacity=50); opacity: 0.5; cursor:pointer; } 
#adminlink { background-color:#0066CB; margin-top:1px; position:relative; padding:5px; color:#FFFFFF; }
#adminlink img#logintoadmin { float:left; margin-right:5px; }
#adminlink a:link, #adminlink a:visited { color: #FFFFFF; }
#adminlink a:hover { color: #f2f7fc; }
#adminlink .pageattributes { margin:0 0 0 30px; }
#adminlink .pageattributes strong { color:#03a9f4 }
.editable { border:1px #FF0000 dotted; position:relative; margin-top:20px; min-height:20px; }
.editable.off { border:none; margin:0; min-height:0; }
.editableoptions { position:absolute; top:-20px; }
.editinline.disabled, .editnewwindow.disabled { opacity:0.2; }


.inlineaddpreview { display:none; }
.inlineaddsave { display:none; } 


#debugcontainer { position:absolute; top:10px; right:20px; background-color:#e6e6e6; padding:10px; z-index:1000; max-width:800px; }
#debug p { margin-top:5px; margin-bottom:5px; }
#debug h3 { margin-top:5px; margin-bottom:5px; }

/* misc */
.btn-default { background-color:#0e5386; text-transform: uppercase; color:#ffffff; font-weight:700; border-radius:0; border:none;}
.compulsory { color:#F00; font-size:22px; position:absolute; margin-top: -10px; }
.form-group.nolabel .labeldiv, .form-group.nolabel label { display:none; }
form + button { margin-top: 10px; }
.alert:empty { display:none;}
#fade { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: #000; opacity: 0.5; z-index:9999; display:none; }


/* ui elements */

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: none;  background: #0e5386;  }
.ui-state-default h2 { color:#000000; margin-top:10px;}
.ui-tabs-active h2 { color:#ffffff; }
.ui-datepicker-current-day .ui-state-active { color:#ffffff;}
.ui-datepicker-calendar .calendarselected { background-color:#fff799; color:#000000; }

/* australian / nz map */

#map { width:auto;   height:350px;  position:relative;  }
#map svg { position:absolute;left:0; top:0;  width:100%;  height:100%;  }
#map path {  fill:#999;  stroke-width:0.8;  stroke:#ffffff;  cursor:pointer;  }
#map path:hover {  fill:#ff0000;  }

.datagrid .labelerror .form-control {     border-color: #a94442;}
.green { color: #00a651;}