/*@font-face {
    font-family: mainfont;
    src: url('/vix/fonts/josefinsans-regular-webfont.woff2') format('woff2'),
         url('/vix/fonts/josefinsans-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: mainfont;
    src: url('/vix/fonts/josefinsans-bold-webfont.woff2') format('woff2'),
         url('/vix/fonts/josefinsans-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: mainfont;
    src: url('/vix/fonts/josefinsans-bolditalic-webfont.woff2') format('woff2'),
         url('/vix/fonts/josefinsans-bolditalic-webfont.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}
@font-face {
    font-family: mainfont;
    src: url('/vix/fonts/josefinsans-italic-webfont.woff2') format('woff2'),
         url('/vix/fonts/josefinsans-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face{ font-family:FancyFont; src: url('/vix/fonts/lobster_1.3.woff'); }
*/
@font-face{ font-family:MainFont; src: url('/vix/fonts/Cicle_Gordita-webfont.woff'); }
/* ELEMENTS */

* { box-sizing:border-box; } /*margin:0; padding:0; }*/
html, body { height:100%;/* min-height:100vh;*/ width:100%; margin:0; }
body {
 background:#222;
/*
 color:#131; background:#ffdca9;
 font-size:1em; font-family: BodyFont,Calibri,Helv,Arial,sans-serif;
*/
}

nav {
 clear:both;
 background:#320408;
 box-shadow:2px 2px 7px rgba(0,0,0,0.75);
}
nav li {
 list-style:none;
 width:100%;
 margin-bottom:2px;
 line-height:1.25em;
}
nav ul a, nav ul a:visited, nav ul span {
 display:block;
 text-decoration:none;
 padding:7px 12px;
 background:#320408;
 border: 1px solid pink;
 border-radius:6px;
 color:white;
 width:100%;
}
nav ul span {
 color:white; background:#521;
}
nav ul a:hover {
 color:black; background:white;
}
#menushow ~ ul>li>a:hover { color:lime; transition:none; }
#menushow ~ #nav {
 display:none;/*block;*/
 width:100%;
 text-decoration:none;
/*
 color:mintcream;
 *  color:lime;
 *   transition: color 1s;
 *    transition-delay:0.6s;
 *    */
 font-size:0.8em;
}
#clicker{
 position: fixed;
 z-index:3;
 right: 9px;
 top: 6px;
 height: 48px;
 width: 48px;
 border-radius: 16%;
 border:1px solid black;
 cursor: pointer;
 background:yellow;
/*
 *  transition: background-color 0.8s;
 *   transition-delay:0.3s;
 *   */
}
#menushow ~ ul>li>a:hover { color:lime; transition:none; }
#clicker span, #clicker::before, #clicker::after{
 content: "";
 position: absolute;
 top: calc(50% - 1px);
 left: 20%;
 width: 60%;
 border-bottom: 4px solid #000;
 transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
/*
 *  transition: all .6s cubic-bezier(0.215, 0.61, 0.355, 1);
 *  */
}
#clicker::before{
 transform: translateY(-8px);
}
#clicker::after{
  transform: translateY(8px);
}

/* closing animation */
#menushow:checked + #clicker {
 background:red;
}
#menushow:checked + #clicker span, #menushow:checked + #clicker::before, #menushow:checked + #clicker::after{
 border-color:#fff;
}
#menushow:checked + #clicker span {
 transform: scaleX(0);
}
#menushow:checked + #clicker::before {
 transform: rotate(45deg);
}
#menushow:checked + #clicker::after {
 transform: rotate(-45deg);
}
#nav {
 position:fixed;
 top:calc( -100% - 60px );
 transition: top 0.6s ease-in-out;
 z-index:2;
}
#menushow {
 margin:0;
 padding:0;
 list-style:none;
 text-align:left;
}
#menushow:checked ~ #nav {
 top:-2px;
}

#menushow { display:none; }

#mainmenu {
 margin:0;
 padding:16px;
}

.header-container {
 position:fixed;
 width:100%;
 
}
.vixgal>div { display:flex; flex-wrap:wrap; justify-content:center; }

