/*
Theme Name: Macchia Group
Author: Tracey Shaw @ GOOP.
Author URI: http://www.goop.com.au/
Description: WordPress theme for Macchia Group
Text Domain: macchiagroup
SASS: 1.6.3
Version: 2.0
*/
/* Font imports - use the same ' // ' format as below, as this will work correctly even if the website has SSL */
@import url("//goopfiles.com/library/fonts/font-awesome/css/font-awesome.min.css");
@import url("//fonts.googleapis.com/css?family=Source+Sans+Pro:300,600,700");
/* SASS file imports */
/* -------------------- */
/* Core */
/*========================================================================
Rem Calc function - from Zurb Foundation, licenced under MIT Open Source
========================================================================*/
/*
Simplified breakpoints
You may need to add to these or add manually numbered ones in _main.scss if you need to fine-tune more than this.
Note that you can use mathematical operators in your media queries, e.g. ($small - 1)
*/
/*Stop letting things get bigger after 1920*/
/* Colour scheme */
/* Typography */
/*leave this as 16px (the browser default) and use this value in base.css, otherwise the calculations go off*/
/* Grid additions */
/* Navigation */
/* Links */
/* Transitions */
/* Border radii */
/* Social media colours */
/*==============================================
	BUTTON MIXINS
==============================================*/
/*==============================================
	ALIGNMENTS
==============================================*/
/*==============================================
	REMOVE UNNEEDED ELEMENTS ON SMALL/MEDIUM SCREENS
==============================================*/
/*==============================================
	REALIGN TEXT ON SMALL/MEDIUM SCREENS
==============================================*/
/*==============================================
	CENTRE ITEMS ON SMALL/MEDIUM SCREENS
==============================================*/
/*==============================================
	MAKE IMAGES FULL WIDTH ON MOBILE
==============================================*/
/*==============================================
	HIDE THINGS ON PRINT VERSION
==============================================*/
/*==============================================
	MAKE THINGS FULL WIDTH ON PRINT VERSION
==============================================*/
/*==============================================
	GRID MIXINS
==============================================*/
/* Usage:

.class {
	@include six-columns;
}

Output:

.class {
	width:37.5%;
	float:left;
	display:inline;
}

*/
/* Base */
/*=================================================================================
	base.css v1.6
=================================================================================*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, main { margin: 0; padding: 0; border: 0; outline: 0; font-size: inherit; vertical-align: baseline; background: transparent; }

html { -webkit-text-size-adjust: none; }

body { line-height: 1; background: #ffffff; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

nav ul, aside ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

ins { text-decoration: none; }

mark { font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 0.0625rem dotted white; cursor: help; }

hr { display: block; height: 0.0625rem; border: 0; border-top: 0.0625rem solid white; margin: 1.25rem 0; padding: 0; }

input, select { vertical-align: middle; }

ul, ol { font-size: 0; }

main pre, article pre { width: 100%; white-space: pre-wrap; white-space: -moz-pre-wrap !important; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; margin-bottom: 1em; }

main blockquote, article blockquote { margin: 0 1.25rem 1em 1.25rem; }

main ul.columns-1, article ul.columns-2, article ul.columns-3, article ul.columns-4 { clear: both; width: 100%; font-size: 0; }

main ul.columms-1 { float: left; display: inline; width: 100%; }

main ul.columns-2 li { float: left; display: inline; width: 50%; }

main ul.columns-3 li { float: left; display: inline; width: 33.333%; }

main ul.columns-4 li { float: left; display: inline; width: 25%; }

/*=================================================================================
	FLUID COLUMNS
=================================================================================*/
.container { position: relative; width: 98%; padding: 0 1%; margin: 0 auto; max-width: 60rem; }

.container .column, .container .columns { float: left; display: inline; }

.row { margin-bottom: 0; }

.container .one.column, .container .one.columns { width: 6.25%; }

.container .two.columns { width: 12.5%; }

.container .three.columns { width: 18.75%; }

.container .four.columns { width: 25%; }

.container .five.columns { width: 31.25%; }

.container .six.columns { width: 37.5%; }

.container .seven.columns { width: 43.75%; }

.container .eight.columns { width: 50%; }

.container .nine.columns { width: 56.25%; }

.container .ten.columns { width: 62.5%; }

.container .eleven.columns { width: 68.75%; }

.container .twelve.columns { width: 75%; }

.container .thirteen.columns { width: 81.25%; }

.container .fourteen.columns { width: 87.5%; }

.container .fifteen.columns { width: 93.75%; }

.container .sixteen.columns { width: 100%; }

.container .one-third.column { width: 33.33%; }

.container .two-thirds.column { width: 66.66%; }

/*=================================================================================
	FORMS
=================================================================================*/
.container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }

/*=================================================================================
	OFFSETS
=================================================================================*/
.container .columns.offset-by-one { margin-left: 6.25%; }

.container .columns.offset-by-two { margin-left: 12.5%; }

.container .columns.offset-by-three { margin-left: 18.75%; }

.container .columns.offset-by-four { margin-left: 25%; }

.container .columns.offset-by-five { margin-left: 31.25%; }

.container .columns.offset-by-six { margin-left: 37.5%; }

.container .columns.offset-by-seven { margin-left: 43.75%; }

.container .columns.offset-by-eight { margin-left: 50%; }

.container .columns.offset-by-nine { margin-left: 56.25%; }

.container .columns.offset-by-ten { margin-left: 62.5%; }

.container .columns.offset-by-eleven { margin-left: 68.75%; }

.container .columns.offset-by-twelve { margin-left: 75%; }

.container .columns.offset-by-thirteen { margin-left: 81.25%; }

.container .columns.offset-by-fourteen { margin-left: 87.5%; }

.container .columns.offset-by-fifteen { margin-left: 93.75%; }

