﻿

/******************
** BASE STYLES
*******************/


.meeting-form { font-family:"ff-dagny-web-pro",Arial,"Helvetica Neue",Helvetica,sans-serif;	font-size:14px; color: #333333;}
.meeting-form a, .meeting-form a:link { text-decoration:underline; }
.meeting-form * { box-sizing: border-box; }

@media (min-width:650px) {
  .meeting-form.no--padding { margin:0 -20px; }
}
.visually-hidden, .sr-only { position:absolute; overflow:hidden; clip:rect(0 0 0 0); margin:-1px; padding:0; border:0; width:1px; height:1px; }

/******************
** TYPOGRAPHY/BUTTONS
*******************/

.grey--text { color:#888; }


/*** Headers ***/

.meeting-form h1.heading {margin:25px 0 10px; font-size:1em; color:#26728C; text-transform:uppercase; text-align:center; }
.meeting-form h2 { margin:25px 0 10px; font-size:2.2em; color:#26728C; font-weight:normal; }
.meeting-form h2.page-heading { margin-top:0; }
.meeting-form h3 { margin:25px 0 10px; font-size:1em; color:#26728C; }
.meeting-form h3.upper--header { text-transform:uppercase; }
.meeting-form h3.alt--header {color:#333; font-size:1.2em; }

/*** Text/header classes ***/

.meeting-form .large--text { font-size:1.3em; }
.meeting-form .large--text span { font-size:.9em; }
.meeting-form .small--text { font-size:0.9em; }
.meeting-form .italic {font-style:italic;}
.meeting-form .bold {font-weight:bold;}

/*** Buttons ***/

/* Base button styles */
.meeting-form .meeting-form__button, 
.meeting-form .meeting-form__button:link { 
  position:relative;
  padding:16px 0; 
  font-weight:bold; 
  text-align:center; text-decoration:none; text-transform:uppercase; 
  border-radius:5px; 
  transition:all .3s; 
  cursor:pointer;
}

/* Basic Button */
.meeting-form .meeting-form__button.button--basic { display:inline-block; margin-bottom:20px; padding:15px; color:#fff; border:2px solid #1e6fa4; background:#1e6fa4; }
.meeting-form .meeting-form__button.button--basic:hover, .meeting-form .meeting-form__button.button--basic:focus { color:#1e6fa4; background:#fff;   }

/* Alternate white button */
.meeting-form .button--alt { display:inline-block; margin-bottom:20px; padding:15px; border:2px solid #1e6fa4; color:#1e6fa4; background:#fff; }
.meeting-form .button--alt:hover, .meeting-form .button--alt:focus { background:#1e6fa4; border-color:#fff; color:#fff; }

/* Continue Button */
.meeting-form .button--continue { display:block; margin-left:40px; width:209px; color:#fff; border-bottom:4px solid #00131e; background:#1e6fa4;  }
.meeting-form .button--continue:after {
  content:''; display:block;
  position:absolute; top:20px; right:15px;
  width:10px; height:0;
  border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:10px solid #fff;
  transition:all .3s;
}
.meeting-form .button--continue:hover, .meeting-form .button--continue:focus { transform:translateY(2px); border-bottom:4px solid transparent; color:#fff; }
.meeting-form .button--continue:hover:after, .meeting-form .button--continue:focus:after { right:10px; }
/* back Button */
.meeting-form .button--back { display:block; margin-left:40px; width:209px; color:#fff; border-bottom:4px solid #00131e; background:#1e6fa4;  }
.meeting-form .button--back:after {
  content:''; display:block;
  position:absolute; top:20px; left:15px;
  width:10px; height:0;
  border-top:5px solid transparent; border-bottom:5px solid transparent; border-right:10px solid #fff;
  transition:all .3s;
}
.meeting-form .button--back:hover, .meeting-form .button--back:focus { transform:translateY(2px); border-bottom:4px solid transparent; color:#fff; }
.meeting-form .button--back:hover:after, .meeting-form .button--back:focus:after { left:10px; }

/* Badge Specific Buttons */
.meeting-form .button--badge, .meeting-form .button--badge:link { padding:10px 15px; margin-right:15px; }

.meeting-form .button--basic.button--badge { padding-left:55px; }
.meeting-form .button--basic.button--badge svg { position:absolute; left:15px; top:0; width:30px; height:30px; fill:#fff; transition:all .3s; }
.meeting-form .button--badge:hover, .meeting-form .button--badge:focus { background:#fff; border-color:#1e6fa4; }
.meeting-form .button--badge:hover svg, .meeting-form .button--badge:focus svg { fill:#1e6fa4; }

.meeting-form .button--alt.button--badge { padding:10px 28px; }
.meeting-form .button--alt.button--badge:hover, .meeting-form .button--alt.button--badge:focus { background:#1e6fa4; color:#fff; }

.meeting-form__rail .button--alt { box-sizing:border-box; display:block; width:calc(100% -20px); margin:0 10px; font-size:1.1em; }
.meeting-form__rail .button--alt svg { position:relative; top:5px; width:20px; height:20px;}
.meeting-form__rail .button--alt:hover svg { fill:#fff; }


/*** Text seperator ***/

.text__seperator { display: block; position: relative; margin-bottom: 5px; font-weight: bold; text-align: center; }
.text__seperator:before { content:''; display: block; position: absolute; left: 0; top: 9px; width: 100%; height: 1px; background: #ccc; }
.text__seperator span { display: inline-block; position: relative; padding: 0 18px; width: auto; background: #fff; }


/*** Check list ***/

.check--list {list-style-image: url(../../Images/checkfilled.png) }



/*** Split List ***/

.check--list.list--split li { display:list-item; }

@media (min-width:768px) {
  .list--split { column-count: 2; }
  .list--split li { display:inline-block; width:100%; }
}



/*** Unstyled ***/

.list--unstyled { margin:0; padding:10px 0; }
.list--unstyled li { list-style-type:none; padding:3px 0; margin:0; } 


.meeting-form_sumamry-list { list-style:none; margin:0 0 20px; padding:0; max-width:400px; }
.meeting-form_sumamry-list li { overflow:hidden; padding:5px 0; margin:0;}
.meeting-form_sumamry-list li span { display:block; }


@media (min-width:768px) {
  .meeting-form_sumamry-list li span { float:right; }
}

/*** Top Link ***/

.meeting-form .top__link, .meeting-form .top__link:link { position:relative; width:80px; float:right; font-weight:bold; text-transform:uppercase; display:block; text-align:center; text-decoration:none }
.top__link:before { content:''; display:block; width:20px; height:20px; border:1px solid #1e6fa4; border-radius:40px; position:absolute; top:-25px; left:40%; }
.top__link:after { content:''; display:block; border-top:1px solid #1e6fa4; border-right:1px solid #1e6fa4; width:5px; height:5px; transform:rotate(-45deg); position:absolute; top:-15px; left:50%; }





/******************
** MAIN WRAPS/CONTAINER
*******************/


/*** Form Wrap ***/

.meeting-form__wrap { }

@media (min-width:768px) {
  .meeting-form__wrap { display:table; width:100%; }
}


/*** Main Content ***/

.meeting-form__main { padding:20px 15px; vertical-align:top; }

@media (min-width:768px) {
  .meeting-form__main { display:table-cell; padding:20px 40px 20px 35px; }
}


/*** Side Rail ***/

.meeting-form__rail { background:#f7f7f7; }
.meeting-form__rail-logo { text-align:center; }

@media (min-width:768px) {
  .meeting-form__rail { display:table-cell; width:245px; }
}





/******************
** TABLES
*******************/


/*** Table wrap ***/

.meeting-form__table-wrap { border-radius:5px; border:1px solid #999; margin-bottom:20px; }


/*** Main product table ***/

.meeting-form__table { border-radius:5px; margin:0; width:100%; border-collapse: collapse; overflow:hidden;}
.meeting-form__table thead { display:none; background:#fff; }
.meeting-form__table th { border:0; border-left:1px solid #999; padding:15px; background:#fff; border-bottom:1px solid #999; }
.meeting-form__table th:first-child { border-left:0; }
.meeting-form__table tr { border:0; border-top:1px solid #999; }
.meeting-form__table tr:first-child { border:0; }
.meeting-form__table tr, .meeting-form__table tr:nth-child(odd) { background:#FBFBFB; }
.meeting-form__table.no--alternating tr, .meeting-form__table.no--alternating tr:nth-child(odd) { background:#fff; }
.meeting-form__table tr:nth-child(even) { background:#fff; }
.meeting-form__table td { display:block; width:100%; border:0; padding:15px; }
.meeting-form__table td:first-child { vertical-align:top; padding:15px; width:auto; border:0; }
.meeting-form__table tr:first-child td { border-top:0; }
.mobile__label { display:block; }
.meeting-form__table tr.sold--out { background:#FFF3F3; }
.meeting-form__table tr.sold--out strong { color:#BD3C27; }
.meeting-form__table tr.sold--out label:before, .meeting-form__table tr.sold--out label:after { display:none !important; }

@media (min-width:768px) {
  .meeting-form__table { }
  .meeting-form__table thead { display:table-header-group; }
  .meeting-form__table td { display:table-cell; border-left:1px solid #999; width:auto;}
  .meeting-form__table td:first-child { vertical-align:middle; }
  .meeting-form__table tr:first-child td { border-top:0; }
  .mobile__label { display:none; }

  .meeting-form__table .cell--amount {
	  width:150px;
  }  
  .meeting-form__table .cell--checkbox {
	  width:50px;
  }
}


/*** Checkout table ***/

.meeting-form__table.checkout--table th {background:#eef7fc;}



/******************
** FORM STYLES
*******************/


fieldset { margin:0; padding:0; border:0; } 
fieldset legend { padding:0; } 

.formArea .meeting-form__group { width: 100% !important; max-width: 500px; margin: 0 0 15px; padding: 0; display: block; }
    .formArea .row--single-input .meeting-form__group { width: 48% !important; }
    .formArea .meeting-form__label { width: 100%; }
    .formArea .meeting-form__label legend { width: 100%; font-size: 14px; border: none; background: transparent; }
    .formArea .label--radios input[type="radio"] + label:before { width: 18px; height: 18px; border: 2px solid #1373ad; }
    .formArea .sub--header.alt-black { color: #000; font-size: 15px; text-transform: capitalize; margin-bottom: 20px; }

.formArea .meeting-form__col { margin: 20px 0 0; padding: 30px 0 0; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
    .formArea .col-title { color: #444; font-weight: 700; }
    .formArea .form__col + .form__col { border-top: 1px solid #ccc; background: #fafafa; margin: 0 -40px; padding: 35px 40px 0; }
    .formArea .form__col + .form__col .meeting-form__group:last-child { margin: 0; }
/*** Form Rows ***/

.meeting-form__row { padding:5px 0 0; width:100%; }

@media (min-width:768px) {
  .meeting-form__row { display:table; }
}

.formArea .meeting-form__tooltip { margin-top: 4px; vertical-align: middle; }
.tooltip__wrapper p { display: inline-block; vertical-align: middle; }
    .tooltip__wrapper .meeting-form__tooltip { margin-top: -5px; vertical-align: middle; }
    .formArea .meeting-form__tooltip .tooltip__content { box-shadow: 0px 0px 7px 1px #868484; }
    .formArea .meeting-form__tooltip .tooltip__content:before { left: 3%; }
    .formArea .tooltip__panel { overflow: visible !important; }

.formArea .custom-cal { position: relative; }
    .formArea .custom-cal .cal-btn {
        width: 3em;
        height: 3em;
        border: none;
        background: transparent;
        position: absolute;
        top: 40px;
        right: 10px;
        bottom: 0;
        margin: auto;
    }
    .cal-btn .icon-calendar { width: 3em; height: 3em; fill: #1e6fa4; }
/*** Form Group ***/

.meeting-form__group { position:relative; padding:5px 0 15px; }
.meeting-form__group p { margin-top:5px; }

@media (min-width:768px) {
  .meeting-form__group { display:table-cell; padding:5px 45px 15px 0;  }
  
  .meeting-form__row.row--single-input .meeting-form__group { display:inline-block; width:50%; }
  .meeting-form__row.row--dual-inputs .meeting-form__group { width:50%; }
  .meeting-form__row.row--four-inputs .meeting-form__group { display:inline-block; width:49%; }
} 

@media (min-width:1024px) {
	.meeting-form__row.row--four-inputs .meeting-form__group { width:24.6%; }
}

.state--select { display:block; }
.meeting-form__row.row--dual-inputs .meeting-form__group.state--select { width:100%; }
.state--text { display:none; }

.formArea .meeting-form__row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

/*** Donate Form Group ***/

.meeting-form__group.donate--group .donate__option:before { top:16px; }
.meeting-form__group.donate--group .donate__option:after { top:21px; }
.meeting-form__group.donate--group .button--alt { margin-bottom:0; }
.meeting-form__group.other--group { display:none;  }


/*** Labels ***/

.meeting-form__label > span, 
.meeting-form__label legend { display:block; margin-bottom:7px; font-weight:bold; color:#3E4347; }
.meeting-form__label > span > span, 
.meeting-form__label  legend > span { font-weight:normal; }

.registration__selection { position:relative; }
.registration__price { color:#1e6b9f; font-size:1.1em; }
.registration__price-new { display:inline-block; margin-left:10px; color:darkgreen; }

@media (min-width:768px) {
  .registration__selection:before { content:''; display:block; position:absolute; top:-10px; height:calc(100% + 20px); width:1px; background:#666; left:35px; }
  .label--radios.registration__selection input[type="radio"] + label { min-width:300px; font-size:1.2em; padding-left:50px; }
  .label--radios.registration__selection.label--large input[type="radio"] + label {  font-size:1.4em; font-weight:bold; }
  .label--checkbox.registration__selection input[type="checkbox"] + label { min-width:300px; font-size:1.2em; padding-left:50px; }
  .label--checkbox.registration__selection.label--large input[type="checkbox"] + label {  font-size:1.4em; font-weight:bold; }
}


/* General input */

.meeting-form input[type="text"], 
.meeting-form input[type="number"],
.meeting-form input[type="password"] { padding:5px; border:1px solid #b9bbba; border-radius:5px; width:100%; background-color:#f0f5f8; transition:all .3s; }
.meeting-form input[type="text"],
.meeting-form input[type="number"],
.meeting-form input[type="password"] { height:40px; }
.meeting-form input[type="text"]:focus,
.meeting-form input[type="number"]:focus,
.meeting-form input[type="password"]:focus { border:2px solid #26728c }
.meeting-form input[type="text"].input--small { width:80px; }

.twitter--input, .linkedin--input { margin-bottom:5px; background-repeat:no-repeat; background-position:right center; }
.twitter--input { background-image:url(../../Content/images/twitter.png); }
.linkedin--input { background-image:url(../../Content/images/linkedin.png); }

.meeting-form input[type="text"].promo__code.code--valid { border:2px solid darkgreen; color:darkgreen; }


/* Textarea */

.meeting-form textarea { padding:5px; border:1px solid #b9bbba; border-radius:5px; width:100%; height:80px; background:#f0f5f8; transition:all .3s; }
.meeting-form textarea:focus { border:2px solid #26728c }


/* Input Errors */
.meeting-form .marketcodevalidation--error input[type="text"] { border:2px solid #f00 }
.meeting-form .marketcodevalidation--error .error__message { color:#f00; width:650px }
.meeting-form .validation--error input[type="text"],
.meeting-form .validation--error input[type="password"] { border:2px solid #f00 }
.meeting-form .validation--error .label--required span span { color:#f00; }
.meeting-form .validation--error .meeting-form__faux-trigger { border:1px solid #f00; }
.validation--error .label--checkbox legend, .validation--error .label--checkbox .required__error-message { color:red; }
.validation--error .label--radios legend, .validation--error .label--radios .required__error-message { color:red; }
.error__message { position:absolute; bottom:-11px; font-size:.9em; }
.meeting-form .evalidation--error input[type="text"]  { border:2px solid #f00 }
.meeting-form .evalidation--error .meeting-form__faux-trigger { border:1px solid #f00; }
.meeting-form .evalidation--error .label--required span span { color:#f00; }
/* Select boxes/Faux Select */

.meeting-form select { display:none; }

.meeting-form__faux-trigger { 
  display:block; 
  position:relative; 
  border:1px solid #b9bbba; border-radius:5px;
  height:40px; width:100%;  
  font-weight:bold; color:#4D5759;
  text-align:left; 
  background:#f0f5f8; 
}
.meeting-form__faux-trigger:before {
  content:'▼'; display:block;
  position:absolute; top:0; right:0;
  padding:11px 0;
  border-left:1px solid #1970a6;
  width:40px; 
  color:#1970a6;
  text-align:center;
}

.meeting-form__faux-list { position:relative; }
.meeting-form__faux-list ul { 
  display:none;
  position:absolute; top:40px; z-index:99; 
   width:100%; 
  list-style:none; 
  margin:0; padding:0; 
  max-height:200px;
  border-radius:0 0 5px 5px; border:1px solid #b9bbba; border-top:0;
  overflow-y:auto;
}
.meeting-form__faux-list li { display:block; width:100%; background:#f0f5f8; margin:0; }
.meeting-form__faux-list li a, .meeting-form__faux-list li a:link { text-decoration:none; display:block; width:100%; background:#f0f5f8; border:0; padding:10px; margin:0; text-align:left; font-size:.9em; font-weight:bold; color:#596066; }
.meeting-form__faux-list li:nth-child(odd) a { background:#e7ecef; }



/* Radio buttons */

.label--radios { }
.label--radios input[type="radio"] { position:absolute; left:-9999em; }
.label--radios input[type="radio"] + label { display:block; position:relative; padding-bottom:15px; padding-left:28px; }
.label--radios input[type="radio"] + label:before,
.label--radios input[type="radio"] + label:after { content:''; display:block; position:absolute; }
.label--radios input[type="radio"] + label:before { top:0; left:0; width:16px; height:16px; border:2px solid #1373ad; border-radius:32px; transition:all .4s; }
.label--radios input[type="radio"] + label:after { top:5px; left:5px; width:10px; height:10px;  border-radius:16px; background:#fff; transition:all .4s; }
.label--radios input[type="radio"]:checked + label:before { border:2px solid #ccc; }
.label--radios input[type="radio"]:checked + label:after { background: #1373ad; }


/* Check boxes */

.label--checkbox { }
.label--checkbox input[type="checkbox"] { position:absolute; left:-9999em; }
.label--checkbox input[type="checkbox"] + label { display:block; position:relative; padding-bottom:15px; padding-left:28px; }
.label--checkbox input[type="checkbox"] + label:before,
.label--checkbox input[type="checkbox"] + label:after { content:''; display:block; position:absolute; }
.label--checkbox input[type="checkbox"] + label:before { top:0; left:0; width:16px; height:16px; border:1px solid #ccc; background:#eee; border-radius:5px; transition:all .4s; }
.label--checkbox input[type="checkbox"] + label:after { top:1px; left:1px; width:14px; height:14px; transition:all .4s; opacity:0; background: url(../../images/check.png) no-repeat center center; }
.label--checkbox input[type="checkbox"]:checked + label:before { background: #1373ad; }
.label--checkbox input[type="checkbox"]:checked + label:after { opacity:1; }
.pay--footer .label--checkbox input[type="checkbox"]+label {
			display: inline-block;
			padding-bottom: 0;
			padding-right: 8px;
	}

/*** Search Box ***/
	
.search-box {
	position: relative;				
	margin-bottom: 1rem;
}
 
.search-box__submit  {
	color: white;
	background: #1e6fa4;
	font-size: 0.875rem;
	font-weight: bold;
	text-transform: uppercase;
	padding: 0 1rem;
	border: none;
	border-radius: 6px;
	position: absolute;
	right: 0;
	top: 0;
	height: 40px;

}
.search-box__submit:after {
	content: none;
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 10px;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 10px solid #fff;
	transition: all .3s;
	transform: translateY(-50%);						
}
.search-box__submit:hover:after {
	right: -3px;		
}
.search-box__submit svg.icon {
	fill: white;
	width: 1.25rem;
	height: 1.25rem;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}
.search-box__submit > span {
	line-height: 40px;
	padding-right: 0.75rem;
	display: none;
}
.search-box__submit input {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 40px;
	opacity: 0;		
	cursor: pointer;	
}

@media (min-width: 768px) {
	.search-box__submit:after {
		content: " ";
	}
	.search-box__submit svg.icon {
		display: none;
	}
	.search-box__submit > span {				
		display: block;
	}
}



/******************
** PANELS / ACCORDIONS / TOGGLES
*******************/


/*** Main panel toggle ***/

.form-panel__button { 
  display:block; 
  position:relative;
  padding:15px; margin-bottom:7px; 
  border:0; border-radius:5px; 
  width:100%; 
  color:#fff; font-weight:bold; 
  text-align:left; text-transform:uppercase; 
  background:#1e6fa4; 
}
.form-panel__button:before, .form-panel__button:after { content:''; display:block; position:absolute;  width:30px; height:30px; }
.form-panel__button:before { right:10px; top:7px; border-radius:60px;  background:#fff; }
.form-panel__button:after { content:'+'; top:3px; right:10px; color:#1e6fa4; font-weight:bold; font-size:2em; text-align:center; }
.form-panel__button + .form-panel__pane { display:none; }

.meeting-form__panel .form-panel__button.active { background:#777; }
.meeting-form__panel .form-panel__button.active:after { content:'-'; top: -5px; right:10px; font-size:3em; color:#777; }

.meeting-form__panel .form-panel__pane {
	position:relative;
}

/*** Rail Toggle ***/

.meeting-form__rail-information { }

.meeting-form__rail-information a, .meeting-form__rail-information a:link { text-decoration:none; }

.meeting-form__rail-information button { 
  display:block; 
  position:relative; 
  padding:18px 0; 
  border:0; border-top:1px solid #59a7D5; border-bottom:2px solid #59a7D5; 
  width:100%; 
  color:#1E6B9F; font-weight:bold; 
  text-transform:uppercase; 
  background:transparent; 
  cursor:pointer; 
}
.meeting-form__rail-information button:before,
.meeting-form__rail-information button:after { content:''; display:block; position:absolute; }
.meeting-form__rail-information button:before { top:15px; left:20px; width:15px; height:15px; border:1px solid #1e6b9f; border-radius:30px; }
.meeting-form__rail-information button:after { top:22px; left:26px; width:4px; height:4px; border-left:1px solid #1e6b9f; border-top:1px solid #1e6b9f; transform:rotate(45deg); }
.meeting-form__rail-information button.active { background:#1e6b9f; color:#fff; }
.meeting-form__rail-information button.active:before { border-color:#fff; }
.meeting-form__rail-information button.active:after { top:19px; border-right:1px solid #fff; border-bottom:1px solid #fff; }

.meeting-form__rail-information ul { list-style:none; margin:0; padding:0;  }
.meeting-form__rail-information ul li { list-style:none; margin:0; padding:0; }
.meeting-form__rail-information ul li a { list-style:none; display:block; padding:10px 15px; color:#1e6b9f; }
.meeting-form__rail-information ul li a:hover, .meeting-form__rail-information ul li a:focus { text-decoration:underline; }
.meeting-form__rail-information svg { width:20px; height:20px; fill:#1e6b9f; display:inline-block; position:relative; top:4px; margin:0 4px; }

/* Payment Summary */
.meeting-form__rail-information ul.meeting-form__rail-summary  { padding:15px; }
.meeting-form__rail-information .meeting-form__rail-summary li { padding:3px 0; overflow:hidden; }
.meeting-form__rail-information .meeting-form__rail-summary li span { float:right; }





/******************
** PANELS / ACCORDIONS / TOGGLES
*******************/

.meeting-form__tooltip { display:inline-block; position:relative; }
.meeting-form__tooltip a { }
.meeting-form__tooltip a svg { width:15px; height:15px; fill:#1e6b9f }
.meeting-form__tooltip .tooltip__content { 
  position:absolute; top:30px; left:-175px; z-index:9999; 
  opacity:0; 
  width:350px; max-height:0;
  
  border:1px solid #eee; border-radius:8px;
  font-weight:normal;
  overflow:hidden; 
  box-shadow:3px 3px 3px #ccc;
  background:#efefef; 
}
.meeting-form__tooltip .tooltip__content:before { 
  content:''; display:block; 
  position:absolute; top:-10px; left:49%; 
  border-left:10px solid transparent; border-right:10px solid transparent; border-bottom:10px solid #efefef; 
}

.meeting-form__tooltip .tooltip__content.active--tip { overflow:visible; opacity:1; max-height:none; padding:15px 40px 15px 20px; }
.meeting-form__tooltip .tooltip__close { 
  cursor:pointer; 
  background:transparent; text-align:center; 
  width:25px; height:25px; 
  position:absolute; top:10px; right:10px; 
  border-radius:50px; z-index:15; 
  border:1px solid #1e6b9f 
}
.meeting-form__tooltip .tooltip__close:before, .meeting-form__tooltip .tooltip__close:after {
  content:''; display:block;
  position:absolute; left:4px; top:11px;
  width:15px; height:1px;
  background:#1e6b9f;
}
.meeting-form__tooltip .tooltip__close:before { transform:rotate(45deg) }
.meeting-form__tooltip .tooltip__close:after { transform:rotate(-45deg) }

.meeting-form__tooltip.security--tip { position:absolute; top:-30px; right:0px; font-size:.9 }
.meeting-form__tooltip.security--tip a { font-size:.8em }

@media (min-width:768px) {
  .meeting-form__tooltip .tooltip__content { 
    width:400px; left:-200px;
  }
}



/******************
** MISC CONTAINERS/BOXES/WRAPS
*******************/


/* Payment Box */
.meeting-form__content-box { margin:0 0 15px; border:1px solid #ccc; border-radius:5px; }
.meeting-form__box-title { padding:15px; background:#eee; border-radius:5px 5px 0 0; border-bottom: 1px solid #ccc; }
.meeting-form__box-content { padding:15px; }


/* Callout box */
.meeting-form__callout-box { margin-bottom:20px; padding:20px; border:2px solid #1e6b9f; border-radius:5px; }
.meeting-form__callout-box h3 { margin-top:0; font-size:1.4em; text-transform:none }
.meeting-form__callout-box h4 { color:#1e6b9f; font-size:1.2em; }
.meeting-form__callout-box .callout__padding { padding-left:30px; }

/* Payment Column */
.box__payment-col { text-align:center; }
.box__payment-col:first-child { position:relative; text-align:left; border-bottom:1px solid #1e6b9f; padding-bottom:15px; margin-bottom:15px; }
.meeting-form__content-box .button--continue { margin-bottom:15px; }

@media (min-width:768px) {
  .meeting-form__box-content.payment--box { display:table; width:100%; }
  .box__payment-col { display:table-cell; width:30%; vertical-align: middle;  }
  .box__payment-col:first-child { position:relative; width:70%; text-align:left; border:0; margin:0; padding:0 30px 0 0; }
  .box__payment-col:first-child:after { content:''; display:block; position:absolute; top:0; right:0; height:100%; width:1px; background:#5baceb }
}

.meeting-form__profile-list {  }
.meeting-form__profile-list ul { list-style:none; margin:0; padding:1%;}
.meeting-form__profile-list li { display:block; padding:7px 0; font-size:13px; }
.meeting-form__profile-list li strong { display:block; }

@media (min-width:480px) {
	.meeting-form__profile-list li { display:inline-block; width:49%;}
}

@media (min-width:960px) {
	.meeting-form__profile-list li {width:24%;}
}

.meeting-form__survey-list { padding:3%; }

.meeting-form__opt-out { padding:5px 20px; border:1px solid #B4CFE2; background:#F0F5F8; border-radius:5px; }
.meeting-form__opt-out .meeting-form__group { padding-bottom:0; font-size:.95em; }

/* Payment receipt */
.meeting-form__pay-receipt { background:#fff; padding:2px; margin:10px; border:2px solid #999; }
.meeting-form__pay-receipt h3 { display:block; text-align:center; padding:15px 0; border-bottom:2px solid #ccc; color:#333; margin:0; text-transform:uppercase;}
.meeting-form__pay-receipt .print__button { display:block; text-align:center; margin:5px auto 20px; font-weight:bold; }

.meeting-form .meeting-form__content-box .button--continue { width:240px; }


/******************
** MODAL
*******************/

.meeting-form__modal-overlay { background:rgba(0,0,0,0.5); position:fixed; top:0; left:0; height:0; width:100%; z-index:9; opacity:0; transition:opacity .3s;  }

.meeting-form__modal { 
  position:fixed; top:7%; left:50%; z-index:10; 
  margin-left:-300px; 
  border:1px solid #666; border-radius:5px; 
  width:300px; height:0;
  background:#fff; 
  opacity:0; 
  transform:scale(1.3);  
  overflow:hidden; 
  transition:opacity .3s, transform .3s; 
}
.meeting-form__modal-header { position:relative; padding:5px 20px; background:#eee; font-weight:bold; }
.meeting-form__modal-contents { padding:20px; background:#fff; overflow:hidden; }

.modal__two-col { display:table; width:100%; }
.modal__col { display:table-cell; padding:10px; position:relative; }
.modal__col:first-child:after { content:''; display:block; position:absolute; top:6%; right:0; height:86%; background:#1e6b9f  }
.modal__col .meeting-form__group { padding-right:0; }

.meeting-form__modal .meeting-form__button { float:none; }


.meeting-form__show-overlay .meeting-form__modal-overlay { opacity:1; transform:scale(1); height:100vh; }
.meeting-form__show-overlay .meeting-form__modal { opacity:1; transform:scale(1); height:525px; }

.meeting-form__close-modal { width:20px; height:20px; background:#555; position:absolute; right:5px; top:2px; border-radius:40px; border:0; }
.meeting-form__close-modal:before, .meeting-form__close-modal:after { content:''; display:block; position:absolute; top:9px; left:5px; width:10px; height:1px; background:#eee; }
.meeting-form__close-modal:before { transform:rotate(45deg) }
.meeting-form__close-modal:after { transform:rotate(-45deg) }



/******************
** ANIMATIONS / KEYFRAMES
*******************/


/* Animate steps bar width */
@-webkit-keyframes barAnimate {
    from { width:0 }
    to { width:96px; }
}

@keyframes barAnimate {
    from { width:0 }
    to { width:96px; }
}


/* Clip animation for steps circle */

@-webkit-keyframes showCircle {
    from { clip:rect(0,-100px,100px,0); }
    to { clip:rect(0,100px,100px,0); }
}

@keyframes showCircle {
    from { clip:rect(0,-100px,100px,0); }
    to { clip:rect(0,100px,100px,0); }
}


/* Fade Out */

@-webkit-keyframes fadeOut {
    from { opacity:1 }
    to { opacity:0 }
}

@keyframes fadeOut {
    from { opacity:1 }
    to { opacity:0 }
}





/******************
** STEPS
*******************/



.meeting-form__steps {
		padding: 20px 40px;
		border-bottom: 1px solid #ccc;
		overflow-x: auto;
		max-width: 100%;
}

.meeting-form__steps a,
.meeting-form__steps a:link {
		text-decoration: none;
}

.meeting-form__steps ol {
		position: relative;
		/*left: -15px;*/
		width: 100%;
		list-style: none;
		margin: 0;
		padding: 0;
		/*width: 980px;*/
		display: flex;
		justify-content: space-between;
}

.meeting-form__steps li {
		display: block;
		/*float: left;*/
		position: relative;
		text-align: left;
		/*width: 125px;*/
}
.meeting-form__steps li:not(:last-child) {
	width: 50%;
}

.meeting-form__steps li:before,
.meeting-form__steps li:after {
		content: '';
		display: block;
		position: absolute;
		left: 47px;
		top: 22px;
		height: 2px;
}

.meeting-form__steps li:before {
		/*width: 96px;*/
		width: 100%;
		background: #ddd;
}

.meeting-form__steps li:after {
		width: 0;
}

.meeting-form__steps li:last-child:after,
.meeting-form__steps li:last-child:before {
		display: none
}

.meeting-form__steps .meeting-form__step-group {

}
.meeting-form__steps .meeting-form__step-group:before {
			
}

.meeting-form__steps .steps__image {
	background: white;
	position: relative;
	margin: 0 0 5px 0;
	width: 45px;
	height: 45px;
	border-radius: 80px;
	border: 2px solid #ddd;
}
.meeting-form__steps .steps__image:before {
	content: '';
	display: block;
	clip: rect(0, 100px, 0, 0);
	position: absolute;
	top: -4px;
	left: -4px;
	margin: 0 auto 5px;
	width: 41px;
	height: 41px;
	border-radius: 80px;
	border: 4px solid rgb(30, 111, 164);
}

.meeting-form__steps .steps__image svg {			
		position: relative;
		top: 9px;
		left: 50%;
		width: 22px;
		height: 22px;
		fill: #666;
		transform: translateX(-50%);
}


.meeting-form__steps span {
		font-weight: bold;
		color: #666;
}

.meeting-form__steps .step--active:after {
		background: rgb(30, 111, 164);
		background: -moz-linear-gradient(left, rgba(30, 111, 164, 1) 1%, rgba(221, 221, 221, 1) 100%);
		background: -webkit-linear-gradient(left, rgba(30, 111, 164, 1) 1%, rgba(221, 221, 221, 1) 100%);
		background: linear-gradient(to right, rgba(30, 111, 164, 1) 1%, rgba(221, 221, 221, 1) 100%);
}

.meeting-form__steps .step--active:before {
		background: #1E6B9F;
}

.meeting-form__steps .step--active span {
		color: #1E6B9F;
}

.meeting-form__steps .step--active div {
		border-color: #1E6B9F;
}

.meeting-form__steps .step--active .steps__image svg {
		fill: #1E6B9F
}

.meeting-form__steps .step--current:after {
		background: rgb(30, 111, 164);
		background: -moz-linear-gradient(left, rgba(30, 111, 164, 1) 1%, rgba(221, 221, 221, 1) 100%);
		background: -webkit-linear-gradient(left, rgba(30, 111, 164, 1) 1%, rgba(221, 221, 221, 1) 100%);
		background: linear-gradient(to right, rgba(30, 111, 164, 1) 1%, rgba(221, 221, 221, 1) 100%);
		-webkit-animation-name: barAnimate;
		-webkit-animation-duration: .7s;
		-webkit-animation-delay: 1.4s;
		-webkit-animation-fill-mode: forwards;
		animation-name: barAnimate;
		animation-duration: .7s;
		animation-delay: 1.4s;
		animation-fill-mode: forwards;
}

.meeting-form__steps .step--current span {
		color: #1e6fa4;
}

.meeting-form__steps .step--current .steps__image svg {
		fill: #1e6fa4;
}

.meeting-form__steps .step--current div:before {
		clip: rect(0, 100px, 100px, 0);
		-webkit-animation-name: showCircle;
		-webkit-animation-duration: 3s;
		animation-name: showCircle;
		animation-duration: 3s;
}

.meeting-form__steps .step--prev {}

.meeting-form__steps .step--prev:before {
		background: rgb(89, 167, 213);
		background: -moz-linear-gradient(left, rgba(89, 167, 213, 1) 1%, rgba(221, 221, 221, 1) 100%);
		background: -webkit-linear-gradient(left, rgba(89, 167, 213, 1) 1%, rgba(221, 221, 221, 1) 100%);
		background: linear-gradient(to right, rgba(89, 167, 213, 1) 1%, rgba(221, 221, 221, 1) 100%);
}

.meeting-form__steps .step--prev:after {
		background: #1E6B9F;
		-webkit-animation-name: barAnimate;
		-webkit-animation-duration: .7s;
		-webkit-animation-delay: .2s;
		-webkit-animation-fill-mode: forwards;
		animation-name: barAnimate;
		animation-duration: .7s;
		animation-delay: .2s;
		animation-fill-mode: forwards;
}

.join-form__steps .step--prev div:before {
		clip: rect(0, 100px, 100px, 0);
		-webkit-animation-name: fadeOut;
		-webkit-animation-duration: .7s;
		-webkit-animation-fill-mode: forwards;
		animation-name: fadeOut;
		animation-duration: .7s;
		animation-fill-mode: forwards;
}
/*  Login */

.meeting-form .icon-show_password {
	width: 17px;
	height: 17px;
	fill: #26728C;
	top:3px;
	position:relative;
}

.meeting-form .icon-question_mark {
	width: 20px;
	height: 20px;
	fill: #666666;
	top:3px;
	position:relative;
}

.meeting-form__main-login {
	padding:0;
}

.meeting-form__login h1.heading {
	margin: 25px 0 10px;
    margin-top: 25px;
	font-size: 2.2em;
	text-transform:none;
	font-weight:normal;
}

.meeting-form__login > div {
	padding:20px;
}

.meeting-form__login .login--fields-box {
	width:260px;
	margin:0 auto;
	text-align:center;
}

.meeting-form__group-login {
	position:relative;
	text-align:left;
	display: block;
	padding:5px 0 15px 0;
}

.meeting-form__login .login--text {
	background:transparent url(../../images/login-bg.jpg) no-repeat;
	background-sizE:cover;
}

.forgot--link {
	position:absolute;
	right:0;
	top:2px;
}

.forgot--link,
.show-password--link {
	font-size:13px;
	color:#26728C;
	text-decoration:none !important;
}

.forgot--link:hover,
.forgot--link:focus,
.show-password--link:hover,
.show-password--link:focus {
	text-decoration:underline !important;
}

.meeting-form__login .label--checkbox {
	display:inline-block;
	margin-top:10px;
}

.meeting-form__login .login--note {
	padding:15px 10px 15px 44px;
	border-radius:5px;
	background:#dfeff9;
	background-position:15px 15px;
	position:relative;
}

.meeting-form__login .login--note svg {
	position:absolute;
	top:14px;
	left:14px;
}

.meeting-form__login .button--continue {
	margin:0 auto;
}

.meeting-form__login .login--text p,
.meeting-form__login .login--text ul {
	font-size:16px;
}

.meeting-form__login .login--text h2 {
	color:#232323;
}

.meeting-form__login .login--text .meeting-form__button {
	background:transparent;
	border:2px solid #232323;
	padding:16px 32px 16px 16px;
	font-size:14px;
	font-family:"ff-dagny-web-pro", Arial, "Helvetica Neue", Helvetica, sans-serif;
	margin:0 30px 20px 0;
}

.meeting-form__login .login--text .meeting-form__button:after {
    content: '';
    display: block;
    position: absolute;
    top: 20px;
    right: 5px;
    width: 10px;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #232323;
    transition: all .3s;
}

.meeting-form .login--text .meeting-form__button:hover,
.meeting-form .login--text .meeting-form__button:focus {

    transform: translateY(2px);
 }

.meeting-form__login .additional--link {
	text-transform:uppercase;
	font-weight:bold;
	color:#232323;
	white-space:nowrap;
}

@media (min-width: 768px) {
	
	.meeting-form__login {
		display:table;
		width:100%;
	}
	.meeting-form__login > div {
		display:table-cell;
		width:50%;
		padding:40px;
	}
	
	.meeting-form__login > .login--fields {
		width:60%;
	}

	.meeting-form__login > .login--text {
		width:40%;
	}	
	
}

/*  Step 1 */

.membership__info {
	border: 1px solid #EBEBEB;
	padding: 1.5rem 1rem;
	list-style: none;				
}
.membership__info li {
	display: block;		
}
.membership__info li:not(:first-child) {
	padding-top: 2rem;
}
.membership__info strong {
	display: block;
}

@media (min-width: 768px) {

	.membership__info li {
		display: inline-block;		
	}
	.membership__info li:not(:first-child) {
		padding-top: 0rem;
		padding-left: 3rem;
	}
		
}
@media (min-width: 848px) {
	.formArea .custom-cal .cal-btn { top: 22px; }
}
@media (min-width: 1025px) {
    .meeting-form.no--padding { margin: 0 -20px; }
    .formArea .meeting-form__col { margin: 20px -15px 0; }
}
@media (max-width: 767px) {
    a.meeting-form__button.button--continue.button--validate { margin: 0; }
    .formArea .meeting-form__tooltip .tooltip__content { width: 275px; left: -90px; }
    .formArea .meeting-form__tooltip .tooltip__content:before { left: 31.5%; }
}
@media (min-width: 768px) {
	.meeting-form .button--alt + .button--alt {
		margin-left:20px;
	}
}
  
.meeting-form .group--radio-options-horizontal .label--radios input[type="radio"] + label {
	display:inline-block;
	margin-right:50px;
}


		.formArea .meeting-form__col .sub--header { width: 100%; }
		.formArea .form__col { width: 50%; padding: 25px 25px 0; }
		.formArea .form__col + .form__col { margin: 0; padding: 69px 26px 25px; border: 0; border-left: 1px solid #ccc; }
			.form__col .sub--header { margin-bottom: 30px; }

    .formArea .meeting-form__tooltip .tooltip__content { left: -15px; }

    .formArea .meeting-form__row.full-width .meeting-form__group { padding-right: 10px; }
        .formArea .meeting-form__row.full-width .meeting-form__group:last-child { padding: 0}
        .formArea .custom-cal .cal-btn { top: 43px; }

.meeting-form__row .meeting-form__row {
	padding:0;
}

@media (min-width:768px) {
	.meeting-form__row .meeting-form__group-alt .meeting-form__group {
		width:auto; 
	}
 
	.meeting-form__group .meeting-form__group {
		padding:0 15px 0 0;
	}

	.meeting-form__group .meeting-form__group:last-child {
		padding:0 0 0 0;
	}
}

.meeting-form .meeting-form__label .label-alt {
	color:#888;
	font-size:13px;
	font-weight:normal;
	position:absolute;
	bottom:-11px;
}

@media (min-width:768px) {
	.meeting-form .meeting-form__label .label-alt {
		bottom:-25px;
	}
	.meeting-form__row .mobile--group .meeting-form__group:first-child { width:120px; }
}

.meeting-form .field__info {
	color:#888;
	font-size:13px;
}

@media (min-width:768px) {
	.meeting-form .username--group .button--alt {
		top:36px;
		padding:10px 30px;
	}
}

/*  Step 2 */

.meeting-form .date--input {
	position:relative;
	width:100%;
}

.meeting-form .icon-calendar_icon {
	position:absolute;
	top:5px;
	right:5px;
	width: 28px;
	height: 28px;
	fill: #26728C;	
}


/*  Step 3 */

.meeting-form .no-records {
	border:1px solid #999;
	padding:10px 15px;
	border-radius:5px;
}

.meeting-form__table .meeting-form__group {
	padding:0;
}

.meeting-form__table .meeting-form__group .label--radios {
	margin-top:10px;
}

.meeting-form__table .meeting-form__group .label--radios input[type="radio"] + label {
	padding-bottom:10px;
}

.label--radios input[type="radio"]:disabled + label {
	color:#888;
}

.label--radios input[type="radio"]:disabled + label:before {
	border:2px solid #888;
}

@media (min-width:768px) {
	.meeting-form__table .meeting-form__group {
		display:inline-block;
		float:right;
	}
	.meeting-form__table .meeting-form__group .label--radios {
		margin-top:0px;
	}	
	.meeting-form__table .meeting-form__group .label--radios input[type="radio"] + label {
		padding-bottom:0;
	}	
}

/*  Step 4 */

.meeting-form .link-edit {
	color:#fff;
	position:absolute;
	top:-39px;
	left:85px;
}
.meeting-form .elink-edit {
	color:#fff;
	position:absolute;
	top:-39px;
	left:220px;
}
.meeting-form__profile-list {
	border:1px solid #999;
	border-bottom:0;
}

.meeting-form__profile-list:first-of-type {
	border-radius:5px 5px 0 0;
}

.meeting-form__profile-list:last-child {
	border-radius: 0 0 5px 5px;
	border-bottom:1px solid #999;
	margin-bottom:20px;
}

.meeting-form__profile-list h3 {
	margin-left:1%;
	margin-bottom:0;
	color:#333;
}

.meeting-form .data--table a {
	color:#c23a2c;
}

.meeting-form .data--table th {
	text-align:left;	
	border-left:0;
}

.meeting-form .data--table tfoot {
	text-align:right;
}

.meeting-form .data--table tfoot tr  {
	border-top:1px solid #999;
}

.meeting-form .data--table tfoot tr td {
	background:#f4f4f4;
}

@media (min-width:768px) {
	.meeting-form .data--table tr {

	}
	.meeting-form .data--table td {
		padding:10px 15px;
	}	
}

.meeting-form__group.promo--group + .button--alt  {
	padding:10px 30px;
}

.meeting-form__group.promo--group {
	padding-right:10px;
}

/*  Step 5 */

.secure--page {
	font-size:12px;
}

@media (min-width:768px) {
	.secure--page {
		float:right;
		margin-top:10px;		
	}
	
	.secure--page img {
		vertical-align:middle;
	}
}

.meeting-form__box-content.payment--box .meeting-form__label > span > span,
.employment--box .meeting-form__label > span > span {
	display:block;
}

.meeting-form__box-content.payment--box .field,
.employment--box .field {
	position:relative;
}

.meeting-form__box-content.payment--box .field .error__message,
.employment--box .field .error__message {
	width:100%;
	left:0;
}

.meeting-form__box-content.payment--box .label--checkbox label,
.employment--box .label--checkbox label {
	padding-bottom:0;
}

.meeting-form__box-content.payment--box div:not(".group--select") .field  .error__message {
	bottom: -18px;
}

.meeting-form .validation--error .field {
	min-height:50px;
}

@media (min-width:768px) {
	 
	
	.meeting-form__box-content.payment--box .meeting-form__group {
		padding-right:15px;
	}

	.meeting-form__box-content.payment--box .meeting-form__label > span:first-child {
		width:100px;
		float:left;
		text-align:right;
	}
	.employment--box .meeting-form__label > span:first-child {
		width:170px;
		float:left;
		text-align:right;
	}
	

	.meeting-form__box-content.payment--box .field	{
		display:inline-block;
		width:calc( 100% - 220px );
		margin-left:20px;
	}
	.employment--box .field	{
		display:inline-block;
		width:calc( 100% - 190px );
		margin-left:20px;
	}

	
	.meeting-form__box-content.payment--box .meeting-form__group.group--select,
	.employment--box .meeting-form__group.group--select {
		padding-top:0;
	}
		
	.meeting-form__tooltip.security--tip {
		width:100px;
		right:-120px;
		top:0;
	}

}

/*  Step 6 */

.meeting-form .print__button {
	color: #26728C;
	text-transform:uppercase;
	font-weight:bold;
}

.meeting-form .print__button svg {
    width: 20px;
    height: 20px;
    fill: #26728C;
    display: inline-block;
    position: relative;
    top: 4px;
    margin: 0 4px;
}
.aiche-requiredblock .aiche-reqblock-inner {
    position: relative;
    width: 96%;
    margin: .5em auto;
    border: 1px solid #FF0000;
    border-radius: 10px;
    padding: 10px;
    padding-inline-start: 30px;
    margin-left: 10px;
    font-size: 14px;
    color: #FF0000;
}
.formArea .custom-cal { position: relative; }
    .formArea .custom-cal .cal-btn {
        width: 3em;
        height: 3em;
        border: none;
        background: transparent;
        position: absolute;
        top: 40px;
        right: 10px;
        bottom: 0;
        margin: auto;
    }
    .cal-btn .icon-calendar { width: 3em; height: 3em; fill: #1e6fa4; }