/*
Theme Name: Red Spade
Theme URI: http://www.sixponyhitch.com;
Description: A custom theme for Red Spade designed and developed by Six Pony Hitch.
Author: Tamara Olson and Six Pony Hitch
Author URI: http://www.sixponyhitch.com
Version: 1.0

*/
/***************************************************************************************************************************************************************************************/
/*HTML5 BOILERPLATE MINIFIED*/

/***************************************************************************************************************************************************************************************/
*{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}article{display:block}aside{display:block}details{display:block}figcaption{display:block}figure{display:block;margin:0}footer{display:block}header{display:block}hgroup{display:block}nav{display:block}section{display:block}audio{display:inline;zoom:1}canvas{display:inline;zoom:1}video{display:inline;zoom:1}audio:not([controls]){display:none}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-family:sans-serif;color:#222}button{font-family:sans-serif;color:#222;font-size:100%;vertical-align:middle;line-height:normal;cursor:pointer;-webkit-appearance:button;overflow:visible;margin:0}input{font-family:sans-serif;color:#222;font-size:100%;vertical-align:middle;line-height:normal;margin:0}select{font-family:sans-serif;color:#222;font-size:100%;vertical-align:middle;margin:0}textarea{font-family:sans-serif;color:#222;font-size:100%;overflow:auto;vertical-align:top;resize:vertical;margin:0}body{font-size:1em;line-height:1.4;margin:0}::-moz-selection{background:#333;color:#fff;text-shadow:none}::selection{background:#333;color:#fff;text-shadow:none}a{color:#00e}a:hover{color:#06e;outline:0}a:active{outline:0}abbr[title]{border-bottom:1px dotted}b{font-weight:700}strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:700}pre{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em;white-space:pre-wrap;word-wrap:break-word}code{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}kbd{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}samp{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}q{quotes:none}q:before{content:none}q:after{content:none}small{font-size:85%}sub{font-size:75%;line-height:0;position:relative;vertical-align:baseline;bottom:-.25em}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-.5em}ul{margin:1em 0;padding:0 0 0 40px}ol{margin:1em 0;padding:0 0 0 40px}dd{margin:0 0 0 40px}nav ul{list-style:none;list-style-image:none;margin:0;padding:0}nav ol{list-style:none;list-style-image:none;margin:0;padding:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}svg:not(:root){overflow:hidden}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;margin-left:-7px;white-space:normal;padding:0}input[type="button"]{cursor:pointer;-webkit-appearance:button;overflow:visible}input[type="reset"]{cursor:pointer;-webkit-appearance:button;overflow:visible}input[type="submit"]{cursor:pointer;-webkit-appearance:button;overflow:visible}button[disabled]{cursor:default}input[disabled]{cursor:default}input[type="checkbox"]{box-sizing:border-box;width:13px;height:13px;padding:0}input[type="radio"]{box-sizing:border-box;width:13px;height:13px;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}input:invalid{background-color:#f0dddd}textarea:invalid{background-color:#f0dddd}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{background:#ccc;color:#000;margin:.2em 0;padding:.2em 0}

/***************************************************************************************************************************************************************************************/
/*BODY STYLES*/
/***************************************************************************************************************************************************************************************/

