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

header.fixed { position:fixed; top:0; background-color: #ffffff; width:100%; z-index: 10000; height:90px; border-bottom:1px #cccccc solid; padding:0 0 0 20px;
    -webkit-box-shadow: 0 5px 20px 2px rgba(0,0,0,0.2);
    box-shadow: 0 5px 20px 2px rgba(0,0,0,0.2);

} /* if you use this, you need to add margin-top to rest of content */
header .navbar { margin-bottom:0; margin-right:30px; }
header .hamburger { display:none;}
header .navbar { font-size: 15px; font-weight:700; float:right; height:90px; line-height:90px; padding:0; margin-right:95px;}
header .navbar .rightlinks { float:right; display: flex;}
header .navbar-nav>li.open a { color: #000000;}
header .logo { margin:20px 0;}
header .nav { margin-right: 20px;}
header .nav > li > a { color:#000000;}
header .nav > li.nav-link { padding:0 10px;}
header .rightlinks { position:absolute; right:20px; top:30px;}
header .rightlinks img { width:25px; margin-right:20px;}
header .rightlinks img:hover { filter: invert(38%) sepia(80%) saturate(7482%) hue-rotate(352deg) brightness(96%) contrast(132%);}

header .dropdown-menu { line-height:40px;}
header .dropdown-item { padding:0;}
header .dropdown-item a { padding:0.25rem 1.5rem; color:#000000; display:block;}
header .dropdown-item a:hover { background-color: #000000; color:#ffffff; text-decoration: none; }

.main { margin-top:90px;  min-height:400px;} /*  - only give a margin if header is fixed - need to apply this on various break points */
.main img { max-width:100%; height:auto;}
.main a:link, .main a:visited { color:#ff0000; }

/* simple banner / one per page */
.banner { background-color:#e6e6e6; height:450px; background-size: cover; }
.banner.big { height:600px; margin-top:-30px; margin-bottom: 40px;}

/* complex banners */

#banner1 { margin-top:-20px;}
#banner1 h1, #banner2 h1 { color:#ffffff; font-size:45px; text-transform: uppercase; line-height:45px; margin-bottom: 30px;}
#banner1 p { color:#ffffff;}
#banner1 .btn-default, #banner2 .btn-default { border:3px #ffffff solid; background-color: transparent; display: block; padding:15px 0;  text-align: center; font-size:20px;}
#banner1 .slick-slide { height:600px; background-size: cover; display: flex;
    align-items: center;
    justify-content: center;
}


#banner2 { margin:30px 0;}
#banner2 .slick-slide { height:850px; background-size: cover; display: flex;
    align-items: center;
    justify-content: center;
}



.slick-prev { left:40px; z-index: 9;  }
.slick-next { right:40px; }




footer { margin-top:20px; background-color: #363839; padding:40px;}
footer p { color:#8c8989; font-size:14px; line-height:20px;}
footer hr { height:1px; border-bottom: none; opacity: 0.5; }
footer .nav { flex-direction: column; font-size:14px;}
footer .nav li a { color: #e9eaee;}
footer .nav-link { padding-left:0; padding-right: 0;}
.social-icon { padding:12px;  width:20px; height:20px;  display:inline-block; margin-right:15px; }
.social-icon img { width:25px; height:25px; filter: invert(91%) sepia(7%) saturate(81%) hue-rotate(191deg) brightness(105%) contrast(89%); }
footer a:link, footer a:visited { color:#e9eaee;}

/* home */
.home-boxes .inner { padding-bottom: 40px; }
.home-boxes .inner p { font-family: 'PT Sans', sans-serif; font-size:18px; text-align: center; font-weight:700;}
.home-boxes .inner a:link, .home-boxes .inner a:visited { color:#333333;}
.home-boxes .inner:hover { -webkit-box-shadow: 0 0 10px 5px rgba(0,0,0,0.2); box-shadow: 0 0 10px 5px rgba(0,0,0,0.2); transition: all 500ms}

.redbox { position:relative; display:block; margin-bottom: 30px; overflow:hidden; height:250px;}
.redbox img { width:100%; height:100%; object-fit: cover;}
.redbox div { background-color: #ff0000; width:100%;  height:100%; position:absolute; left:-100%; top:0;  color:#ffffff;  display:flex; align-items: center; }
.redbox div p { text-align: center; color:#ffffff; font-family: 'PT Sans', sans-serif; font-weight:700; width:100%; font-style: normal;}
.redbox:hover div { left:0; transition: all 500ms; }

.enews { background-image: url(files/home/enews-banner.jpg); height:400px; background-size: cover; }
.enews .form { background-color: #ffffff; margin-top:30px; border-left:3px #e10707 solid; height:350px; padding:30px 20px;}
.enews p { font-size:14px;}

.review { padding:20px;}
.review p { font-size:13px; font-family:Arial, Helvetica, sans-serif; line-height:21px;}
.review .thumb { width:40px; float:left; margin-right:15px;}
.review .star { width:15px !important; margin-right:2px; display: inline-block;}
.review small { color:#999; }
.reviewmore { display:none;}
.reviewmore img { width:100px; margin-left:auto; margin-right: auto; position:relative; display:block; margin-bottom: 30px;}


.storebanner { background-image: url(media/store-banner.jpg); background-size: cover; background-position: center center; margin-top:-20px; }
.storebanner .container { height:450px; align-items: center; display:flex;}
.storebanner .container h1 { color:#ffffff;}

/* products */

#products .list { padding:20px 30px; }
#products .list img { width:300px; height:300px; object-fit: contain;}
#products .list h2 { font-size:20px; line-height:20px; text-transform: capitalize}
#products .list h3 { color:#ff0000}
#products .list h4 { font-size:20px;}
#products .list:hover { -webkit-box-shadow: 0 0 10px 5px rgba(0,0,0,0.2); box-shadow: 0 0 10px 5px rgba(0,0,0,0.2); transition: all 500ms}

#products .item-images a:first-child { width:100%;}
#products .item-images a:first-child img { margin:20px 0 40px 0;}
#products .item-images a { width:50%; display:block; float:left; padding:10px;}
#products .item-images img { margin:0 20px 20px 0; width:100%;}

#products .features { display:flex; margin-left:-20px; margin-right: -20px; flex-wrap: wrap; justify-content: center; }
#products .features .feature { padding:20px; width:33%;}

.subnav { border:1px #ebebeb solid; border-radius:10px; overflow: hidden;}
.subnav h2 { background-color: #000000; color:#ffffff; padding:5px 15px; margin-bottom: 0; font-size:22px;}
.subnav p { padding:10px 15px; border-bottom: 1px #ebebeb solid; margin:0;}
.subnav p:last-child { border-bottom: none;}

/* 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 .row { margin-left:auto !important; margin-right:auto !important;}
#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:120px; }
#carttable td:nth-child(3) { width:60px; }
#carttable td:last-child { width:30px;}
#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 .labeldiv { width:200px; max-width:inherit; flex: auto; }
#paymentform    #payment-col1 { width:25px; float:left; }
#paymentform    #payment-col2 { overflow:hidden; }
#paymentform h2 { margin-top:0; }
#paymentform #containermysurcharge { display: none; }
#paymentform input[type=radio] { margin-top:10px;}

#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; }

/* events */

#register .containeraddrow { display:none;}
#register .delete { display:none;}

/* slic */


.row [class*='col-'] img + p, .row [class*='col-'] a + p  { margin-top: 15px;}

.row.about { padding:50px 20px; }

/* contact */
.greybg { background-color: #f2f3f3;}
#contactformcontainer { background-color: #ffffff; padding:40px; margin-top:40px;}


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

    .banner.big { height: 300px;  }
    #banner1 .slick-slide { height:300px; }

    header .logo { margin-top:25px;}
    header .rightlinks img { margin-right:10px; }

    .splash-video { height:300px;}

    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;}

    #carttable th { padding:0 5px;}

    .enews { height:auto; padding-bottom: 30px;}
    .enews .form { height:auto;}
    footer { padding:30px 10px 20px 10px;}

}

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



}

@media (max-width: 991px) {  /* 991 and down */

    .order-summary {  background-color: #e9ecef; padding:15px 5px; margin: 0 0 15px 0; border-radius:3px; font-size:14px;}
    .order-summary .caret { transition: all 0.5s}
    .order-summary.show .caret { transform: rotateY(0deg) rotate(180deg); }
    .order-summary img { vertical-align: middle;}
    .order-summary span { float:right; font-weight:bold; }
    .carttablepromo { display:none;}

}

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

    .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;  }

    .reviewmore { width:600px;}


    .row.about { padding:100px 200px; }



}


@media (min-width: 1100px) { /* 1100 and up */

    .banner.big { height: 900px;  }
    #banner1 .slick-slide { height:900px; }
}


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

    header.fixed { padding:0 87px; }
    header .nav > li.nav-link { padding:0 20px;}

}


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

    .main { margin-top:90px;}
    header .rightlinks { right:50px;}
    header .hamburger { display:block; position:absolute; top:30px; right:10px; width:70px !important; cursor:pointer; z-index:10000;  }
    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:#000000; 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; display:block; height:100%; padding-top:20px;}
    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; padding:0; margin:0;}
    nav ul.nav { position:relative; float:none;  padding:1px; margin:0; display: block !important; }
    nav ul.nav li { float:none;  list-style:none; padding:0 !important; }
    nav ul.nav a { line-height:30px; font-size:17px;  color:#000000; 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:0; border:none; float:none; box-shadow:none; padding-top:0; }
    nav ul.nav li ul li { width:auto; background-color:transparent; padding-left:0; margin-left: 10px; }
    nav ul.nav li ul li a { white-space: normal; }
    nav ul.nav ul li ul li a { line-height:25px; height:25px; padding:0 10px 0 10px !important; height:auto; margin:0 !important; }
}

/* magic box */

.magic-box-bg [class*='col-'] {  height:150px; background-clip: content-box;
    margin-bottom: 35px; display: flex !important;
    align-items: center;
    justify-content: center;
    position:relative;
    background-position: center center !important;
    transition: all 0.5s;
    background-size: 100% !important;
    cursor:pointer;
}

.magic-box-bg [class*='col-']:hover { background-size: 110% !important;}
.magic-box-bg p { font-size:35px; text-align: center; line-height:40px; position:relative; z-index:2;}
.magic-box-bg p a { color:#ffffff !important; text-decoration: none !important;}

/* filter that sits on top */
.magic-box-bg [class*='col-']:after { content: ' '; position:absolute; width:100%; height:100%; background-color: rgba(0,0,0,0.5); padding-left: inherit; padding-right: inherit; background-clip: content-box; z-index:1;}
.magic-box-bg [class*='col-']:hover:after { background-color: rgba(0,0,0,0.1); transition: all 1s;}

/* 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:relative; display:inline-block;  padding:0 5px 0 5px; text-align:center; background-color:#ff0000; color:#FFFFFF; z-index:999; text-shadow:none; line-height:25px; }
.linktocms img {  padding:5px 0; width:20px; all: initial !important; }
.linktocms img:hover { opacity:0.5;}
td .linktocms { margin-top:-20px; }
.linktocms a { color:#FFFFFF !important; text-decoration:none !important; padding:10px; font-size:20px;  }
.linktocms a img { margin:0;}
.linktocms a:hover {  zoom: 1; filter: alpha(opacity=50); opacity: 0.5; cursor:pointer; }
.layoutlinks { position:absolute;  top:25%; background-color:#ff0000; padding:5px; }
.layoutlinks img { width:15px;}
.layoutlinks img:hover { opacity:0.5;}
#adminlink { background-color:#0066CB; margin-top:1px; position:absolute; z-index: 10002; top:0; width:100%; padding:5px; color:#FFFFFF; font-size:14px; }
#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 }

#pageisloading { width:100%; height:100%; position:fixed; border:1px #000000 solid; z-index:10001; background-color:#000; top:0; zoom: 1; filter: alpha(opacity=80); opacity: 0.8; display:none; }
#pageisloading #pageisloadingcontainer { position:absolute;  width:48px; height:48px;  top:40%; left:50%; }

.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:99999; max-width:800px; }
#debug p { margin-top:5px; margin-bottom:5px; }
#debug h3 { margin-top:5px; margin-bottom:5px; }

/* misc */

.masonry-with-columns {
    columns: 4 200px;
    column-gap: 1rem;
}

.masonry-with-columns div {
    width: 150px;
    color: white;
    margin: 0 1rem 1rem 0;
    display: inline-block;
    width: 100%;
    text-align: center;
}

.btn-default { background-color: #000000; color:#ffffff !important; font-size:14px; font-weight:600; display:inline-block; padding:10px 20px; border-radius:0; text-transform: uppercase;}
.green { color: #00a651}
.red { color:#ff0000;}
.breadcrumb>li+li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; }
.hidden { display:none !important; }
.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; }
label.error { color:#a94442; font-weight:normal; font-size:12px;}
.alert:empty { display:none;}
label.error { display:block; margin-top:5px;}
label.error:empty { display:none;}
.fade { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: #000; opacity: 0.5; z-index:9999; display:none; }
#messagecounter { border:none; }
.img-responsive { height:auto !important;}
input[type=checkbox], input[type=radio] {

    zoom: 1.5;
    margin:-2px 10px 0 0;
    vertical-align: middle;


}
.control-label { font-weight:bold;}
.breadcrumb .selected { font-weight:bold;}
/* ui elements */

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #ebebeb;  background: #000000;  }
.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;  }

/* stripe */
#stripeloading { animation: blinker 1s linear infinite; }
@keyframes blinker {
    50% {
        opacity: 0;
    }
}

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


#errorMessage .compulsory { display:none; }

/* bootstrap 5ths */
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}

@media print {
    header.fixed { position:relative; height:auto;}
    .hamburger { display:none !important; }
    nav { display:none !important;}
    footer { display:none !important;}

    * { font-family: Arial, Helvetica, sans-serif !important; color:#000000 !important;}
    .container { width:auto !important;}
    .noprint { display:none !important;}
    .main { margin-top: 0 !important;}
    a[href]:after {
        content: none
    }
    .printonly { display:block;}
}

/* common */
.ribbon {
    width: 150px;
    height: 150px;
    overflow: hidden;
    position: absolute;
}
.ribbon::before,
.ribbon::after {
    position: absolute;
    z-index: -1;
    content: '';
    display: block;
    border: 5px solid #9e0b0f;
}
.ribbon span {
    position: absolute;
    display: block;
    width: 225px;
    padding: 15px 0;
    background-color: #3498db;
    box-shadow: 0 5px 10px rgba(0,0,0,.1);
    color: #fff;
    text-shadow: 0 1px 1px rgba(0,0,0,.2);
    text-transform: uppercase;
    text-align: center;
}




/* common */
.ribbon {
    width: 150px;
    height: 150px;
    overflow: hidden;
    position: absolute;
}
.ribbon::before,
.ribbon::after {
    position: absolute;
    z-index: -1;
    content: '';
    display: block;
    border: 5px solid #9e0b0f;
}
.ribbon span {
    position: absolute;
    display: block;
    width: 225px;
    padding: 15px 0;
    background-color: #ff0000;
    box-shadow: 0 5px 10px rgba(0,0,0,.1);
    color: #fff;
    letter-spacing:-0.05em;
    font: 700 15px/1 'Lato', sans-serif;
    text-shadow: 0 1px 1px rgba(0,0,0,.2);
    text-transform: uppercase;
    text-align: center;
    padding-left:10px;
}


.ribbon-top-right {
    top: -10px;
    right: -10px;
}
.ribbon-top-right::before,
.ribbon-top-right::after {
    border-top-color: transparent;
    border-right-color: transparent;
}
.ribbon-top-right::before {
    top: 0;
    left: 0;
}
.ribbon-top-right::after {
    bottom: 0;
    right: 0;
}
.ribbon-top-right span {
    left: -25px;
    top: 30px;
    transform: rotate(45deg);
}

.has-error .form-control {
    border-color: #a94442;
}