.vc_rtl-columns-reverse > .mill-content-wrap .vc_column_container {
    float: right !important;
}
.cleared {clear:both;}

/*correct standard and full width row display*/
/*ensure centering of row*/
.wpb-js-composer .vc_row, .wpb-js-composer .mill-content-wrap {
margin-left:auto!important;
margin-right:auto!important;
}

/*responsive single image*/
.element-stack .wpb_single_image.vc_align_right, .element-stack .wpb_single_image.vc_align_left {
    float: none;
    margin-left: auto;
    margin-right: auto;
}

.vc_row {width:100%;position:relative;}
.mill-content-wrap {width:100%;}

/*stretched row (normal width content)*/
.wpb-js-composer .vc_row[data-vc-full-width] {
max-width:100%!important;
width:100%!important;
left:0!important;
padding-left:0!important;
padding-right:0!important;
}

/*stretched row, stretched content (still with padding)*/
.wpb-js-composer .vc_row[data-vc-full-width].vc_row[data-vc-stretch-content] .mill-content-wrap {
max-width:100%!important;
}
/*END correct standard and full width row display*/
/*ensure single image element is centred when linked*/
.wpb_single_image.vc_align_center figure {
margin-left:auto;
margin-right:auto;
}

/*ensure oversized captions wrap to the same width as the image*/
.vc_row .wpb_single_image .vc_figure {
    display: table;
}
.wpb_single_image .vc_figure-caption {
    display: table-caption;
    caption-side: bottom;
}
.wpb_single_image .vc_figure-caption.cap-left {
text-align:left;
}
.wpb_single_image .vc_figure-caption.cap-right {
text-align:right;
}
.wpb_single_image .vc_figure-caption.cap-center {
text-align:center;
}
/*For grid when height mode set to content height - removes absolute positionings which normally superimpose with other height settings*/
.vc_gitem-zone-a.vc-gitem-zone-height-mode-auto-content .vc_gitem-row-position-top, .vc_gitem-zone-b .vc_gitem-row-position-top,
.vc_gitem-zone-a.vc-gitem-zone-height-mode-auto-content .vc_gitem-row-position-middle, .vc_gitem-zone-b .vc_gitem-row-position-middle,
.vc_gitem-zone-a.vc-gitem-zone-height-mode-auto-content .vc_gitem-row-position-bottom, .vc_gitem-zone-b .vc_gitem-row-position-bottom
{
    position: relative;
    transform:none;
}

/*row overflow classes*/
.vc_row.overflow-visible {
overflow:visible!important;}
.vc_row.overflow-hidden {
overflow:hidden!important;}
.vc_row.overflow-auto {
overflow:auto!important;}

/*theme compatibility with map display*/
.wpb_gmaps_widget .wpb_map_wraper iframe {
    position: relative !important;
}
.wpb_gmaps_widget .wpb_wrapper {
    padding: 0;
}

/*wrap text if single image element is aligned left or right*/
.wpb_single_image.vc_align_, .wpb_single_image.vc_align_left {
float:left;
margin-right:15px;
}
.wpb_single_image.vc_align_right {
float:right;
margin-left:15px;
}
/*ensure dot points respect margin of left / right aligned image*/
.wpb_text_column ol, .wpb_text_column ul {
overflow:hidden;
}
/*if html class is responsive-phone:*/
.responsive-phone .header-main, .responsive-phone .header-tablet, .responsive-phone .header-dsk-tab {
display:none!important;
}
.responsive-phone .header-mobile, .responsive-phone .header-tab-mob {
display:block!important;
}
/*if html class is responsive-tablet:*/
.responsive-tablet .header-main, .responsive-tablet .header-mobile {
display:none!important;
}
.responsive-tablet .header-tablet, .responsive-tablet .header-tab-mob, .responsive-tablet .header-dsk-tab {
display:block!important;
}
/*if html class is desktop:*/
.desktop .header-mobile, .desktop .header-tablet, .desktop .header-tab-mob {
display:none!important;
}

/*preset class - used by header container*/
body .imgnovert img {
margin-top:0!important;
margin-bottom:0!important;
}

body .txtnovert p:not(.wp-caption-text), body .txtnovert a, body .txtnovert a:link, body .txtnovert a:visited,  body .txtnovert em, body .txtnovert h1, body .txtnovert h2, body .txtnovert h3, body .txtnovert h4, body .txtnovert h5, body .txtnovert h6 {
margin-top:0!important;
margin-bottom:0!important;
padding-top:0!important;
padding-bottom:0!important;
}
/*end of preset classes*/