body { -webkit-font-smoothing: antialiased; background: #FFF; color: #000; font-family: "ff-tisa-web-pro",serif; }
.noscroll { overflow: hidden; }
h1 { }
h2 { letter-spacing: 2px; font-size: 20px; text-transform: uppercase; color: #ce1628; font-weight: 700; font-family: 'futura-pt', sans-serif; }
a { text-decoration: none; -moz-transition: all .5s ease; -webkit-transition: all .5s ease; transition: all .5s ease; }
a:hover { }
.container { padding: 0 30px; clear: both; margin: 0 auto; max-width: 960px; position: relative; }
img { height: auto; max-width: 100%; }
hr { background-color: #ce1628; border: 0; width: 20px; height: 10px; margin-bottom: 40px; }
input[type=submit], a.button { border: 0; font-family: 'futura-pt', sans-serif; font-weight: 300; display: inline-block; padding: 8px 30px; text-transform: uppercase; background-color: #ce1628; color: white; }
input[type=submit]:hover, a.button:hover { background-color: #a31321; }
html { margin: 0 !important; }

/***************************************************************************************************************************************************************************************/
/*HEADER STYLES*/
/***************************************************************************************************************************************************************************************/
header, section, footer { float: left; width: 100%; }

/* Hero Video */
#hero { position: relative; width: 100%; height: 100vh; overflow: hidden; }
#hero .hero-video { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; transform: translate(-50%, -50%); object-fit: cover; z-index: 1; }

#slider-overlay { top: 50%; margin-top: -200px; height: 400px; position: absolute; z-index: 10; width: 100%; text-align: center; }
#slider-overlay img#logo { display: block; margin: 0 auto; }
#slider-overlay #site-tagline { font-size: 38px; color: white; width: 70%; max-width: 600px; display: block; margin: 70px auto 0px auto; font-style: italic; }
#slider-overlay .play-video-btn { margin-top: 40px; display: inline-block; cursor: pointer; }
#slider-overlay .play-video-btn i { margin-right: 8px; }

/* Video Lightbox Modal */
dialog::backdrop { background: rgba(0,0,0,0.8); }
.video-popup { background: #000; border: none; padding: 0; max-width: 90vw; max-height: 90vh; width: 100%; margin: auto; }
.video-popup video { width: 100%; height: auto; aspect-ratio: 16/9; display: block; }
.video-popup .close-popup { position: absolute; top: 10px; right: 10px; background: #ce1628; border: none; color: white; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease; }
.video-popup .close-popup:hover { background: #a31321; }
.accessibility { position: absolute; left: -9999px; }

/***************************************************************************************************************************************************************************************/
/*NAV STYLES*/
/***************************************************************************************************************************************************************************************/
.site-navigation { z-index: 99999; width: 100%; padding: 20px 0; position: absolute; bottom: 0; text-align: center; background-color: rgba(206,22,40,.75); }
.site-navigation ul li { display: inline; }
.site-navigation a { letter-spacing: 2px; margin: 0 30px; font-size: 18px; font-family: 'futura-pt', sans-serif; color: white; text-transform: uppercase; }
.site-navigation:hover a { opacity: .3; }
.site-navigation a:hover { opacity: 1; }
#backtotop { z-index: 99999; position: fixed; left: 0; }
#nav-toggle { background-position-y: 50%!important; height: 50px!important; }
#nav a { font-family: 'futura-pt', sans-serif; text-transform: uppercase; }

.site-navigation-fixed { position: fixed; top: 0; height: 64px; }

/* ABOUT */
#about { padding: 70px 0 90px; }
#about hr { margin: 0 auto; }
#about h2 { text-align: center; }
#about p { line-height: 46px; font-size: 30px; color: #514d4a; text-align: center; }
#about img { margin: 0 auto; display: block; }
#core-principles { background-color: #ce1628; padding: 70px 0 90px; }
#core-principles h2 { color: white; text-align: center; }
#core-principles ul { margin: 0; padding: 0; }
#core-principles ul li { vertical-align: top; display: inline-block; color: white; text-align: center; width: 26%; margin: 0 3%; }
#core-principles h3 { font-weight: normal; font-size: 30px; margin-bottom: 15px; margin-top: 15px; }
#core-principles hr { margin: 0 auto 80px auto; background-color: white; }
#core-principles p { font-size: 20px; margin-top: 0; }

/* OUR PROCESS */
#how-we-work section { position: relative; width: 100%; height: 450px; color: white; }
#how-we-work h2 { color: white; }
#step-1 { background-size: cover; background-image: url('img/coffeecup.jpg'); }
#step-2 { text-align: right; background-size: cover; background-image: url('img/napkin.jpg'); }
#step-3 { background-size: cover; background-image: url('img/stickstones.jpg'); }
#step-4 { text-align: right; background-size: cover; background-image: url('img/plugplay.jpg'); }
#how-we-work section h3 span { font-weight: normal; display: block; font-family: 'futura-pt', sans-serif; font-size: 28px; }
#how-we-work section h3 { font-size: 30px; margin: 0 0 20px; font-weight: normal; }
#how-we-work section p { margin: 0; font-size: 18px; width: 60%; }
#how-we-work #step-2 p, #how-we-work #step-4 p { float: right; }
.brown-overlay { padding-top: 70px; width: 100%; height: 100%; position: absolute; }
#how-we-work section .brown-overlay { -webkit-transition: background 0.5s linear;
        -moz-transition: background 0.5s linear;
        -ms-transition: background 0.5s linear;
        -o-transition: background 0.5s linear;
        transition: background 0.5s linear;}
#how-we-work section:hover .brown-overlay { background-color: rgba(57,57,57,.75); }

/* MEET THE CORE TEAM */
#our-team { padding-top: 100px; padding-bottom: 120px; }
#our-team ul { margin: 0; padding: 0; }
#our-team hr { margin: 0 auto; }
#our-team h2 { text-align: center; }
#our-team li { vertical-align: top; display: inline-block; list-style: none; width: 23%; margin: 0 1%; }
#our-team li img { width: 100%; }
#our-team h3 { cursor: pointer; letter-spacing: 2px; text-align: center; margin-bottom: 0; font-weight: 300; text-transform: uppercase; color: #ce1628; font-size: 18px; font-family: 'futura-pt', sans-serif; }
#our-team p { cursor: pointer; text-align: center; font-size: 16px; color: #514d4a; margin: 0; }
#our-team p a { color: #514d4a; }
#our-team #team-tagline p { margin-top: 30px; margin-bottom: 80px; display: block; text-align: center; font-size: 30px; color: #514d4a; }
/* OUR TEAM Update 2/2016 */
#our-team .container {
    max-width: 1200px;
}

#our-team ul {
    text-align: center;
}

#our-team li {
	width: 17.9%;
    overflow: hidden;
}

/* OUR WORK */
#our-work { position: relative; background-size: cover; background-image: url('img/porch.jpg'); height: 600px; width: 100%; }
#our-work .brown-overlay { background-color: rgba(83,71,65,.25); }
#our-work h2 { color: white; }
#work-tagline { font-size: 30px; color: white; display: block; margin-bottom: 50px; }

/* QUOTATION */
#quotation { padding-top: 70px; padding-bottom: 80px; text-align: center; background-color: #ce1628; color: white; }
#quotation h3 { font-weight: 300; font-style: italic; font-size: 30px; }
#quotation hr { margin: -10px auto 30px auto; background-color: white; }
#quotation .attribution { font-style: italic; }
.cd-testimonials p { font-size: 18px!important; line-height: 26px!important; }
#project-details a { display: block; margin-top: 50px; color: white; text-decoration: underline; font-size: 18px; font-family: 'futura-pt', sans-serif; text-transform: uppercase; }

/* CONTACT PAGE */
#chicago-area-map { margin-top: 50px; }
#chicago-map-bg { background-image: url('img/map-bg.png'); background-size: 100% 100%; background-repeat: no-repeat; padding-bottom: 30px; }
#get-in-touch { padding-top: 50px; padding-bottom: 20px; background-color: #fff; }
#get-in-touch h2 { text-align: center; }
input[type=submit] { margin-top: -30px; }
#get-in-touch hr { margin: 0 auto; }
#contact-tagline { margin-top: 30px; color: #514d4a; display: block; font-size: 30px; text-align: center; }
#column-1 { width: 48%; vertical-align: top; display: inline-block; }
#column-2 { color: #58595b; width: 48%; vertical-align: top; display: inline-block; }
form { margin-top: 36px; }
input[type=text], input[type=email], textarea { padding: 6px; margin-bottom: 8px; width: 100%; border: 1px solid #b1a296; }
textarea { height: 60px }
::-webkit-input-placeholder, :-moz-placeholder, ::-moz-placeholder, :-ms-input-placeholder { /* Firefox 18- */
   font-family: 'futura-pt', sans-serif; color: #58595b; font-size: 12px; text-transform: uppercase; 
}

.location { color: #514d4a; }
.location-title, .hours-title { text-transform: uppercase; display: block; font-family: 'futura-pt', sans-serif; color: #ce1628; font-size: 16px; }
.location-title { margin-top: 80px; }
.hours-title { margin-top: 30px; }
.directions-link { text-decoration: underline; color: #514d4a; font-size: 12px; display: block; }
.telephone-number { margin-top: 10px; display: block; font-family: 'futura-pt', sans-serif; color: #ce1628; font-size: 16px; }
#form-required { float: right; color: #58595b; font-size: 12px; font-style: italic; }
#form-required span { color: #ce1628; }
div.wpcf7-response-output { font-family: 'futura-pt', sans-serif!important; padding: 0!important; margin: 0!important; }
div.wpcf7-validation-errors { font-family: 'futura-pt', sans-serif!important; border: 0!important; color: #ce1628!important; }
span.wpcf7-not-valid-tip { font-family: 'futura-pt', sans-serif!important; color: #ce1628!important; }

/***************************************************************************************************************************************************************************************/
/*PERSON DIALOG*/
/***************************************************************************************************************************************************************************************/
.person-dialog { overflow-x: scroll; display: none; text-align: center; white-space: none; z-index: 99999999; background-color:rgba(0,0,0,.66); width: 100%; height: 100%; position: fixed; }
.person-dialog:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; /* Adjusts for spacing */ }
.person-dialog .content-container { text-align: left; overflow: hidden; margin: 0 auto; position: relative; display: inline-block; background-color: white; vertical-align: middle; max-width: 960px; width: 100%; margin: 0 auto; }
.person-dialog div .content { display: inline-block; width: 48%; vertical-align: top; margin-left: 4%; }
.person-dialog a.close-button { cursor: pointer; color: #ce1628; position: absolute; top: 20px; right: 25px; font-family: 'futura-pt', sans-serif; text-transform: uppercase; font-size: 12px; }
.person-dialog img { display: inline-block; width: 35%; vertical-align: top; }
.person-dialog h1 { color: #ce1628; font-weight: normal; font-family: 'futura-pt', sans-serif; font-size: 18px; letter-spacing: 2px; text-transform: uppercase; margin-top: 40px; }
.person-dialog h2 { color: #58595b; font-weight: normal; font-family: 'futura-pt', sans-serif; font-size: 14px; line-height: 30px; }
.person-dialog h3 { letter-spacing: 2px; color: #58595b; font-weight: normal; font-family: 'futura-pt', sans-serif; font-size: 14px; text-transform: uppercase; }
.person-dialog hr { margin-bottom: 20px; }
.person-dialog p, .person-dialog ul li { color: #58595b; margin-top: 0; line-height: 28px; }
.person-dialog ul li { margin-left: -14px; margin-bottom: 2px; }
.flex-direction-nav li { list-style: none; }

/***************************************************************************************************************************************************************************************/
/*GALLERY DIALOG*/
/***************************************************************************************************************************************************************************************/
.lb-outerContainer { border-radius: 0!important;}
.lb-data .lb-caption { font-size: 14px!important; }
.lightboxOverlay { background-color: rgba(0,0,0,.66)!important;}
.lb-data .lb-number, .lb-data .lb-close { display: none!important;}
.lb-container { padding: 0!important; }
.lb-data { position: relative!important; }
.lb-data .lb-details { color: white!important; margin-left: -4px!important; background-color: rgba(0,0,0,.45)!important; padding: 25px 0!important; margin-top: -69px!important; position: absolute!important; width: 100%!important; text-align: center!important; }


/***************************************************************************************************************************************************************************************/
/*FOOTER STYLES*/
/***************************************************************************************************************************************************************************************/
footer { text-align: right; font-size: 16px; font-family: 'futura-pt', sans-serif; background-color: #333; color: white; }
footer ul { padding-left: 0; padding-top: 10px; padding-bottom: 10px; margin-left: 0; }
footer ul li { display: inline-block; vertical-align: middle; list-style: none; }
footer ul.social-icons li a { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-right: 10px; color: white; font-size: 18px; transition: opacity 0.2s ease; }
footer ul.social-icons li a:hover { opacity: 0.7; }
footer ul li:last-child { margin-left: 25px; }
footer ul li a#sixponyhitch { color: white; width: auto;}

/* Underline From Left */
[class^="hvr-"] { margin: 0 0 .4em 0; padding: 0 0 .4em 0; cursor: pointer; background: #fff; text-decoration: none; color: #666; -webkit-tap-highlight-color: rgba(0,0,0,0); }
.hvr-underline-from-left { display: inline-block; vertical-align: middle; -webkit-transform: translateZ(0); transform: translateZ(0);  box-shadow: 0 0 1px rgba(0, 0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; position: relative; overflow: hidden; }
.hvr-underline-from-left:before { content: ""; position: absolute; z-index: -1; left: 0; right: 100%; bottom: 0; background: #ce1628; height: 4px; -webkit-transition-property: right; transition-property: right; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; }
.hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before { right: 0; }
.hvr-pop { display: inline-block;
vertical-align: middle;
-webkit-transform: translateZ(0);
transform: translateZ(0);
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-moz-osx-font-smoothing: grayscale;
}

/* Selectors */
::selection { background: #ce1628; color: white; /* WebKit/Blink Browsers */ }
::-moz-selection { background: #ce1628; color: white; /* Gecko Browsers */ }

.div.wpcf7-mail-sent-ok { border: 0!important;}

/***************************************************************************************************************************************************************************************/
/*CONCIERGE SERVICE PAGE*/
/***************************************************************************************************************************************************************************************/

/*
 * Typographic scale:
 *   Section headers (h2.cf-section): 20px futura-pt 700 uppercase letterspaced — RED, primary IA
 *   Category headers (h3.cf-category): 16px futura-pt 500 uppercase letterspaced — dark gray, secondary IA
 *   Field labels: 15px futura-pt 400 uppercase — medium gray
 *   Input text / checkbox labels: 18px tisa-web-pro — dark
 *   Descriptive / notes: 16px tisa-web-pro italic — muted
 *
 * Vertical rhythm:
 *   Between major sections: 80px
 *   Section header to first field: 40px
 *   Between fields: 28px
 *   Category header to checklist: 20px
 *   Between categories: 44px
 */

/* ========== PAGE SCOPE ========== */
.concierge-page { background: #fff; }

/* ========== HERO ========== */
.concierge-hero { background: #fff; padding: 80px 0 12px; text-align: center; }
.concierge-hero .concierge-logo { display: block; margin: 0 auto; max-width: 320px; }

/* ========== INTRO ========== */
.concierge-intro { padding: 12px 0 48px; text-align: center; }
.concierge-intro .container { max-width: 800px; }
.concierge-intro .concierge-lead { font-family: "ff-tisa-web-pro", serif; font-style: italic; font-size: 21px; line-height: 1.7; color: #333; margin: 0 0 16px; }
.concierge-intro .concierge-sub { font-family: "ff-tisa-web-pro", serif; font-size: 16px; line-height: 1.8; color: #999; margin: 0; }

/* ========== FORM CONTAINER ========== */
.concierge-form { padding: 0 0 120px; }
.concierge-form .container { max-width: 620px; }

/* ========== GF RESET ========== */
.concierge-form .gform_wrapper,
.concierge-form .gform_wrapper * { box-sizing: border-box; }
.concierge-form .gform_wrapper { margin: 0; padding: 0; font-family: "ff-tisa-web-pro", serif; }
.concierge-form .gform_wrapper .gform_body { margin: 0; padding: 0; }
.concierge-form .gform_wrapper .gform_fields { padding: 0; margin: 0; }
.concierge-form .gform_wrapper .gfield { padding: 0; margin: 0 0 28px; border: none; }
.concierge-form .gform_wrapper fieldset.gfield { padding: 0; margin: 0 0 28px; border: none; }
.concierge-form .gform_wrapper .gsection { display: none; }
.concierge-form .gform_wrapper .gfield_required { display: none; }
.concierge-form .gform_wrapper .gfield_validation_message,
.concierge-form .gform_wrapper .validation_message { font-family: 'futura-pt', sans-serif; font-size: 13px; color: #ce1628; margin-top: 6px; }
.concierge-form .gform_wrapper .gform_hidden { margin: 0; }

/* ========== SECTION HEADERS — h2.cf-section (primary IA) ========== */
h2.cf-section,
.concierge-section-label { font-family: 'futura-pt', sans-serif; font-weight: 400; font-size: 18px; letter-spacing: 2.5px; text-transform: uppercase; color: #ce1628; margin: 0; line-height: 1.3; }
p.cf-section-note,
.concierge-section-sublabel { font-family: "ff-tisa-web-pro", serif; font-style: italic; font-size: 16px; color: #999; margin: 10px 0 0; line-height: 1.6; }
.concierge-form .gform_wrapper .cf-section-header { margin: 0 0 36px; padding: 40px 0 0; border-top: 1px solid #e8e8e8; }
.concierge-form .gform_wrapper .cf-section-services { margin-top: 80px; padding-top: 80px; border-top: 1px solid #e8e8e8; }
.concierge-form .gform_wrapper .cf-section-notes { margin-top: 80px; padding-top: 80px; border-top: 1px solid #e8e8e8; }

/* ========== FIELD LABELS ========== */
.concierge-form .gform_wrapper .gfield_label,
.concierge-form .gform_wrapper legend.gfield_label {
	font-family: 'futura-pt', sans-serif; font-weight: 400; font-size: 15px;
	letter-spacing: 0.5px; text-transform: uppercase; color: #666;
	margin: 0 0 8px; padding: 0; display: block; float: none; width: 100%;
}

/* ========== TEXT INPUTS ========== */
.concierge-form .gform_wrapper input[type="text"],
.concierge-form .gform_wrapper input[type="email"],
.concierge-form .gform_wrapper input[type="tel"],
.concierge-form .gform_wrapper textarea {
	border: none; border-bottom: 1px solid #d5d5d5; border-radius: 0;
	padding: 10px 0 12px; font-family: "ff-tisa-web-pro", serif; font-size: 18px;
	color: #222; background: transparent; box-shadow: none;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	width: 100%; transition: border-color .25s ease; outline: none;
}
.concierge-form .gform_wrapper input[type="text"]:focus,
.concierge-form .gform_wrapper input[type="email"]:focus,
.concierge-form .gform_wrapper input[type="tel"]:focus,
.concierge-form .gform_wrapper textarea:focus { border-bottom-color: #ce1628; }
.concierge-form .gform_wrapper textarea { min-height: 120px; resize: vertical; line-height: 1.6; }
.concierge-form .gform_wrapper .ginput_container { margin: 0; }

/* ========== CUSTOM CHECKBOXES (Font Awesome) ========== */
.concierge-form .gform_wrapper .gfield_checkbox .gchoice {
	display: flex; align-items: center; margin: 0 0 14px; padding: 0;
}
.concierge-form .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"] {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	width: 20px; height: 20px; min-width: 20px;
	border: 1.5px solid #ccc; border-radius: 3px; background: #fff;
	cursor: pointer; position: relative; margin: 0 12px 0 0;
	transition: all .2s ease; outline: none;
}
.concierge-form .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"]:hover {
	border-color: #999;
}
.concierge-form .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"]:checked {
	background: #ce1628; border-color: #ce1628;
}
.concierge-form .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"]:checked::after {
	font-family: "Font Awesome 6 Free"; font-weight: 900;
	content: "\f00c"; color: #fff; font-size: 12px;
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	line-height: 1;
}
.concierge-form .gform_wrapper .gfield_checkbox .gchoice label {
	font-family: "ff-tisa-web-pro", serif; font-size: 18px; color: #333;
	font-weight: 400; line-height: 1.4; cursor: pointer; margin: 0; padding: 0;
}

/* ========== CONTACT METHOD (inline checkboxes) ========== */
.concierge-form .gform_wrapper .cf-contact-method .gfield_checkbox {
	display: flex; gap: 36px; flex-wrap: wrap; padding: 0;
}
.concierge-form .gform_wrapper .cf-contact-method .gfield_checkbox .gchoice { margin: 0; }
.concierge-form .gform_wrapper .cf-contact-method .gfield_checkbox .gchoice label {
	font-family: 'futura-pt', sans-serif; font-size: 16px; color: #444; letter-spacing: 0.3px;
}

/* ========== CATEGORY HEADERS — h3.cf-category (secondary IA) ========== */
h3.cf-category {
	font-family: 'futura-pt', sans-serif; font-weight: 500; font-size: 16px;
	letter-spacing: 1.5px; text-transform: uppercase; color: #444; margin: 0; line-height: 1.3;
}
p.cf-category-note {
	font-family: "ff-tisa-web-pro", serif; font-style: italic;
	font-size: 15px; color: #aaa; margin: 4px 0 0; line-height: 1.5;
}
.concierge-form .gform_wrapper .cf-category-header { margin: 44px 0 20px; padding: 0; }
.concierge-form .gform_wrapper .cf-section-services + .cf-category-header { margin-top: 0; }

/* ========== SERVICE CHECKLISTS ========== */
.concierge-form .gform_wrapper .cf-checklist { margin: 0 0 0; padding: 0; border: none; }
.concierge-form .gform_wrapper .cf-checklist legend { display: none; }
.concierge-form .gform_wrapper .cf-checklist .gfield_checkbox { margin: 0; padding: 0; }
.concierge-form .gform_wrapper .cf-checklist .gfield_checkbox .gchoice { margin: 0 0 16px; }
.concierge-form .gform_wrapper .cf-checklist .gfield_checkbox .gchoice:last-child { margin-bottom: 0; }

/* ========== SELECT ALL BUTTON ========== */
.concierge-form .gform_wrapper .gfield_choice_all_toggle,
.concierge-form .gform_wrapper button.gfield_choice_all_toggle,
.gform-theme .gfield_choice_all_toggle {
	font-family: 'futura-pt', sans-serif !important; font-weight: 400 !important; font-size: 13px !important;
	letter-spacing: 1.5px !important; text-transform: uppercase !important;
	background: #ce1628 !important; color: #fff !important; border: none !important;
	padding: 10px 24px !important; cursor: pointer; margin-top: 8px;
	transition: background .25s ease;
	--gf-color-primary: #ce1628;
}
.concierge-form .gform_wrapper .gfield_choice_all_toggle:hover,
.concierge-form .gform_wrapper button.gfield_choice_all_toggle:hover,
.gform-theme .gfield_choice_all_toggle:hover { background: #a31321 !important; }

/* ========== NOTES FIELD ========== */
.concierge-form .gform_wrapper .cf-notes-field { margin: 0; }
.concierge-form .gform_wrapper .cf-notes-field .gfield_label {
	font-family: "ff-tisa-web-pro", serif; font-style: italic; font-size: 17px;
	color: #888; text-transform: none; letter-spacing: 0; font-weight: 400;
}

/* ========== SUBMIT ========== */
.concierge-form .gform_wrapper .gform-footer,
.concierge-form .gform_wrapper .gform_footer {
	text-align: center; padding: 0; margin: 72px 0 0;
}
.concierge-form .gform_wrapper .gform-footer input[type="submit"],
.concierge-form .gform_wrapper .gform_footer input[type="submit"],
.concierge-form .gform_wrapper .gform-footer .gform_button,
.concierge-form .gform_wrapper .gform_footer .gform_button {
	font-family: 'futura-pt', sans-serif; font-weight: 400; font-size: 14px;
	letter-spacing: 3px; text-transform: uppercase;
	background: #ce1628; color: #fff; border: none;
	padding: 18px 64px; cursor: pointer;
	transition: background .25s ease;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.concierge-form .gform_wrapper .gform-footer input[type="submit"]:hover,
.concierge-form .gform_wrapper .gform_footer input[type="submit"]:hover,
.concierge-form .gform_wrapper .gform-footer .gform_button:hover,
.concierge-form .gform_wrapper .gform_footer .gform_button:hover { background: #a31321; }

/* ========== CONFIRMATION ========== */
.cf-confirmation { text-align: center; padding: 80px 0; }
.cf-confirm-thanks { font-family: 'futura-pt', sans-serif; font-weight: 300; font-size: 28px; color: #333; letter-spacing: 1px; margin: 0 0 16px; }
.cf-confirm-body { font-family: "ff-tisa-web-pro", serif; font-style: italic; font-size: 18px; color: #888; line-height: 1.7; margin: 0; }

@media only screen and (max-width: 1024px) {
	.lb-nav a.lb-next, .lb-nav a.lb-prev { opacity: 1!important; }
	#how-we-work section#step-1 .brown-overlay { background-color: rgba(57,57,57,.3); }
	#how-we-work section#step-2 .brown-overlay { background-color: rgba(57,57,57,.3); }
	#how-we-work section#step-3 .brown-overlay { background-color: rgba(57,57,57,.3); }
	#how-we-work section#step-4 .brown-overlay { background-color: rgba(57,57,57,.5); }
	#how-we-work section:hover .brown-overlay { background-color: rgba(57,57,57,.75); }
}

@media only screen and (max-width: 800px) {
	#how-we-work section { text-align: center!important; }
	#how-we-work section p { margin: 0 auto; width: 70%; }
	#how-we-work #step-2 p, #how-we-work #step-4 p { float: none; }
	#our-team li { width: 48%; margin-bottom: 30px; }
	#column-1, #column-2 { margin: 0 auto; width: 100%; vertical-align: top; display: block; text-align: center; max-width: 500px; }
	#how-we-work hr { margin-left: auto; margin-right: auto; }
	.location { margin-bottom: 25px; }
	.location-title { margin-top: 0; }
}

@media only screen and (max-width: 600px) {
	.concierge-hero { padding: 60px 0 50px; }
	.concierge-hero .concierge-logo { max-width: 240px; }
	.concierge-intro { padding: 40px 0 36px; }
	.concierge-intro .concierge-lead { font-size: 19px; }
	.concierge-intro .concierge-lead br,
	.concierge-intro .concierge-sub br { display: none; }
	.concierge-intro .concierge-sub { font-size: 15px; }
	.concierge-form { padding: 0 0 80px; }
	h2.cf-section, .concierge-section-label { font-size: 16px; letter-spacing: 2px; }
	.concierge-form .gform_wrapper .cf-section-services,
	.concierge-form .gform_wrapper .cf-section-notes { margin-top: 56px; padding-top: 56px; }
	.concierge-form .gform_wrapper .cf-category-header { margin-top: 32px; }
	h3.cf-category { font-size: 14px; }
	.concierge-form .gform_wrapper .cf-contact-method .gfield_checkbox { gap: 24px; }
	.concierge-form .gform_wrapper .gform-footer,
	.concierge-form .gform_wrapper .gform_footer { margin-top: 56px; }
	#chicago-area-map { margin-top: 0; }
	#chicago-map-bg { background: none;}
	#slider-overlay img#logo { max-width: 300px; }
	#our-team li { margin-bottom: 20px; margin-top: 20px; }
	#slider-overlay #site-tagline, #about p, #team-tagline, #work-tagline, #contact-tagline, #quotation h3 { font-size: 18px; line-height: 26px; }
	footer { text-align: center; }
	#how-we-work hr { margin-left: auto; margin-right: auto; }
	.brown-overlay { padding-top: 30px; }
	.person-dialog img { display: block; width: 100%; }
	.person-dialog div .content { padding: 20px; width: 100%; }
	#our-team #team-tagline p { font-size: 18px; margin-bottom: 20px; }
	#core-principles ul, #core-principles ul li { padding: 0; margin: 0; }
	#core-principles ul li { display: block; width: 100%; }
	footer ul li:last-child { margin: 10px 0 0 0px; }
	#our-team { padding-top: 30px; padding-bottom: 30px; }
	a.close-button { background-color: #ce1628; color: white!important; padding: 2px 4px;}
	#how-we-work section p { width: 100%; }
	.cd-testimonials p { font-size: 14px!important; line-height: 18px!important;}
}

@media only screen and (max-width: 480px) {
	#our-team li { width: 100%; display: block; }
	#quotation .container { padding: 0; }
	#how-we-work section { height: 600px; }
}

@media only screen and (max-width: 600px) and (min-width: 320px) {
	#slider-overlay img#logo { margin-top: 120px!important; }
	#slider-overlay #site-tagline { margin-top: 20px; }
	.slides-pagination { display: none; }
}