.fillout { min-height:66vh; }
.core { display:block; clear:both; padding:32px; min-height:33vh; }

/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #00bbaa;
    font-size: 1em;
    line-height: 1.4;
}

.main { color:#333; }

a { color: maroon; }
a:visited { color: maroon; }



/*
h1 { font-family:FancyFont!important; }
.subhead { font-size:200%; font-family: 'Gochi Hand',cursive; color: #6E7E4D; }
.subhead b { color:red; font-weight:normal; }
.header-container h1 { font-size: 150%; }
*/


::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}


audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */

body {
    font: 18px/28px MainFont, Helvetica, Helvetica Neue, Arial;
}

.wrapper {
    width: 100%;
    margin: 0%;
}
div.wrapper {
 background:linen;
}

/* ===================
    ALL: Orange Theme
   =================== */

.header-container {
/*
    border-bottom: 20px solid #9F1D35;
*/
}

.footer-container,
.main aside {
/*
    border-top: 20px solid #9F1D35;
*/
}

/*.header-container,*/
.footer-container {
color:white;
    background:#320408 /*#9F1D35; #320408;*/
}
.main aside {
/*
 background:#9BA795;//white;
*/
}

.title a, .title a:visited { /**/
 color: white;
 text-decoration: none;
 text-align:center;
}

/* ==============
    MOBILE: Menu
   ============== */

/* === sub menus == */


.table { margin:12px; } /*border: 5px inset teal; }*/

/*
nav * { box-sizing:border-box; }
nav ul, nav li, nav a { margin: 0; padding: 0; }
nav ul ul li, nav ul li ul li a { margin:0; padding: 0!important; box-sizing: border-box; line-height: 1em; }
nav ul li ul { display: none; position: absolute; top: 42px; left: 12px; border: 3px solid black; }
nav li ul li { width:100%; text-indent:10px; line-height:30px; }
nav li:hover > ul { display:block; position:absolute; z-index:1000; }
nav li:hover { position:relative; z-index:2000; }
nav > ul li ul li a { display: block; float: none; padding: 12px 24px!important; }

nav li ul li {
 display:inline;
 cursor:pointer; list-style:none;
 padding:0 12px;
 float:left;
}

nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

nav a, nav span {
 width:100%;
    display: block;
    padding: 16px;
    text-decoration: none;
    font-weight: bold;
    color: white;
}
nav span { background:#43302E; }

nav a:hover,
nav a:visited {
    color: white;
}

nav a:hover {
    text-decoration: none;
}
*/


/* ==============
    MOBILE: Main
   ============== */

.main {
    padding: 0 0;
}

.main article h1 {
}

.main aside {
    /*color: white;*/
    padding: 0px 5% 10px;
}

.footer-container footer {
    /*color: black;
    padding: 2px 0;*/
}

/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

.main article:empty, .main aside:empty { display:none; }

figure, figure img { max-width: 100%!important; height: auto; }

#facebook, #twitter, #phone { display: none; }

/*.header-container,*/
.footer-container,
.main aside,
.main article {
/*
z-index: 1;
*/
}

.half, .third, .green {
 background: #9BA795; padding:0.1% 1%; margin-top:2%;
}

.main aside,
.main article {
position:relative;
}

.fadein {
    position:relative;
    width:100%;
}

.fadein img {
    position:absolute;
    left:0;
    top:0;
}
.overslide img {
    width:100%;
    height:auto;
}
.overslide>img { visibility:hidden; }

.fadein img.firstslide {
 position: relative;
 visibility: hidden;
}

#dropmenu { color: white; font-size: 24pt; position: absolute; right: 0; z-index: 20; padding: 12px 24px 16px; text-decoration: none; display: block; }
.dbar { clear: both; width: 24px; height: 3px; display: block; background: white; float: right; margin-top: 4px; }

