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

font-family: 'Barlow', sans-serif;
font-family: 'Montserrat', sans-serif;


*/

header { /*position:fixed;*/ top:0; background-color: #ffffff; width:100%; z-index: 10000; height:220px;

    background: #001e3a;
    background: -moz-linear-gradient(top,  #001e3a 0%, #005b97 100%);
    background: -webkit-linear-gradient(top,  #001e3a 0%,#005b97 100%);
    background: linear-gradient(to bottom,  #001e3a 0%,#005b97 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e3a', endColorstr='#005b97',GradientType=0 );
    position:relative;



} /* if you use this, you need to add margin-top to rest of content */

header .logo { margin:37px 0 0 0;}
header.home { height:650px; margin-bottom: 20px;}
header .banner-message { align-items:center; margin-top:40px;}
header .banner-message h1 { color:#ffffff; font-size:60px; line-height:60px; margin:0 0 20px 0;}
header .banner-message h2 { color:#ffffff; font-size:25px; font-weight:500; margin:0 0 20px 0;}
header .banner-message a { font-family: 'Barlow', sans-serif; background-color: #ed1c24; height:50px; display: inline-block; padding:0 40px; border-radius:15px; color:#ffffff; line-height:50px;  font-size:20px; text-transform: uppercase; font-weight:500;}
header .banner-message img { max-width:100%; height:auto;}
header .flame { z-index:1; top:0; background-image: url(media/background-flame-powerbolt.png); width:100%; height:100%; position:absolute; background-position: center bottom; background-repeat: no-repeat}

header .container { position:relative;
    z-index:99999;}
header .navbar { position:absolute; left:350px; top:70px; font-family: 'Barlow', sans-serif; font-size:18px; font-weight:700;}
header .hamburger { display:none;}

header .call { position:absolute; right:0; top:20px; font-size:25px; font-weight:700; line-height:43px;}
header .call a:link, header .call a:visited { color:#ffffff; text-decoration: none;}
header .callout { height:43px; border-radius:10px; background: #f7d423;
    background: -moz-linear-gradient(-45deg,  #f7d423 0%, #ee4124 51%, #b81f1c 100%);
    background: -webkit-linear-gradient(-45deg,  #f7d423 0%,#ee4124 51%,#b81f1c 100%);
    background: linear-gradient(135deg,  #f7d423 0%,#ee4124 51%,#b81f1c 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7d423', endColorstr='#b81f1c',GradientType=1 );
    display:inline-block;
    padding:0 30px;
    font-size:16px;
    position:relative;
}
header .navbar { }
header .navbar-nav>li a { color: #ffffff;}
header .navbar-nav>li.open a { color: #000000;}

header .nav > li > a { color:#ffffff;}
header .nav > li.nav-link { padding:10px 10px;}
header .nav > li ul a { color:#000000;}

.dropdown-item.active, .dropdown-item:active { background-color:#e6e6e6; }

/* .main { margin-top:220px;} /*  - only give a margin if header is fixed - need to apply this on various break points */
.main img { max-width:100%; height:auto !important;}
.main a:link, .main a:visited { color:#ff0000; }
.main ul { list-style-type: none !important; padding-left: 0; margin-left: 0;}
.main ul li { background-image: url(media/arrow.png); background-repeat: no-repeat; margin-left:0; padding-left: 25px; line-height:25px; background-position:  top 5px  left 0;}

/* simple banner / one per page */
.banner { background-color:#e6e6e6; height:450px; background-size: cover; }

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



footer {

    padding:30px 0 30px 0;
    margin-top:40px;
    background: #001e3a;
    background: -moz-linear-gradient(top,  #001e3a 0%, #005b97 100%);
    background: -webkit-linear-gradient(top,  #001e3a 0%,#005b97 100%);
    background: linear-gradient(to bottom,  #001e3a 0%,#005b97 100%);

}
footer .nav li a { color: #ffffff; font-family: 'Barlow', sans-serif; font-weight:700; font-size:18px;}
footer .row { align-items: center;}
footer p { color:#ffffff; font-size:14px;}
footer a:link, footer a:visited { color:#ffffff;}


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

/* galleries */

#galleries .item-images {  border:5px #efefef solid; margin:5px;  }

/* properties */
#properties .item-content .attributes { display:inline-block; margin-right: 30px; font-weight:bold;}

.services { display:flex;}
.services .editable { position:unset;}
.services .inner { padding:0 20px 10px 20px; border-radius:10px; overflow: hidden;-webkit-box-shadow: 5px 5px 10px 5px rgba(0,0,0,0.2);
    box-shadow: 5px 5px 10px 5px rgba(0,0,0,0.2); position:relative; height:100%; padding-bottom:50px; }
.services .inner .btn-default { position:absolute; bottom:10px;}

.services .inner p:first-of-type { margin:0 -20px 20px -20px; }
.services .inner .content-builder img { width:100% !important; aspect-ratio:3/2; object-fit: cover;}

.make-square-images img { aspect-ratio:1/1; object-fit:cover; width:100%;}


.callout-container.nomargin { margin-bottom: -40px;}
.callout-container { padding:30px 0; margin:40px 0;
    background: #f7d423;
    background: linear-gradient(to right,  #001e3a 0%,#005b97 100%);

    font-size:40px; line-height:50px; color:#ffffff;
    font-family: 'Barlow', sans-serif; font-weight:700;
}

.callout-container img { vertical-align: middle; margin-right: 20px;}
.callout-container .btn-default { background-color:#ffffff; color: #336699 !important; line-height:30px; height:50px; font-size:20px; position:absolute; margin-top:10px; padding-right:40px; padding-left: 40px;}

/* Really Small devices (phones) */
@media (max-width: 767px) {
    header { height:auto !important;}
    header .call { position:relative; top: auto; right:auto !important; height:auto; text-align: center;}
    header .banner-message h1 {  margin-top:-30px; font-size:35px; line-height:35px;}
    header .banner-message h2 { font-size:20px; line-height:20px;}
    header .logo { width:250px; margin-top:20px;}
    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;}

    .callout-container { font-size:40px; line-height:50px; text-align: center;}
    .callout-container img { display:block; margin-left:auto; margin-right: auto;}
    .callout-container .btn-default { position:relative; padding: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;}

}

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

    header.home { height:750px; }
    header .banner-message img.kitchen { width:843px !important; height:auto; max-width:843px;}
    header .nav > li.nav-link { padding:10px 15px;}
}


/* breakpoint in which mobile nav kicks in */
@media (max-width: 1100px) {
    header .call { right:50px;}
    header .hamburger { display:block; position:absolute; top:30px; right:0; 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:#ffffff; 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; align-items: flex-start;}
    nav {  height:auto; padding:15px 0 0 0; position:fixed !important; z-index:1001; overflow-y: scroll;  top:0 !important; margin:0 !important; right:-250px; left:auto !important;  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; }
#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: #336699; color:#ffffff !important; font-size:14px; border-radius:10px; font-weight:600; display:inline-block; padding:10px 20px; 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; max-width:100%;}
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: #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;
}

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