/*ensure proper display of tabs in "tabbed content" element*/
.mills-postcontent ul > li.vc_tta-tab, .mills-post ul > li.vc_tta-tab, .mills-textblock ul > li.vc_tta-tab {
    overflow-x: visible;
    overflow-y: visible;
}

.mills-postcontent ul > li.vc_tta-tab::before, .mills-post ul > li.vc_tta-tab::before, .mills-textblock ul > li.vc_tta-tab::before {
    content: none;
}
/*END ensure proper display of tabs in "tabbed content" element*/

.column_container.full-image img, .wpb_single_image img {   /*if column image is set to full width in column settings and single image larger than container*/
    width: 100%;
    height:auto;
}

/*prevent excess white space when inserting divider*/
.vc_row-fluid [class*="vc_span"] {
    min-height: 0!important;
}

.vc_text_separator {
    position: relative;
    top: -10px!important;
}

/*facebook like button fixes for text wrap in narrow spaces*/
.fb_like iframe {
    width: 100%;
}

.fb_type_standard iframe {
    height: 30px;
}

/*google plus button fixes for text wrap in narrow spaces*/
.wpb_googleplus_type_standard > div, .wpb_googleplus_type_standard iframe {
    width: 100%!important;
}
/*stop bullet points appearing in tour tab titles*/
.mills-postcontent .wpb_tour ul > li {
    background-image: none!important;
}
/*prevent bullets appearing in vc grid filter buttons*/
#mills-main ul > li.vc_grid-filter-item::before {
    margin-left:0;
    content:none;
}
/*end of plugin cleanup*/

/*shadows------------------------------------------------------------------------------------------------------*/

/*shadow bottom*/

.shadowbottom /*formerly effect1*/
{
	-webkit-box-shadow: 0 10px 6px -6px #777;
	   -moz-box-shadow: 0 10px 6px -6px #777;
	        box-shadow: 0 10px 6px -6px #777;
}

/*shadow bottom corners*/