/*
nav { position: relative; margin-top: -1000px; font-family: 'Alegreya',serif; }
*/
.title {
 position: absolute; z-index: 1; background: #9F1D35;
 width: 100%; height: 42px; 
 left: 0; top: -16px; padding: 9px 5%;
 font-size:16pt;
 line-height:0.5;
}
.title img { display:none; }
/*
nav a:hover { color:pink; }
nav span { background: #9F1D35; }
*/
.footer-container p { clear: both; }


#main>aside {
/*
padding:12px;
display:block;width:75%; margin: 0 auto;
*/
}
#main>section, #main>aside {
/*
  width: 90%;
  margin: 32px auto 0;
z-index:3;
box-sizing:border-box;
*/
}
#main>section>div {
margin:5px;
}
#main>section~div, #main>aside~div, #main>aside~section {
 clear:both;
}
#main>aside { margin:24px auto 96px; }
//aside:after { clear:both; content:''; display:block; }

/*
#main>aside ul { list-style-type: none; }
#main>aside ul a { /*color:black;/*#6E7E4D;*-/ font-weight:bold; font-size:large; }
*/

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 480px) {

#facebook, #twitter { display: block; float: left; width: 26px; height: 26px; margin: 3px 5px 0 0; background: url(/images/facebook.png); }
#twitter { background: url(/images/twitter.png); }
#phone { display: inline; }
/*
nav li { margin:6px 6px 0 0; }
nav a, nav span { padding: 0; font-weight: normal; text-shadow: 1px 1px 3px black, -1px -1px 1px black;
*/
}
.title {
 float:left; margin: 0; width: 100%; font-size:20pt;
 position: relative; top: inherit; left: inherit; padding: inherit; height: auto; background: none;
 padding-bottom:7px;
}
.title img { display:block; max-width:288px!important; }

.title a, .title a:visited { /**/
display: block; float: left; margin: 0 24px 0 0;
}

#dropmenu { display: none; }

.footer-container p { clear: none; }

@media only screen and (min-width: 768px) {

.fadein {
    position:fixed;
    left:0;
    top:0;
    height:auto;
    width:100%;
}
.overslide {
 height: 0;
}
.overslide img {
 //max-height: 100%;
}


/* ====================
    WIDE: CSS3 Effects
   ==================== */

    .header-container,
    .main aside {
/*
        -webkit-box-shadow: 0 5px 10px #000;
           -moz-box-shadow: 0 5px 10px #000;
                box-shadow: 0 5px 10px #000;
*/
    }

/* ============
    WIDE: Menu
   ============ */

    .title {
/*        float: left; */
    }

    nav {
/*        float: right;
        width: 38%; */
    }

/* ============
    WIDE: Main
   ============ */

    .main article {
        float: left;
        width: 57%;
box-sizing:border-box;
    }

    .main aside {
/*
        float: right;
        width: 28%;
*/
    }
#main>section {
  margin: 0;
  padding: 0 2%;
 float:left; width:50%;
}
#main>section.leftaside {
 float:right;
}
#main>section>div { float:right; width:92%; }
#main>section.leftaside>div { float:left; }
#main>section:after {
 clear:none; display:none;
}

#main>section.leftaside+aside>div { float:right; }

#main>section.sidedown+aside, #main>section.sideup { margin-top:120px; }

#main>aside { width:55%; margin:0; }
#main>aside>div { width:92%; padding: 0 2%; }
#main>aside:after {
 clear:both; content:''; display:block;
}
#main>figure { width:100%;  max-height:420px; overflow:hidden; margin-top:-30px; position:relative; z-index:1; }
#main>figure~.wrapper { box-sizing:border-box; padding: 3% 6%; position:relative; z-index:2; }//background:#9BA795; 
//#main>figure+.wrapper { margin-top:-90px; }
#main>figure>img { width:100%; }

.half, .third {
 box-sizing: border-box; width:32%; margin: 2% 2% 0 0; float:left;
}
.third:nth-of-type(3n-1) { margin: 2% 0 0 0; }
.half { width: 49%; margin: 2% 0 0; }
.half:nth-of-type(odd) { float:right; }
//.half:nth-of-type(odd) { margin: 2% 0; }
//.half:nth-of-type(even), .third:first-of-type { clear:left; }
}

