
/* general layout - header, footer, any generic containers */
html { overflow-x: hidden }
header.fixed { position:fixed; top:0; background-color: #f5d83d; width:100%; z-index: 10000; height:190px;} /* if you use this, you need to add margin-top to rest of content */
header .navbar { margin-bottom:0; }
header .hamburger { display:none;}
header .container { position:relative;}
header .navbar {  font-family: "Oswald", sans-serif; text-transform: uppercase;  font-size:20px !important; font-weight:600; }


header .nav > li > a { color:#2d4566;}
header .logo { margin-top:20px;}
header .nav > li.nav-link { padding:10px 10px;}
header .nav .dropdown-item { padding:0;}
header .nav .dropdown-item a:link, header .nav .dropdown-item a:visited { color:#000000; display:block; padding:5px 10px; text-decoration: none !important;}
header .nav .dropdown-item a:hover { text-decoration:none; background-color: #cccccc}
header .dropdown-item:active { background-color: transparent;}
header .phone-social { position:absolute; right:40px; top:30px; }
header .phone-social .phone { font-size:25px; font-weight:bold; color:#2d4566; display: inline-block; line-height:50px; height:50px; float:left; margin-right: 20px;}


.main { margin-top:190px;}
.main img { max-width:100%; height:auto;}
.main .flex img { align-self: flex-start}
.main a:link, .main a:visited { color:#0f243b; }

/* simple banner / one per page */
.banner { background-color:#e6e6e6; height:500px; background-size: cover; display:flex; align-items: center; }
.banner h1 { font-size:45px; font-weight:800; color:#f5d83d;}
.banner h1 span { color:#ffffff; display: block;}
.full-width { background-size: cover;}



.introbanner { background-color:#e6e6e6; height:250px; background-size: cover; display:flex; align-items: center; background-image: url(media/cta-background.jpg); margin-bottom: 40px }
.introbanner h1 { font-size:45px; font-weight:800; color:#f5d83d;}

/* complex banners */

#banner1 { margin-bottom: 0;}
#banner1 .slick-slide { height:450px; background-size: cover; display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.slick-prev { background-image:url(media/standard/rotator-left.png) !important; width:19px; height:21px; content:' '; margin-top:-60px; left:50px; z-index:1;}
.slick-prev:before { display:none;}

.slick-next { background-image:url(media/standard/rotator-right.png) !important; width:19px; height:21px; content:' '; margin-top:-60px; right:50px;}
.slick-next:before { display:none;}

.engines .engine-list { text-align: center; padding-bottom:50px; position:relative; margin-bottom: 20px;}
.engines .engine-list .btn-default { position:absolute; bottom:0; width:100px; left:50%; margin-left:-50px !important;}
.engines .engine-list h3 { font-size:18px; line-height:22px; text-align: center; margin:10px 0 !important;}
.engines .engine-list img { max-width:100%;}

#engines .images {  display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;}
#engines .item-content h1 { font-size:35px; line-height:45px;}
.item-content { padding-top:1px;}

.cta { padding:40px 0; background-image: url(media/cta-background.jpg); background-size: cover; margin:40px 0;}
.cta h2 { color:#ffffff;}


footer { margin-top:50px; background-color: #0f243b; padding:20px 0;}
footer .nav {  font-family: "Oswald", sans-serif; font-size:20px; position:absolute; bottom:0; }
footer hr { border-top:1px #fdda19 solid; }
footer .nav li a { color: #ffffff; text-transform: uppercase}
footer p { color:#ffffff; font-size:16px;}
footer p strong { color:#fdda19; text-transform: uppercase;}
footer a:link, footer a:visited { color:#ffffff;}
.social-icon { padding:12px; border-radius:50px; width:50px; height:50px; background-color: #2d4566; display:inline-block; }
.social-icon img { width:25px; height:25px; filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(146deg) brightness(121%) contrast(121%);}


.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;}

.main ul { padding-left:15px; }

/* generic sections */
.greybg { background-color: #e6e6e6; padding:40px; margin:20px 0; background-repeat: no-repeat; background-size: cover;}
.backgroundimageright  { position:relative; overflow: hidden; min-height:550px; display:flex; align-items: center;}
.backgroundimageright.make-column-bigger .container { max-width:90%;}
.backgroundimageright .container { height:100%; }
.backgroundimageright .image { width:40%; position:absolute; right:0; top:0; height:100%; background-size: cover; background-repeat: no-repeat;}

.backgroundimageleft { position:relative; overflow: hidden; min-height:550px; display:flex; align-items: center;}
.backgroundimageleft.make-column-bigger .container { max-width:90%;}
.backgroundimageleft .image { width:40%; position:absolute; left:0; top:0; height:100%; background-size: cover; background-repeat: no-repeat;}


/* slick slider from drag and drop editor */
.slider-on-content { position:relative !important;}

/* accordions */
.accordion { border-bottom: 1px solid #c2c2c2; padding-bottom: -5px;}
.accordion > * { display:none;}
.accordion h2 { display: block !important; cursor:pointer; margin-top: 20px; margin-bottom: 20px; border-top: 1px solid #c2c2c2; padding-top: 20px; position:relative; width:100% !important;}
.accordion h2:after {
    content:'';
    display:block;
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 28px;
    width: 15px;
    height: 15px;
    background-image: url(media/standard/V.svg);
    transition: transform 0.5s;
    background-repeat: no-repeat;

}
.accordion h2.open:after {  transform: rotateY(0deg) rotate(180deg) }



/* Really Small devices (phones) */
@media (max-width: 767px) {

    ul.two-column { columns:1 !important;}
    .banner { height:auto; padding:30px 0;}
    .banner h1, .introbanner h1 { font-size:25px; line-height:30px; }
    h1,.h1 { font-size:40px; line-height:40px;}

    .backgroundimageright, .backgroundimageleft { flex-direction: column;}
    .backgroundimageright .image, .backgroundimageleft .image { position:relative; left:0; top:0; width:100%; aspect-ratio:1/1; margin: 0 0 20px 0;}

    header .phone-social { display:none;}

    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;}

    footer .nav { flex-direction: column; position:relative; }
    footer .text-right { text-align: left !important;}


}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {



}

@media (max-width: 991px) {  /* 991 and down */

    h2 .icon { display:none;}

    .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) {


    h2 .icon { position:absolute; margin-left:-90px; margin-top:-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;  }

    .reviewmore { width:600px;}

    header .navbar {  position:absolute; bottom:0; right:0; }

}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1100px) {


}


/* breakpoint in which mobile nav kicks in */
@media (max-width: 991px) {

    header .hamburger { display:block; position:absolute; top:45px; right:10px; width:70px !important; cursor:pointer; z-index:10000; min-width:30px !important; }
    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:#2d4566; 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 .phone-social { right:60px;}

    header .navbar { background-color: #ffffff; align-items: flex-start;}
    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; padding:0 10px !important; }
    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 .box {  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 .box: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 .box: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 .box:hover:after { background-color: rgba(0,0,0,0.1); transition: all 1s;}

/* page - box : when using merge tag  */

.page-box { position:relative; display:block; margin-bottom: 30px; overflow:hidden; height:250px;}
.page-box img { width:100%; height:100%; object-fit: cover;}
.page-box div { background-color: #636363; width:100%;  height:100%; position:absolute; left:-100%; top:0;  color:#ffffff;  display:flex; align-items: center; }
.page-box div p { text-align: center; color:#ffffff; font-family: 'PT Sans', sans-serif; font-weight:700; width:100%; font-style: normal;}
.page-box:hover div { left:0; transition: all 500ms; }


/* 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; top:0; 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; }
.editsection {background-color:#ff0000; padding:5px 5px 5px 5px; position:absolute; z-index:999; }
.editsection img { width:28px;}
.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; }
#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 }

#divImageTool .image-embed { display:none;}

#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; padding-top:60px; 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, a[role=button] { background-color: #f5d83d; color:#0f243b !important; background-image: url(media/arrow.png); margin-left:0 !important; background-position: right 10px top 15px; background-repeat: no-repeat; font-size:14px; font-weight:800 !important; display:inline-block; padding:15px 40px 15px 20px !important; border-radius:20px !important; text-transform: uppercase;}
.btn-sm { padding:5px 10px !important; font-size:12px; }
.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;}
.tmd-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;}
.dob.row > div { margin-right:5px;}

/* ui elements */

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #ebebeb;  background: #707070;  }
.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;
    flex:0 0 20%;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
        flex:0 0 20%;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
        flex:0 0 20%;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
        flex:0 0 20%;
    }
}

@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;}
}

.has-error .form-control {
    border-color: #a94442;
}

.full-width {margin: 0 calc(50% - 50vw) }