.shadbottomcnrs /*formerly effect2*/
{
  position: relative;
}
.shadbottomcnrs:before, .shadbottomcnrs:after
{
  z-index: -1;
  position: absolute;
  content: "";
  height: 20px;
  bottom: 15px;
  left: 10px;
  width: 50%;
  max-width:300px;
  background: transparent;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.shadbottomcnrs:after
{
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}

/*shadow bottom left*/

.shadbottomleft
{
  position: relative;
}
.shadbottomleft:before
{
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  height:20px;
  max-width:300px;
  background: transparent;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}

/*shadowbottomright*/

.shadbottomright
{
  position: relative;
}
.shadbottomright:after
{
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  right: 10px;
  left: auto;
  width: 50%;
  height:20px;
  max-width:300px;
  background: transparent;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
}

/*shadow bottom centered*/

.shadbotrnd
{
  	position:relative;       
    -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
       -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
            box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.shadbotrnd:before, .shadbotrnd:after
{
	content:"";
    position:absolute; 
    z-index:-1;
    -webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
    -moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
    box-shadow:0 0 20px rgba(0,0,0,0.8);
    top:15px;
    bottom:0;
    left:10px;
    right:10px;
    -moz-border-radius:100px / 10px;
    border-radius:100px / 10px;
}

/*shadow top and bottom rounded*/

.shadtopbotrnd
{
  	position:relative;       
    -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
       -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
            box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.shadtopbotrnd:before, .shadtopbotrnd:after
{
	content:"";
    position:absolute; 
    z-index:-1;
    -webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
    -moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
    box-shadow:0 0 20px rgba(0,0,0,0.8);
    top:0;
    bottom:0;
    left:10px;
    right:10px;
    -moz-border-radius:100px / 10px;
    border-radius:100px / 10px;
} 
.shadtopbotrnd:after
{
	right:10px; 
    left:auto;
    -webkit-transform:skew(8deg) rotate(3deg); 
       -moz-transform:skew(8deg) rotate(3deg);     
        -ms-transform:skew(8deg) rotate(3deg);     
         -o-transform:skew(8deg) rotate(3deg); 
            transform:skew(8deg) rotate(3deg);
}

/*shadow sides round*/

.shadsidesrnd
{
  	position:relative;       
    -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
       -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
            box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.shadsidesrnd:before, .shadsidesrnd:after
{
	content:"";
    position:absolute; 
    z-index:-1;
    -webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
    -moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
    box-shadow:0 0 20px rgba(0,0,0,0.8);
    top:10px;
    bottom:10px;
    left:0;
    right:0;
    -moz-border-radius:100px / 10px;
    border-radius:100px / 10px;
} 
.shadsidesrnd:after
{
	right:10px; 
    left:auto;
    -webkit-transform:skew(8deg) rotate(3deg); 
       -moz-transform:skew(8deg) rotate(3deg);     
        -ms-transform:skew(8deg) rotate(3deg);     
         -o-transform:skew(8deg) rotate(3deg); 
            transform:skew(8deg) rotate(3deg);
}

/*end of shadows*/

/*animations-------------------------------------------------------------------------------------------------*/

/*timings*/

.animated1s { 
    -webkit-animation-duration: 1s; 
    animation-duration: 1s; 
    -webkit-animation-fill-mode: both; 
    animation-fill-mode: both; 
    -webkit-animation-timing-function: linear; 
    animation-timing-function: linear; 
}

.animated2s { 
    -webkit-animation-duration: 2s; 
    animation-duration: 2s; 
    -webkit-animation-fill-mode: both; 
    animation-fill-mode: both; 
    -webkit-animation-timing-function: linear; 
    animation-timing-function: linear; 
    animation-iteration-count:infinite; 
    -webkit-animation-iteration-count:infinite; 
}

.animated4s { 
    -webkit-animation-duration: 4s; 
    animation-duration: 4s; 
    -webkit-animation-fill-mode: both; 
    animation-fill-mode: both; 
    -webkit-animation-timing-function: linear; 
    animation-timing-function: linear; 
    animation-iteration-count:infinite; 
    -webkit-animation-iteration-count:infinite; 
}

/*animation definitions*/

/*bounce*/
@-webkit-keyframes bounce { 
    0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} 
    40% {-webkit-transform: translateY(-30px);} 
    60% {-webkit-transform: translateY(-15px);} 
} 

@keyframes bounce { 
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 
    40% {transform: translateY(-30px);} 
    60% {transform: translateY(-15px);} 
} 

/*swing*/
@-webkit-keyframes swing { 
    20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center; } 
    20% { -webkit-transform: rotate(15deg); } 
    40% { -webkit-transform: rotate(-10deg); } 
    60% { -webkit-transform: rotate(5deg); } 
    80% { -webkit-transform: rotate(-5deg); } 
    100% { -webkit-transform: rotate(0deg); } 
} 
@keyframes swing { 
    20% { transform: rotate(15deg); } 
    40% { transform: rotate(-10deg); } 
    60% { transform: rotate(5deg); } 
    80% { transform: rotate(-5deg); } 
    100% { transform: rotate(0deg); } 
}
/*pulse*/
@-webkit-keyframes pulse { 
    0% { -webkit-transform: scale(1); } 
    50% { -webkit-transform: scale(1.1); } 
    100% { -webkit-transform: scale(1); } 
} 
@keyframes pulse { 
    0% { transform: scale(1); } 
    50% { transform: scale(1.1); } 
    100% { transform: scale(1); } 
}

/*tada*/
@-webkit-keyframes tada { 
    0% {-webkit-transform: scale(1);} 
    10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);} 
    30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);} 
    40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);} 
    100% {-webkit-transform: scale(1) rotate(0);} 
} 
@keyframes tada { 
    0% {transform: scale(1);} 
    10%, 20% {transform: scale(0.9) rotate(-3deg);} 
    30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);} 
    40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);} 
    100% {transform: scale(1) rotate(0);} 
}

/*flash*/
@-webkit-keyframes flash { 
    0%, 50%, 100% {opacity: 1;} 
    25%, 75% {opacity: 0;} 
} 
@keyframes flash { 
    0%, 50%, 100% {opacity: 1;} 
    25%, 75% {opacity: 0;} 
} 

/*hover animations*/
 
.hover-swing:hover { 
    -webkit-transform-origin: top center; 
    transform-origin: top center; 
    -webkit-animation-name: swing; 
    animation-name: swing; 
}

.hover-pulse:hover { 
    -webkit-animation-name: pulse; 
    animation-name: pulse; 
}

.hover-bounce:hover { 
    -webkit-animation-name: bounce; 
    animation-name: bounce; 
}

.hover-tada:hover { 
    -webkit-animation-name: tada; 
    animation-name: tada; 
}

/*permanent animations*/

/*pulse (breathing)*/
 
.breathe { 
    -webkit-animation-name: pulse;
    animation-name: pulse; 
}

/*flash*/

.flash { 
    -webkit-animation-name: flash; 
    animation-name: flash; 
}