@media only screen and (min-width: 1140px) {

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        max-width: 1026px; /* 1140px - 10% for margins */
        margin: 0 auto;
    }
/*
#main>section>div, #main>aside>div { width:486px; }
#main>section, #main>aside { padding: 0 22px; }
#main > figure ~ .wrapper { padding: 3% 75px; }
*/
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

/* TenderSoft */

/* footer @ foot on short pages */
html { height: 100%;  }
body { height:100vh; min-height: 100%; display: flex; flex-direction: column; }
.main-container { flex: 1 0 auto; }
.header-container, .footer-container { flex: none; flex-shrink: 0; }
/*
.main-container { min-height: 75%; }
.main { min-height: 101%; }
*/

figure { padding: 0; margin:0; }

/* fight table overspill */

div { table-layout: fixed; }

.addthis_toolbox { float: right; width: 180px; margin-bottom: 6px; }
.addthis_toolbox:before { float:left; width: 180px; content: "forward this page:"; font-style: italic; font-size: small; color: black; }
footer h3 { float: left; margin: 12px 16px 0 0; }
/*footer p { margin: 12px auto 0; line-height: 125%; display: table; font-size: small; text-align: center; color: white; }
//footer a, footer a:visited { color:black; }*/


.reverse { margin:0; padding: 2% 0; color:white; background:#9F1D35; }
.table>div:before {
 display:block; content:' '; background:url(images/star.svg) top center no-repeat; background-size: 36px 36px; height:48px; width:100%;
}
.reverse .table>div:before { display:none; background:none; }

.replyform { display:block; max-width:100%; }
.centred .replyform { width:auto; margin:auto; }
.replyform td { display:block; width:100%; max-width:100%; }
.replyform textarea { width:100%; }
.replyform td { text-align:left; }

.quote {
 width: 100%; max-width:640px; padding: 0 48px; margin: 16px auto 0;
 background:url(images/rq.svg) right center no-repeat, url(images/lq.svg) left center no-repeat;;
 background-size: 32px 32px;
}
.reverse .quote {
 background:url(images/rrq.svg) right center no-repeat, url(images/rlq.svg) left center no-repeat;;
 background-size: 32px 32px;
}

.mono { background:#e4dbdb; padding: 64px 0; }

.mono .table>div { color:black; border:12px solid #e4dbdb; }
.mono .table>div.reverse { color:white; background:black; }
.mono .table>div:before { display:none; }

.table>div ul, .table>div ol { text-align:left; }

.tigght { margin:0; }

@media only screen and (min-width: 1000px) {

.table { display:table; width:100%; margin:32px 0;

border-spacing: 10px;
    border-collapse: separate;

 }
.table>div { background:white; display:table-cell; text-align:center; padding:6px 6px 32px; margin:0 1%; }
.table .addb { display:table-row; }
/*
.table>div { border:1px solid black; padding:1%; }
*/
.replyform { display:table; }
.replyform td { display:table-cell; width:auto; }
}
input, textarea { color:black; }

.button { display:block; margin: 16px auto; padding:0; }
.button a:not(.addb) {
 display:table; width:auto; color:white; background:#9F1D35; padding:7px 12px; border-radius:32px; text-decoration:none;
}
.centred .button a { margin:0 auto; }
.button a:hover { background:#444; }
.button * { padding:0; margin:0; }

.centred { text-align:center; }

/*
footer a, footer a:visited { color:white; text-decoration:underline; }
*/

/* enquiry form */
.enq button, .fm button, .fm input[type='submit'] {
 font-size: larger;
 padding:4px; 
 background:#9F1D35; color:white;
 border: 1px solid black; border-radius:4px;
}

.fm div { margin:2px 0; }
.fm div p { margin:0; padding:0; }
.fm div input { padding:0 4px!important; height:24px; line-height:16px; margin: -6px 0 0; }

.fm input, .fm textarea {  width:100%; max-width:320px; }
.fm input[type='submit'], .fm input[type='date'] { width:auto; }
.fm textarea { height:120px; }
.ham {
 font-size:1.25em; border-radius:8px; color:white; background:indianred; padding:5px;
 border:2px outset pink;
}






/* NEW */


#main header { background:#9F1D35; color:white; margin:0 4%; padding:4% 12% 4% 4%; }
#main header:first-child * { margin-top:0; }

nav form { display:none; color:mistyrose; }
nav h3, nav h4 { display:block; width:80%; margin:12px 10% 0; text-align:center; }
nav input { display:block; width:80%; margin:auto; font-weight:bold; margin-top:6px; border:inset maroon 1px; font-size:12pt; }
nav input[type="submit"] { color:white; background:#9F1D35; }




.vixgal>div { justify-content:space-between; }
#main { max-width:1000px; margin:0 auto; }
#main header { float:left; width:50%; margin-right:-22% }
#main header::after { clear:both; }
#main aside { float:right; max-width:56%; margin: 4% 0 4% -32%; padding:0; border:none; }
#main aside>:not(figure):not(.addb):not(div) { padding:2% 6% 2% 25%; }
#main aside>div { padding:1px 0 1px 25%; }
#nav, #menushow ~ #nav {
display:none;/*block;*/
 top:auto;
 float:left;
margin:0;
 width:320px;
position:relative;
 box-shadow:1px 1px 9px maroon;
}
nav {
 border-bottom:none;
 box-shadow:none;
 width:100%;
}
.header-container .wrapper {
 width:auto;
}
.main-container {
 display:block;
 float:right;
flex:none!important;
width:calc( 100% - 320px );
margin:0;
position:relative;
}
.main-container .wrapper {
max-width:1024px;
float:left!important;
}
#clicker { display:none; }


.footer-container { clear:both; }
 .footer-container::after {
 clear:both; content:''; display:block;
}

@media only screen and (min-width: 1863px) {
body{
/*
 display:block;
 background: url(/images/side1.jpg) top left repeat-y, url(/images/sideshop.png) right top repeat-y;
 background-color:linen;
*/
}
}


h1, h2, h3, h4, h5, h6 { margin:0.4em 0; }
p:empty { display:none; }


/*** REVISION ***/

/* removals */
.main-container, .footer-container { display:none; }

/* new */

html { font-size:100%; }
body { height:100vh; background:black; }
body, a { color: #009a99; }
a:hover { color:white; }
header>figure {
 width:480px;
 margin:0 auto;
}
footer {
 font-size:0.9rem; line-height:1.5em; flex:0 0 auto;
}
footer>figure { float:right; }
hr {
    display: block;
    height: 1px;
    border: 0;
    border-bottom: 2px solid #009a99;
    margin: 1em 0;
    padding: 0;
}
#outerdiv {
 padding:2vh; background: black url(images/1jw7f4xh.jpeg) bottom right no-repeat; padding-bottom:300px;
}
h1, h2, h3, h4, h5, h6 { font-family: Helv, Helvetica, Helvetica Neue, Arial, sans-serif; line-height:1; font-weight:900; }
h1 { font-size:3rem; }
h2 { font-size:2.5rem; }
h3 { font-size:1.5rem; }
h4 { font-size:1.25rem; }
h5 { font-size:1rem; }
h6 { font-size:0.8rem; }
.bigger { font-size:1.5rem; }

@media only screen and ( min-width:540px ) {
 body { background:#222; }
 header { width:100%; flex:0 0 288px; }
 main { flex:1 1 auto; padding:0 72px 0 32px; }
 footer { padding: 32px 256px 16px 32px; }
 #outerdiv {
  width:98%; max-width:1280px; margin: 2vh auto; padding:0;
  display:flex; flex-direction:column;
  justify-content:space-between;
 }
.bigger { font-size:2rem; line-height:1.25em; }
 header~div { flex:1 0 auto; display:flex; flex-direction:column; justify-content:space-between; min-height:calc( 96vh - 288px ); }
}

@media only screen and ( min-width:800px ) {
 main { flex:1 1 auto; padding:0 216px 0 144px; }
 footer { padding: 32px 360px 16px 144px; }
}