/*=================================================================================
	OFFSETS - Smaller offsets using a variable $gutter as padding
=================================================================================*/
.gutter-left { padding-left: 1.25rem; }

.gutter-right { padding-right: 1.25rem; }

@media only screen and (max-width: 767px) { .container .one.column, .container .one.columns, .container .two.columns, .container .three.columns, .container .four.columns, .container .five.columns, .container .six.columns, .container .seven.columns, .container .eight.columns, .container .nine.columns, .container .ten.columns, .container .eleven.columns, .container .twelve.columns, .container .thirteen.columns, .container .fourteen.columns, .container .fifteen.columns, .container .sixteen.columns, .container .one-third.column, .container .two-thirds.column { width: 100%; padding: 0; margin: 0 auto; } }
/*=================================================================================
	CLEARFIX
=================================================================================*/
.clearfix:before, .clearfix:after, .row:before, .row:after, .group:before, .group:after, section:before, section:after, article:before, article:after { content: '\0020'; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; }

.clearfix:after, .row:after, .group:after, section:after, article:after { clear: both; }

.clearfix, .row, .group, section, article { zoom: 1; }

/*=================================================================================
	SELECTIONS
=================================================================================*/
::-moz-selection { background: #dddddd; }
::selection { background: #dddddd; }

::-moz-selection { background: #dddddd; }

.lt-ie8 .clearfix, .lt-ie8 .row, .lt-ie8 .group { zoom: 0; }

/*=================================================================================
	ACTIVE NUMBERS
=================================================================================*/
a[href^=tel] { color: inherit; text-decoration: none; }

/*=================================================================================
	OFFSETS - Smaller offsets using a variable $gutter as padding
=================================================================================*/
@font-face { font-family: 'GOOP'; src: url("goop/GOOP.eot?9ommr"); src: url("goop/GOOP.eot?#iefix9ommr") format("embedded-opentype"), url("goop/GOOP.woff?9ommr") format("woff"), url("goop/GOOP.ttf?9ommr") format("truetype"), url("goop/GOOP.svg?9ommr#GOOP") format("svg"); font-weight: normal; font-style: normal; }
.goop-logo { font-family: 'GOOP'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; }

.goop-logo:before { content: "\e600"; }

/*=================================================================================
	REPLACE [at] - requires GOOP plugin version 0.1.10 at least
=================================================================================*/
.domain:before { content: "\40"; margin-right: 0; }

/*=================================================================================
	SITEMAP
=================================================================================*/
main ul.sitemap li ul { margin-top: 0.1875rem; margin-bottom: 0; }
main ul.sitemap li.current_page_item { display: none; }

/*=================================================================================
	SCROLL
=================================================================================*/
#scroll { padding: 0; font-size: 1.5625rem; position: fixed; bottom: 0.625rem; right: 0.625rem; cursor: pointer; display: none; color: #000000; z-index: 10000; opacity: 0.5; }

/*=================================================================================
	VIDEOS
=================================================================================*/
.video-container { position: relative; padding-bottom: 56.25%; /* 16:9 */ padding-top: 1.5625rem; height: 0; margin-bottom: 1.25rem; }
.video-container iframe { /* .video-container iframe */ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*=================================================================================
	IFRAMES
=================================================================================*/
main iframe { margin: 0 0 1.25rem; display: block; width: 100% !important; }

/*=================================================================================
	UTILITY CLASSES
=================================================================================*/
.clearfix { clear: both; }

.left, .columns.left { float: left; }

.right, .columns.right { float: right; }

/*=================================================================================
	RESPONSIVE TABLES
=================================================================================*/
.table-container { width: 100%; overflow-x: auto; }

/*=================================================================================
	PRINT-FRIENDLY CLASSES
=================================================================================*/
@media only screen { .print { display: none; } }
@media only print { .desktop { display: none; }
  .print { display: block; } }
/*=================================================================================
	SKIP TO CONTENT
=================================================================================*/
.skip { position: absolute; top: -1000px; left: -1000px; text-align: left; overflow: hidden; padding: 0.625rem; display: block; width: 100%; text-decoration: none; }
.skip:active, .skip:focus, .skip:hover { top: 0; left: 0; position: relative; background: #FFCE00; color: #000; }

/*=================================================================================
	MAIN NAVIGATION
=================================================================================*/
nav { padding: 0; margin: 0; width: 100%; display: none !important; z-index: 999; background: #000000; }
@media only screen and (min-width: 768px) { nav { display: block !important; } }
nav ul { text-align: center; margin: 0; padding: 0 !important; width: 100% !important; font-size: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; border-left: 0.0625rem solid #2d2d2d; }
nav ul .lt-ie10 { display: block; }
nav ul li { font-family: "Source Sans Pro", Arial, sans-serif; font-size: 1.125rem; color: #e6e6e6; font-weight: 600; line-height: 2.5rem; border-right: 0.0625rem solid #2d2d2d; text-transform: uppercase; -webkit-box-flex: 1; -webkit-flex: auto; -ms-flex: auto; flex: auto; position: relative; margin: 0 /*==============================================
	DROPDOWNS
==============================================*/ /*==============================================
	SECOND LEVEL HOVER
==============================================*/ }
nav ul li .lt-ie10 { display: inline-block; }
nav ul li > a { color: #ffffff; text-decoration: none; margin: 0; display: block; padding: 0; }
nav ul li:hover, nav ul li:focus, nav ul li.current-menu-item, nav ul li.current-page-item, nav ul li.current-page-ancestor, nav ul li.current_page_parent { background: #f07122; }
nav ul li:hover > a, nav ul li:focus > a, nav ul li.current-menu-item > a, nav ul li.current-page-item > a, nav ul li.current-page-ancestor > a, nav ul li.current_page_parent > a { color: #ffffff; }
nav ul li ul { position: absolute; left: -9999px; top: -9999px; opacity: 0; z-index: 1; font-size: 0.85em; visibility: hidden; width: auto !important; min-width: 100%; border: none; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; }
nav ul li ul li { background: #a4a4a4; border: none; display: block; margin: 0; padding: 0; line-height: 1.875rem; font-weight: 300; font-size: 1em; }
nav ul li ul li .lt-ie10 { display: block; }
nav ul li ul li.menu-item-has-children { position: relative; padding: 0 0.625rem 0 0; }
nav ul li ul li.menu-item-has-children:before { background: none; position: absolute; top: 0.125rem; right: 0.625rem; font-size: 0.75rem; content: "\f105"; color: #ffffff; opacity: 0.5; }
nav ul li ul li > a { color: #ffffff; padding: 0 0.625rem; margin: 0; }
nav ul li ul li > a:hover, nav ul li ul li > a:focus { color: #ffffff; }
nav ul li ul li:hover, nav ul li ul li:focus, nav ul li ul li.current-menu-item, nav ul li ul li.current-page-item, nav ul li ul li.current-page-ancestor, nav ul li ul li.current_page_parent { background: #f07122; }
nav ul li ul li:hover > a, nav ul li ul li:focus > a, nav ul li ul li.current-menu-item > a, nav ul li ul li.current-page-item > a, nav ul li ul li.current-page-ancestor > a, nav ul li ul li.current_page_parent > a { color: #ffffff; }
nav ul li ul li ul li { background: #b1b1b1; }
nav ul li:hover ul { opacity: 1.0; position: absolute; left: -0.0625rem; top: 100%; display: block; height: auto; white-space: nowrap; margin: 0; text-align: left; visibility: visible; padding: 0 /*==============================================
	THIRD LEVEL HOVER
==============================================*/ }
nav ul li:hover ul li ul { visibility: hidden; top: -9999px; left: 0; opacity: 0; border: 0; }
nav ul li:hover ul li:hover ul { top: 0; left: 100%; visibility: visible; opacity: 1; }

/*=================================================================================
	RESPONSIVE MENU
=================================================================================*/
#responsive { display: block; position: relative; z-index: 1000; }
@media only screen and (min-width: 768px) { #responsive { display: none; } }
#responsive span { padding: 0.625rem; position: absolute; width: 1.25rem; text-align: left; color: #2d2d2d; cursor: pointer; }
#responsive span i { font-size: 1.5625rem; }
#responsive ul { background: #f07122; padding: 0; margin-bottom: 0; display: none; list-style: none; }
#responsive ul li { border-bottom: 0.0625rem solid #d1590e; margin: 0; line-height: 2.1875rem; min-height: 2.1875rem; padding: 0; text-transform: uppercase; font-weight: 600; }
#responsive ul li a { color: #ffffff; text-decoration: none; display: block; padding: 0 0.625rem; }
#responsive ul li:last-child { border: none; }
#responsive ul li:hover { background: #e96310; color: #ffffff; }
#responsive ul li:hover > ul { opacity: 1; position: relative; top: auto; left: auto; display: block; height: auto; width: auto; white-space: normal; margin: 0; text-align: left; overflow: visible; border-top: 0.0625rem solid #d1590e; position: relative; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
#responsive ul li ul { display: none; opacity: 0; top: -9999px; left: 0; z-index: 1; }
#responsive ul li ul li { font-size: 0.75rem; }
#responsive ul li ul li a { color: #ffffff; }
#responsive ul li ul li a:before { content: "- "; }
#responsive ul li ul li ul { display: none !important; }
#responsive ul li.menu-item-has-children { position: relative; }
#responsive ul li.menu-item-has-children:before { position: absolute; top: 0; right: 0.625rem; content: "\f107"; color: #ffffff; }

/*=================================================================================
	FORMS
=================================================================================*/
form li { list-style: none; }
form label { display: block; margin-top: 1em; }
form input[type=radio] + label { margin-top: 0; }
form input[type=checkbox] + label, form input[type=radio] + label, form label.checkbox { display: inline-block; }
form input[type=text], form input[type=email], form input[type=password], form textarea, form select { border: 0.0625rem solid white; padding: 0.3125rem; display: block; margin-left: 0 !important; width: 100% !important; color: #a4a4a4; border-radius: 0.1875rem; }
form input[type=text]:hover, form input[type=text]:focus, form input[type=email]:hover, form input[type=email]:focus, form input[type=password]:hover, form input[type=password]:focus, form textarea:hover, form textarea:focus, form select:hover, form select:focus { color: #2d2d2d; }

/*=================================================================================
	NINJA FORMS
=================================================================================*/
.ninja-forms-cont { padding-bottom: 1.25rem; }
.ninja-forms-cont .ninja-forms-response-msg { margin: 0; font-weight: 700; }
.ninja-forms-cont .ninja-forms-response-msg.ninja-forms-error-msg { color: #cc0000; }
.ninja-forms-cont .ninja-forms-response-msg.ninja-forms-error-msg p { display: inline; padding-right: 0.3125rem; }
.ninja-forms-cont ninja-forms-response-msg.ninja-forms-success-msg { color: #2d2d2d; margin: 0 0 1.25rem; }
.ninja-forms-cont .ninja-forms-field-error { color: #cc0000; font-size: 0.75rem; }
.ninja-forms-cont .ninja-forms-field-error p { display: inline; }
.ninja-forms-cont .ninja-forms-error input[type=text], .ninja-forms-cont .ninja-forms-error input[type=email], .ninja-forms-cont .ninja-forms-error textarea, .ninja-forms-cont .ninja-forms-error select { border-color: #cc0000 !important; }
.ninja-forms-cont .ninja-forms-field-description { font-size: 0.75rem; }
.ninja-forms-cont .ninja-forms-field-description p { margin: 0 0 0.3125rem; color: white; }
.ninja-forms-cont .ninja-forms-required-items { display: block; margin: 0 0 0.3125rem 0; font-size: 0.75rem; color: white; font-style: italic; }
.ninja-forms-cont .input-group { margin-top: 1em; }
.ninja-forms-cont .field-wrap { margin-bottom: 0.5rem !important; }
.ninja-forms-cont .field-wrap:last-child { margin-bottom: 0 !important; }

/*=================================================================================
	DATEPICKER
=================================================================================*/
.ui-datepicker-header { background: #000000; color: #ffffff; }

.ui-datepicker-calendar { border: 0.0625rem solid #000000; }

a.ui-state-default { color: #000000; display: block; padding: 0.125rem; }
a.ui-state-default:hover, a.ui-state-default:focus { background: #000000; color: #ffffff; }

/*==============================================
	IMAGES
==============================================*/
.alignnone { margin: 0 0 1.25rem 0; }

.aligncenter, div.aligncenter { display: block; margin: 0 auto 1.25rem; }

.alignright { float: right; margin: 0 0 1.25rem 1.25rem; }

.alignleft { float: left; margin: 0 1.25rem 1.25rem 0; }

.aligncenter { display: block; margin: 0 auto; }

img, img[class*="align"], img[class*="wp-image-"] { max-width: 100%; height: auto; }

img.alignright { margin-left: 0 0 1.25rem 1.25rem; }

img.alignleft { margin: 0 1.25rem 1.25rem 0; }

img.aligncenter { display: block; margin: 0 auto 1.25rem; }

img[class*="align"], img[class*="wp-image-"] { border: none; }

img.wp-post-image { display: block; margin: 0 auto; margin-bottom: 1.875rem; }

@media only screen and (max-width: 599px) { .alignnone, .aligncenter, div.aligncenter, .alignright, .alignleft, .aligncenter { float: none; display: block; margin-left: auto; margin-right: auto; text-align: center; width: 100%; max-width: 100%; } }
@media only screen and (max-width: 600px) { .alignnone, .aligncenter, div.aligncenter, .alignright, .alignleft, .aligncenter { width: 100% !important; max-width: 100%; margin-left: 0; margin-right: 0; float: none; } }

.size-full { width: 100%; height: auto; }

.size-medium { width: 60%; height: auto; }

.size-small { width: 30%; height: auto; }

/*=================================================================================
	WP-CAPTION
=================================================================================*/
.wp-caption { margin-bottom: 1.25rem; max-width: 100%; text-align: left; position: relative; }
@media only screen and (max-width: 600px) { .wp-caption { width: 100% !important; max-width: 100%; margin-left: 0; margin-right: 0; float: none; } }
.wp-caption img { display: block; margin: 0 auto; }
@media only screen and (max-width: 600px) { .wp-caption img { width: 100% !important; max-width: 100%; margin-left: 0; margin-right: 0; float: none; } }

.wp-caption-text { font-size: 0.75rem; padding: 0.625rem 0.3125rem; opacity: 0.8; }

/*=================================================================================
	PAGINATION
=================================================================================*/
main .pagination { margin-top: 1.25rem; margin-bottom: 1.25rem; padding: 0; display: block /*=================================================================================
	SINGLE POSTS
=================================================================================*/ }
main .pagination span, main .pagination a { display: inline-block; background: #000000; color: #ffffff !important; height: 1.25rem; width: 1.25rem; line-height: 1.25rem; text-align: center; font-size: 0.75rem; border: none; text-decoration: none; display: inline-block; border: none !important; }
main .pagination span:hover, main .pagination span:focus, main .pagination span.current, main .pagination a:hover, main .pagination a:focus, main .pagination a.current { background: black; }
main .pagination.single div { display: inline-block; width: 50%; margin: 0; }
main .pagination.single div.newer { text-align: right; }

/*=================================================================================
	BUTTONS
=================================================================================*/
.btn, input[type=submit], button { color: #ffffff; background: #f07122; text-transform: uppercase; font-size: 0.875rem; padding: 0.35714rem 0.5rem; margin: 0; cursor: pointer; border: 0; display: inline-block; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; line-height: 1.4; margin-bottom: 0.625rem; -webkit-appearance: none /*Stops iOS from taking over how buttons look*/ }
.btn:hover, .btn:focus, input[type=submit]:hover, input[type=submit]:focus, button:hover, button:focus { color: #ffffff; background: #d1590e; border: 0; }

/*=================================================================================
	BUTTON VARIATIONS
=================================================================================*/
.btn-primary { color: #ffffff; background: #f07122; text-transform: uppercase; font-size: 0.875rem; padding: 0.35714rem 0.5rem; margin: 0; cursor: pointer; border: 0; display: inline-block; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; line-height: 1.4; margin-bottom: 0.625rem; -webkit-appearance: none; /*Stops iOS from taking over how buttons look*/ background: #000000; }
.btn-primary:hover, .btn-primary:focus { color: #ffffff; background: #d1590e; border: 0; }
.btn-primary:hover, .btn-primary:focus { background: black; }

.btn-secondary { color: #ffffff; background: #f07122; text-transform: uppercase; font-size: 0.875rem; padding: 0.35714rem 0.5rem; margin: 0; cursor: pointer; border: 0; display: inline-block; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; line-height: 1.4; margin-bottom: 0.625rem; -webkit-appearance: none; /*Stops iOS from taking over how buttons look*/ background: #2d2d2d; }
.btn-secondary:hover, .btn-secondary:focus { color: #ffffff; background: #d1590e; border: 0; }
.btn-secondary:hover, .btn-secondary:focus { background: #141414; }

.btn-accent { color: #ffffff; background: #f07122; text-transform: uppercase; font-size: 0.875rem; padding: 0.35714rem 0.5rem; margin: 0; cursor: pointer; border: 0; display: inline-block; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; line-height: 1.4; margin-bottom: 0.625rem; -webkit-appearance: none; /*Stops iOS from taking over how buttons look*/ background: #f07122; }
.btn-accent:hover, .btn-accent:focus { color: #ffffff; background: #d1590e; border: 0; }
.btn-accent:hover, .btn-accent:focus { background: #d1590e; }

.btn.full-width, .btn-primary.full-width, .btn-secondary.full-width, .btn-accent.full-width { /*To be used in conjunction with other button styles*/ width: 100%; padding: 0.41667rem 0.625rem; font-size: 0.75rem; text-transform: uppercase; }
.btn span, .btn-primary span, .btn-secondary span, .btn-accent span { padding-top: 0.625rem; padding-bottom: 0.625rem; display: inline-block; }
.btn i, .btn-primary i, .btn-secondary i, .btn-accent i { display: inline-block; line-height: 1; margin-left: 0.375rem; }
.btn i.fa-2x, .btn-primary i.fa-2x, .btn-secondary i.fa-2x, .btn-accent i.fa-2x { font-size: inherit; }

.btn-small { padding: 0.41667rem 0.625rem; font-size: 0.75rem; text-transform: uppercase; }

br + .btn { margin-top: 0.625rem; }

/*==============================================
	MESSAGES
==============================================*/
.message { padding: 1.25rem; margin-bottom: 1.25rem; margin-top: 1.25rem; }
.message.warning { background: #fffbd7; border: 0.0625rem solid #d7c200; }
.message.error { background: #ffc6c7; border: 0.0625rem solid #c60004; }
.message.success { background: white; border: 0.0625rem solid #67ce87; }

/*! Swipebox v1.3.0 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
html.swipebox-html.swipebox-touch { overflow: hidden !important; }

#swipebox-overlay img { border: none !important; }

#swipebox-overlay { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 99999 !important; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#swipebox-container { position: relative; width: 100%; height: 100%; }

#swipebox-slider { -webkit-transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; height: 100%; left: 0; top: 0; width: 100%; white-space: nowrap; position: absolute; display: none; cursor: pointer; }
#swipebox-slider .slide { height: 100%; width: 100%; line-height: 0.0625rem; text-align: center; display: inline-block; position: relative; top: -0.3125rem !important; }
#swipebox-slider .slide:before { content: ""; display: inline-block; height: 50%; width: 0.0625rem; margin-right: -0.0625rem; }
#swipebox-slider .slide img, #swipebox-slider .slide .swipebox-video-container, #swipebox-slider .slide .swipebox-inline-container { display: inline-block; max-height: 100%; max-width: 100%; margin: 0; padding: 0; width: auto; height: auto; vertical-align: middle; }
#swipebox-slider .slide .swipebox-video-container { background: none; max-width: 71.25rem; max-height: 100%; width: 100%; padding: 5%; box-sizing: border-box; }
#swipebox-slider .slide .swipebox-video-container .swipebox-video { width: 100%; height: 0; padding-bottom: 56.25%; overflow: hidden; position: relative; }
#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe { width: 100% !important; height: 100% !important; position: absolute; top: 0; left: 0; }
#swipebox-slider .slide-loading { background: url(lightbox/images/loader.gif) no-repeat center center; }

#swipebox-bottom-bar, #swipebox-top-bar { position: absolute; left: 0; z-index: 999; height: 3.125rem; width: 100%; }

#swipebox-bottom-bar { bottom: 0 !important; }

#swipebox-top-bar { top: 0 !important; }
#swipebox-top-bar #swipebox-title { display: block !important; width: 100%; text-align: center; padding-top: 0.9375rem; }

#swipebox-prev, #swipebox-next, #swipebox-close { background-image: url(lightbox/images/icons.png); background-repeat: no-repeat; border: none !important; text-decoration: none !important; cursor: pointer; width: 3.125rem; height: 3.125rem; top: 0; }

#swipebox-arrows { display: block; margin: 0 auto !important; width: 100%; height: 3.125rem; }

#swipebox-prev { background-position: -32px 13px; float: left; }

#swipebox-next { background-position: -78px 13px; float: right; }

#swipebox-close { top: 0; right: 0; position: absolute; z-index: 9999; background-position: 15px 12px; }

.swipebox-no-close-button #swipebox-close { display: none; }

#swipebox-prev.disabled, #swipebox-next.disabled { opacity: 0.3; }

.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider { -webkit-animation: rightSpring 0.3s; animation: rightSpring 0.3s; }

.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider { -webkit-animation: leftSpring 0.3s; animation: leftSpring 0.3s; }

.swipebox-touch #swipebox-container:before, .swipebox-touch #swipebox-container:after { -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transition: all .3s ease; transition: all .3s ease; content: ' '; position: absolute; z-index: 999; top: 0; height: 100%; width: 1.25rem; opacity: 0; }

.swipebox-touch #swipebox-container:before { left: 0; box-shadow: inset 10px 0px 10px -8px #656565; }

.swipebox-touch #swipebox-container:after { right: 0; box-shadow: inset -10px 0px 10px -8px #656565; }

.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before { opacity: 1; }

.swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after { opacity: 1; }

@-webkit-keyframes rightSpring { 0% { left: 0; }
  50% { left: -1.875rem; }
  100% { left: 0; } }
@keyframes rightSpring { 0% { left: 0; }
  50% { left: -1.875rem; }
  100% { left: 0; } }
@-webkit-keyframes leftSpring { 0% { left: 0; }
  50% { left: 1.875rem; }
  100% { left: 0; } }
@keyframes leftSpring { 0% { left: 0; }
  50% { left: 1.875rem; }
  100% { left: 0; } }
@media screen and (min-width: 800px) { #swipebox-close { right: 0.625rem; }
  #swipebox-arrows { width: 92%; max-width: 50rem; } }
#swipebox-overlay { background: rgba(0, 0, 0, 0.9); }

#swipebox-bottom-bar, #swipebox-top-bar { text-shadow: 0.0625rem 0.0625rem 0.0625rem black; background: rgba(0, 0, 0, 0.9); }

#swipebox-top-bar { color: #ffffff !important; font-size: 0.8125rem; line-height: 1.15; font-family: "Source Sans Pro", Arial, sans-serif; }

/*=================================================================================
	RESPONSIVE TABLES USING STACKTABLE.JS
=================================================================================*/
.stacktable { width: 100%; }

.st-head-row { padding: 0.625rem; }

.st-head-row.st-head-row-main { font-size: 1.5em; }

.stacktable.large-only { display: table; }

.stacktable.small-only { display: none; }

@media (max-width: 767px) { .stacktable.large-only { display: none; }
  .stacktable.small-only { display: table; } }
/* Features */
/*=================================================================================
	GALLERIES
=================================================================================*/
main .gallery, article .gallery { margin: 0 0 1.25rem 0 !important; }
main .gallery a, main .gallery a:hover, main .gallery a:focus, article .gallery a, article .gallery a:hover, article .gallery a:focus { padding: 0; margin: 0; background: none; }
main .gallery .gallery-item, article .gallery .gallery-item { padding: 0; margin: 0 1% 0.5% 0 !important; float: none !important; display: inline-block !important; position: relative !important; }
main .gallery .gallery-item img, article .gallery .gallery-item img { display: block; border: none !important; width: 100%; height: auto; }
main .gallery .gallery-item .gallery-caption, article .gallery .gallery-item .gallery-caption { position: absolute !important; bottom: 0; text-align: center; background: rgba(0, 0, 0, 0.5); padding: 0.3125rem; font-size: 0.625rem; color: #ffffff; width: 100%; font-style: normal; opacity: 0; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
main .gallery .gallery-item:hover .gallery-caption, article .gallery .gallery-item:hover .gallery-caption { opacity: 1; z-index: 1000; }
main .gallery br, article .gallery br { display: none !important; }
main .gallery.gallery-columns-1 .gallery-item, main .gallery.gallery-columns-2 .gallery-item, main .gallery.gallery-columns-3 .gallery-item, article .gallery.gallery-columns-1 .gallery-item, article .gallery.gallery-columns-2 .gallery-item, article .gallery.gallery-columns-3 .gallery-item { width: 32.66% !important; }
main .gallery.gallery-columns-1 .gallery-item:nth-of-type(3n+3), main .gallery.gallery-columns-2 .gallery-item:nth-of-type(3n+3), main .gallery.gallery-columns-3 .gallery-item:nth-of-type(3n+3), article .gallery.gallery-columns-1 .gallery-item:nth-of-type(3n+3), article .gallery.gallery-columns-2 .gallery-item:nth-of-type(3n+3), article .gallery.gallery-columns-3 .gallery-item:nth-of-type(3n+3) { margin-right: 0 !important; }
main .gallery.gallery-columns-4 .gallery-item, article .gallery.gallery-columns-4 .gallery-item { width: 24.25% !important; }
main .gallery.gallery-columns-4 .gallery-item:nth-of-type(4n+4), article .gallery.gallery-columns-4 .gallery-item:nth-of-type(4n+4) { margin-right: 0 !important; }
main .gallery.gallery-columns-5 .gallery-item, article .gallery.gallery-columns-5 .gallery-item { width: 19.2% !important; }
main .gallery.gallery-columns-5 .gallery-item:nth-of-type(5n+5), article .gallery.gallery-columns-5 .gallery-item:nth-of-type(5n+5) { margin-right: 0 !important; }
main .gallery.gallery-columns-6 .gallery-item, article .gallery.gallery-columns-6 .gallery-item { width: 15.83% !important; }
main .gallery.gallery-columns-6 .gallery-item:nth-of-type(6n+6), article .gallery.gallery-columns-6 .gallery-item:nth-of-type(6n+6) { margin-right: 0 !important; }
main .gallery.gallery-columns-7 .gallery-item, article .gallery.gallery-columns-7 .gallery-item { width: 13.42% !important; }
main .gallery.gallery-columns-7 .gallery-item:nth-of-type(7n+7), article .gallery.gallery-columns-7 .gallery-item:nth-of-type(7n+7) { margin-right: 0 !important; }
main .gallery.gallery-columns-8 .gallery-item, article .gallery.gallery-columns-8 .gallery-item { width: 11.62% !important; }
main .gallery.gallery-columns-8 .gallery-item:nth-of-type(8n+8), article .gallery.gallery-columns-8 .gallery-item:nth-of-type(8n+8) { margin-right: 0 !important; }
main .gallery.gallery-columns-9 .gallery-item, article .gallery.gallery-columns-9 .gallery-item { width: 10.22% !important; }
main .gallery.gallery-columns-9 .gallery-item:nth-of-type(9n+9), article .gallery.gallery-columns-9 .gallery-item:nth-of-type(9n+9) { margin-right: 0 !important; }

/*=================================================================================
	SLIDESHOW / IMAGE BANNER (example only - this are usually unique)
=================================================================================*/
#slideshow { padding: 0; position: relative; z-index: 0; padding: 0; width: 100%; margin: 0 auto; }
#slideshow .cycle-slideshow { position: relative; width: 100%; margin: 0 auto; display: block; }
#slideshow .cycle-slideshow a { -webkit-transition: none; transition: none; display: none; z-index: 0 !important; }
#slideshow .cycle-slideshow a img { display: block; margin: 0 auto; width: 100%; height: auto; -webkit-transition: none; transition: none; }
#slideshow #overlay { position: absolute; width: 100%; top: 0; z-index: 10; }
#slideshow #overlay img { display: block; width: 100%; max-width: none; }

/*@import "features/search";
@import "features/mailchimp";
@import "features/testimonials";*/
/* Site specific */
/*=================================================================================
	TABLE OF CONTENTS
=================================================================================*/
/* 
	- Basics
		- Utility classes
		- Typography
		- Links
		- Buttons
		- Messages
	- Header 
		- Details (Phone number etc)
	- Content
		- Homepage specific styles
		- Widget globals
		- Article
			- Lists
			- Blockquotes
			- Tables
			- Extras
		- Posts & Children
	- Sidebar
	- Footer
	- GOOP credit
	- Media Queries
*/
/*=================================================================================
	BASICS
=================================================================================*/
html, body { height: 100%; margin: 0; padding: 0; line-height: 1.4; font-size: 1rem; color: #ffffff; font-family: "Source Sans Pro", Arial, sans-serif; font-weight: 300; }
html #macchiagroup, body #macchiagroup { background: url(img/backgrounds/background.jpg) center center no-repeat fixed; background-size: cover; min-height: 100%; position: relative; }
@media only screen and (min-width: 600px) { html #macchiagroup, body #macchiagroup { padding-bottom: 2.5rem; } }

*, *:before, *:after { box-sizing: border-box; }

a, img, span { -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

/*==============================================
	TYPOGRAPHY
==============================================*/
body, input, select, textarea, label, button { font-family: "Source Sans Pro", Arial, sans-serif; }

ul li.menu-item-has-children:before, article blockquote:before { font-family: 'FontAwesome'; }

h1, h2, h3, h4, h5, h6 { font-family: "Source Sans Pro", Arial, sans-serif; font-weight: 600; line-height: 1.2; }

h1 { font-weight: 700; }

h1, h2, h3, h4, h5, h6, p, ul { margin-bottom: 0.625rem; }

li, p { font-size: 1rem; }

small { font-size: 0.75rem; }

/*==============================================
	LINKS
==============================================*/
main a:not(.img), article a:not(.img), aside a:not(.img) { color: #d9d9d9; text-decoration: none; position: relative; border-bottom: 0.0625rem dotted #8c8c8c; }
main a:not(.img):hover, main a:not(.img):focus, article a:not(.img):hover, article a:not(.img):focus, aside a:not(.img):hover, aside a:not(.img):focus { color: #f07122; border-bottom: 0.0625rem solid #f07122; }
main a.readmore, article a.readmore, aside a.readmore { white-space: nowrap; }
main a[class^="btn"], main a[class*=" btn"], article a[class^="btn"], article a[class*=" btn"], aside a[class^="btn"], aside a[class*=" btn"] { border: none; color: #ffffff; }
main a[class^="btn"]:hover, main a[class^="btn"]:focus, main a[class*=" btn"]:hover, main a[class*=" btn"]:focus, article a[class^="btn"]:hover, article a[class^="btn"]:focus, article a[class*=" btn"]:hover, article a[class*=" btn"]:focus, aside a[class^="btn"]:hover, aside a[class^="btn"]:focus, aside a[class*=" btn"]:hover, aside a[class*=" btn"]:focus { border: none; color: #ffffff; }

/*=================================================================================
	HEADER
=================================================================================*/
header { background: #ffffff url(img/backgrounds/header.png) bottom right no-repeat; padding: 1.25rem !important; width: 100% !important; position: relative; margin: 0; z-index: 0; }
header #logo a.logo { width: 100%; display: block; margin: 0 auto; max-width: 12.5rem; }
@media only screen and (min-width: 768px) { header #logo a.logo { margin: 0; } }
header #logo a.logo img { display: block; margin: 0 auto 0.625rem; }
@media only screen and (min-width: 768px) { header #logo a.logo img { margin: 0; } }
header #details { text-align: right; display: block; list-style: none; margin: 0; }
@media only screen and (max-width: 767px) { header #details { text-align: center; } }
header #details li { margin: 0; color: #2d2d2d; text-transform: uppercase; font-weight: 700; line-height: 1.15; }
header #details li span { font-size: 150%; }
@media only screen and (min-width: 480px) { header #details li { display: inline-block; margin: 0 0.3125rem; }
  header #details li:first-of-type { display: block; margin-bottom: 0.625rem; } }
@media only screen and (min-width: 768px) { header #details li { font-size: 1.25rem; }
  header #details li span { font-size: 160%; }
  header #details li:first-of-type { margin-bottom: 2.5rem; } }

/*=================================================================================
	CONTENT
=================================================================================*/
section#content { padding: 0; width: 100%; background: #ffffff; }
section#content #orange { background: #f07122; padding: 0.625rem; border-top: 0.3125rem solid #000000; }
@media only screen and (min-width: 768px) { section#content #orange { padding: 1.25rem; } }
section#content #grey { background: #2d2d2d; border: 0.625rem solid #ffffff; padding: 0.625rem; }
@media only screen and (min-width: 768px) { section#content #grey { border: 1.25rem solid #ffffff; padding: 1.25rem; } }
@media only screen and (min-width: 768px) { section#content #grey .twelve { padding-right: 1.25rem; } }

/*=================================================================================
	ARTICLES & MAIN CONTENT
=================================================================================*/
article, main { position: relative /*==============================================
	LISTS
==============================================*/ /*==============================================
	SMALL
==============================================*/ /*==============================================
	BLOCKQUOTES
==============================================*/ /*==============================================
	TABLES
==============================================*/ /*==============================================
	EXTRAS
==============================================*/ }
article h1, main h1 { font-size: 1.5625rem; margin-bottom: 0.625rem; text-transform: uppercase; }
article h2, main h2 { font-size: 1.25rem; margin-bottom: 0.625rem; }
article h3, main h3 { font-size: 1.125rem; margin-bottom: 0.3125rem; }
article h4, article h5, article h6, main h4, main h5, main h6 { font-size: 1.0625rem; margin-bottom: 0.1875rem; }
article p, main p { line-height: 1.3; margin-bottom: 1rem; }
article strong, main strong { font-weight: 600; }
article ul, article ol, main ul, main ol { margin: 0 1.5625rem 1.25rem; }
article ul li, article ol li, main ul li, main ol li { margin-bottom: 0.3125rem; }
article ul, main ul { list-style: disc; }
article ol, main ol { list-style: decimal; }
article small, main small { font-size: 0.75rem; margin: 0 0 0.625rem; opacity: 0.7; text-transform: uppercase; }
article .date, main .date { display: block; }
article blockquote, main blockquote { position: relative; padding: 1.25rem 0 0 1.25rem; }
article blockquote:before, main blockquote:before { content: "\f10d"; opacity: 0.3; position: absolute; top: 1.25rem; left: 0; clear: both; visibility: visible; overflow: visible; }
article table, main table { margin: 0 0 1.25rem 0; border-collapse: collapse; width: 100%; border: 0.0625rem solid #404040; }
article table th, article table td, main table th, main table td { border: 0.0625rem solid #404040; padding: 0.625rem; }
article hr, main hr { border-color: #404040; height: 0.0625rem; }
article .columns.eight, main .columns.eight { padding-bottom: 1.25rem; }
@media only screen and (min-width: 768px) { article .columns.eight:last-child, main .columns.eight:last-child { padding-left: 1.25rem; } }

/*=================================================================================
	POSTS & CHILDREN
=================================================================================*/
main .page, main .post, article .page, article .post { clear: both; padding: 0 0 1.25rem 0; margin: 0 0 1.25rem 0; border-bottom: 0.0625rem solid #404040; }
main .page h2.title, main .post h2.title, article .page h2.title, article .post h2.title { background: none; padding: 0; margin: 0 0 0.3125rem; }
main .page h2.title a, main .post h2.title a, article .page h2.title a, article .post h2.title a { text-decoration: none; padding: 0; margin: 0; border-color: transparent; color: inherit; }
main .page .thumbnail, main .post .thumbnail, article .page .thumbnail, article .post .thumbnail { margin-bottom: 1.25rem; }
@media only screen and (min-width: 768px) { main .page .thumbnail, main .post .thumbnail, article .page .thumbnail, article .post .thumbnail { padding-right: 1.25rem; } }
main .page .thumbnail img, main .post .thumbnail img, article .page .thumbnail img, article .post .thumbnail img { display: block; margin: 0.3125rem 0 0.625rem; width: 100%; height: auto; }
main .page .thumbnail a, main .page .thumbnail a:hover, main .page .thumbnail a:focus, main .post .thumbnail a, main .post .thumbnail a:hover, main .post .thumbnail a:focus, article .page .thumbnail a, article .page .thumbnail a:hover, article .page .thumbnail a:focus, article .post .thumbnail a, article .post .thumbnail a:hover, article .post .thumbnail a:focus { border: none; padding: 0; margin: 0; }
main .type-post:last-of-type, main .type-page:last-of-type, article .type-post:last-of-type, article .type-page:last-of-type { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
main .type-page.hentry p, article .type-page.hentry p { display: inline; }

/*=================================================================================
	SIDEBAR
=================================================================================*/
aside { margin: 0; padding: 0; }
aside ul.sidebar { list-style: none; margin: 0 0 1.25rem 0; padding: 1.25rem; background: #333333; }
aside ul.sidebar li { font-size: 0.9375rem; color: #ffffff; text-transform: uppercase; }
@media only screen and (min-width: 768px) { aside ul.sidebar li { display: block; margin: 0; } }
aside ul.sidebar li h3 { font-size: 1.25rem; font-weight: 600; margin: 0; padding: 0 0 0.3125rem; }
aside ul.sidebar li a { border: none; color: #ffffff; padding: 0.3125rem 0; display: block; }
aside ul.sidebar li a:hover { color: #f07122; border: none; }

/*=================================================================================
	FOOTER
=================================================================================*/
footer { background: #000000; padding: 0.625rem 0; width: 100%; }
@media only screen and (min-width: 600px) { footer { height: 2.5rem; position: absolute; bottom: 0; } }
footer ul { margin: 0; padding: 0 /*==============================================
	GOOP CREDIT
==============================================*/ }
footer ul li a { color: #7a7a7a; text-decoration: none; }
footer ul li a:hover { color: #adadad; }
footer ul.goop { list-style: none; font-size: 0; width: 100%; text-align: left; text-transform: uppercase; }
@media only screen and (max-width: 599px) { footer ul.goop { text-align: center; } }
footer ul.goop li { font-size: 0.75rem; display: inline-block; padding: 0; line-height: 1.5; vertical-align: middle; margin: 0 0.3125rem; }
@media only screen and (min-width: 600px) { footer ul.goop li:last-child { float: right; } }
footer ul.goop li a { padding: 0; margin: 0; display: block; border: 0; }
footer ul.goop li a span { display: inline-block; margin-left: 0.3125rem; vertical-align: middle; }

/* Overrides */
/*=================================================================================
	IE
=================================================================================*/
.lt-ie9 html, .lt-ie9 body { font-size: 100%; }

/*=================================================================================
	BROWSER WARNING
=================================================================================*/
#browser { text-align: center; padding: 0; background: #ffffcc; margin: 0; font-size: 70%; width: 100%; border-bottom: 1px solid #cccccc; font-family: "Source Sans Pro", Arial, sans-serif; z-index: 10000; position: relative; }

#browser span { display: block; width: 960px; margin: 0 auto; padding: 3px; color: #666666; }

#browser span a { color: #000; text-decoration: none; }

#browser span a:hover, #browser span a:focus { background: none; color: #000; text-decoration: underline; }
