@charset "UTF-8";
/* CSS Document */


/**************************************************
 *                                                *
 *                                                *
 *                    GLOBAL                      *
 *                                                *
 *                                                *
 **************************************************/


:root {
	
	/* colors */
	
    --yellow: #FFCC33;
    --royalblue: #0075BE;
    --chartreuse: #B3C642;
    --dark: #313131;
    --red: #D0433A;
    --orange: #F99F1C;
    --salmon: #F36F45;
    --bluegray: #B3C4CC;
    --aqua: #3DABA4;
    --slate: #7B858F;
	--accessible-slate: #6C757F;
    --lightblue: #82BCE5;
	--white50: #FFFFFF90;
	
	/* fonts */
	
	--primary-font: arial, sans-serif;

	
}

html {
	
	font-size: 16px !important;
	line-height: 1.5 !important;
}



.form_pages a {
	
	color: var(--dark) !important;
}

/* headings */


form h1, form h2, form h3, form h4, form h5, form h6 {
	
	color: var(--dark);
	font-family: var(--primary-font) !important;
	
}

form h1 { 
	
	font-size:1.75rem !important;
	line-height: 1.25 !important;
}

form h2 { 
	
	font-size:1.5rem; 
	line-height: 1.25;
}

form h3 { 
	
	font-size:1rem; 
	line-height: 1.5;
}

form h4 { 
	
	font-size:1rem;
	line-height: 1.5;
}

form h5 { 
	
	font-size:1rem;
	line-height: 1.5;
}

form h6 { 
	
	font-size:1rem;
	line-height: 1.5;
}


/* buttons */

form button {
	
    background-color: var(--yellow) !important;
    border-radius: 3px;
    color: var(--dark);
    cursor: pointer;
    font-size: inherit;
    font-weight: bold;
    line-height: 1.4;
    padding: 0.5rem 1rem;
    display: inline-block;
    text-align: center;
	border:3px solid var(--yellow);
	
}

form button:hover {
	
	background-color: var(--dark) !important;
	color: white;
	
}



/**************************************************
 *                                                *
 *                                                *
 *                    FORMS                       *
 *                                                *
 *                                                *
 **************************************************/


/* Slate form headings */

div.form_h2 {

margin:0;

}

div.form_h2 .form_label, div.form_header .form_label{
	
		font-size:1.5rem !important;
	line-height: 1.25 !important;
	color: var(--dark) !important;
	font-family: var(--primary-font) !important;
	background:none;
	font-weight: normal;
	margin:0.5rem 0;
	
		
}

form label, div.form_label {
	
	color: var(--dark) !important;
	
}


form th {
	background: transparent !important;
}



/* replicate block heading */

tr.header>th, tr.header>td, .header, tr.column>th, tr.column>td, .column {
   background-color: transparent !important;
    font-weight: normal !important;
    
}

.replicate_number {
	
	font-size:1.5rem;
	line-height: 1.25; 
	color: var(--dark); 
	font-family: var(--primary-font); 
	font-weight: normal;
	
}

.replicate_destination {
	
	border:1px solid var(--dark);
	border-radius: 6px;
	padding:2rem;
	display: grid !important;
	margin: 0.5rem 0 1.5rem;
	position: relative;
}

.replicate_insert:hover, .replicate_delete:hover { /** override external theme link hover style **/
    background: none !important;
}

.form_label {

	font-size:1rem !important;
	line-height: 1.5 !important;
	color: var(--dark) !important;
	font-family: var(--primary-font) !important;
	

}

.replicate_destination .form_label{ /** avoid clipping the delete button **/
	
	margin-right:3rem;
}

form h1 {
    width: 80%;
    display: block;
    max-width: 2400px;
    font-weight: bold;
    margin: 5rem auto 0.8rem;
	text-transform: uppercase;
	font-size: 2.5rem !important;
	position: relative;
}

form h1::before {
	
	content:"";
	width:60px;
	height:6px;
	background: var(--royalblue);
	position: absolute;
	left:0;
	top:-16px;
}

/** checkbox and radio button labels **/

.form_response {
	
	
	font-size:1rem !important;
	line-height: 1.5 !important;
	color: var(--dark) !important;
	font-family: var(--primary-font) !important;
	margin-left:1rem;

}

form input[type="checkbox"],
form input[type="radio"] {
  accent-color: var(--royalblue)
	  
}

input:focus, textarea:focus, a:focus, button:focus {
	
	
	outline: 2px solid var(--royalblue);
}



/* form fields */

form input[type=password], form input[type=text], form input[type=email], form input[type=tel], form input[type=date], form input[type=time] {

border-radius: 6px !important;
height: 2.5rem;
padding:0.5rem;
color: var(--dark);
border:0;
width:100%;
font-size:1rem;
	
}

form textarea {
	border-radius: 0.5rem !important;
	padding:0.5rem;
	color: var(--dark);
	border:0;
	width:100%;
	
}


/** dropdowns **/

form select {
	
border-radius: 6px !important;
height: 2.5rem;
padding:0.5rem !important;
border:0;
/* width:50%; */
margin: 0 1rem 1rem 0 !important;

	
}



/** form containers **/


#content {
	
	background-image: url(https://www.bentley.edu/files/alumni/site/slate-forms/assets/form-theme-bg5-ug.webp);
	background-repeat: no-repeat;
	background-size:cover;
	background-color: #C5C5C5;
	background-attachment: fixed;  
	background-position: top center;
	display: flow-root;
	position: relative;
}

.form_pages {  /** the form itself **/
	
	background: rgba(255, 255, 255, 0.50); 
   
	/* background: #f3f3f3; */
	width:80%;
	max-width: 2400px;
	margin:0 auto;
	padding:3rem 2rem 4rem 2rem;
	border-radius: 0.5rem;
	backdrop-filter: blur(14px);
	position: relative;
	 
}


div.form_question {
    margin: 0;
    display: flex;
    flex-direction: column;
    padding: 0 10px;
}

div.form_responses {
	
	margin: 0 0 1rem;
}

/*
div.form_container div.form_question.form_layout_table .form_responses, div.form_container div.form_question.form_layout_table .form_responses_labels, div.form_container div.form_question.form_layout_table .form_label {

   
     padding:0 !important;
   
}
*/

.replicate_destination .form_question { /** make replicate block fields 100% width **/
	
	display: inline-block;
	width:100%;
}

table.fixed, table.layout { /** line things up with padding added to other sections keep fields from clipping each other **/
  
    margin: 10px;
    width: calc(100% - 20px) !important;
}


/*
table.fixed {  keep replicate block from having content overflow on the bottom 

display: grid;

}  */

/*	
.form_pages * { /** make sure there is margin between inputs when there are multiples in the same row
   
	margin-left:0.5rem;
	margin-right:0.5rem;
}
*/

/*
.form_pages::before {
    content: "";
    width: 70px;
    height: 7px;
    background: var(--royalblue);
    position: absolute;
    left: 2rem;
    top: 3rem;
} */

/**
.form_pages::after {    /** inner glow 
	
	content:"";
	box-shadow: inset 0 0 50px 25px rgba(255, 255, 255, 0.8);
	
	position: absolute;
	
	right:0;
	bottom: 0;
	left: 0;
	border-radius: 0.5rem;
	z-index: 2;
	
}

**/



/** submit button **/

.form_button_submit {
	
	width:50%;
	max-width:300px;
	margin:2rem auto 4rem;
	display: block !important; /** overide base theme **/
	margin-right: auto !important; /** overide base theme **/
}

/** replicate button **/

.replicate_insert_container {
  
}

.replicate_number {
   display: none;
}

.replicate_insert_container a, a.replicate_delete {
	
	 color: var(--dark) !important;
	text-decoration: none;
	font-size: 0.8rem;
	font-family: var(--primary-font);
	  width: auto;
    margin: 0.5rem auto 1.4rem;
    border-radius: 3px;
    cursor: pointer;
    padding: 0.8rem 0.5rem;
    display: inline-block;
    text-align: center;
    border: 1px solid var(--dark);
    line-height: 0;
	position: relative;
	
}

a.replicate_delete {

position: absolute;
	right:1rem;
	top:1rem;
	
}

/*
.replicate_insert_container a:hover {
   
    color: var(--royalblue);
	border: 1px solid var(--royalblue);
} */

.replicate_insert_container a:hover::after, a.replicate_delete:hover::after {
    content: "+";
    position: absolute;
    right: -1rem;
    display: flex;
    font-size: 1rem;
    color: var(--royalblue);
}


a.replicate_delete:hover::after {
	
	 content: "-";
	left:-1rem;
	right:0;
}

/** metadata - the Slate form properties **/


#register_date, #register_location, #form_description {
    font: normal 1rem/1.5 arial, sans-serif !important;
 
    width: 80%;
    display: block;
    max-width: 2400px;
    margin: 0 auto;
    background: var(--accessible-slate);
    padding: 0 1.5rem;
    color: white;
}

#register_location {
 /*   border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem; */
    padding-bottom: 1rem;
 
}

#register_date {

	padding-top: 1rem;
	border-top-left-radius: 0.5rem;
	border-top-right-radius: 0.5rem;
}



#register_date span { /**  hide timezone info **/
	
	display:none;
}

#register_date_string {
	
	display:inline !important;
}

#form_description {
	
	padding-bottom: 0.5rem;
	margin-bottom: -30px; /** offset that random inline 25px on a div with no selector, plus extra to cover border radius on form - needs to be there for when metadata isn't present **/
	position: relative;
	z-index: 2;
	
	display: none; /** OFF for UG -- turn back on if needed **/
}


   

#content #form_response_banner, #content div[role=banner]  { /** banner that displays name and "click here" if not you **/
	
 /*
    background: var(--yellow) !important;
    font-weight: normal;
    padding: 0.5rem 20px 0.5rem 45px !important;
    color: #515151 !important;
    position: absolute;
    top: 0.75rem;
    right: 1rem; 
    font-size: 0.7rem;
    line-height: 1.5; 
	*/
	
}

#content #form_response_banner::before  {
	
	/*
	 content: '';
	 background-image: url('https://community.bentley.edu/images/forms/caution-icon2.svg');
	background-repeat: no-repeat;
	 position: absolute;
background-position: center calc(50% + 2px);
	left:5px;
	width:30px;
	height: 30px;
	animation: oscillate 4s ease-in-out 2.5 forwards;
	mix-blend-mode: difference;
	
	*/
	
}

@keyframes oscillate {
  0%, 100% { opacity: 0; }
  50%      { opacity: 1; }
}

#content #form_response_banner a {
	
	color: #515151 !important;
	
}



/*** misc tweaks ***/



form table { /** overide some remaining text colors **/
	
	color:var(--dark);
}

form td, div.form_header .form_label { 

padding:0 !important;
	
}

div.form_page+div.form_page { /** remove uneeded gap **/
	
	margin-top:0;
}

/*Target page for slate landing pages only*/
#page .teaser__inner {
    padding-left: calc(1rem + calc(-50vw + calc(1224px / 2)));
    padding-right: calc(1rem + calc(-50vw + calc(1224px / 2)));
}


	#payment_form { /** separate payment form from other items **/
   
    margin: 3rem 0 0;
}


div[data-id="faaf3639-2e12-4d05-9fb7-37007686e9cf"] .replicate_delete {  /* unwieldy workaround to change text for the first replicate delete button */
  font-size: 0 !important; 
  
}

div[data-id="faaf3639-2e12-4d05-9fb7-37007686e9cf"] .replicate_delete::before {
    content: "Close";
    font-size: 0.8rem;
    line-height: 0;
    vertical-align: middle;
}


#displayAmount {
    font-size: 2rem;
    font-weight: bold;
}

/** recurring gift option **/

/*#make_recurring {
	
	display:none !important;
} */


.error /** shown when even is not open **/

{
	
	
    background-color: #f4f4f4;
    border-color: #0275be;
  margin-top:2rem;
    padding: 2rem;
    color: #0075BE;
    width: 100%;

	
}

		
form details {
	
	 margin:1rem 0;
	
	border-radius: 6px;
	
	
}

form details p {
	
	margin: 0 1rem !important; 
	padding-top:1.5rem;
}
	

form summary {
  display: flex;
  align-items: center;
  padding-left: 48px; 
  position: relative;
  font-weight: bold;
	cursor: pointer;
}

form summary:focus {
			
			outline:none
}
		
		summary:focus-visible {
			
			 outline: 2px solid #0075BE; 
  outline-offset: 10px;
		}

		

.details-boxed {
    background-color: #eee;
    padding: 1.25rem 1rem;
    transition: outline 0.3s ease, outline-offset 0.3s ease;
    outline: 2px solid transparent;
    outline-offset: 0;
	border:  1px solid #dcdcdc;
}

.details-boxed .details-boxed {
    background-color: #e9e9e9;
}



.details-boxed:hover {
  outline: 2px solid #0075BE; 
  outline-offset: 2px;   
}

form summary::marker {
    color:  var(--royalblue);
	
}

	
		
form		details summary {
  list-style: none;
  cursor: pointer;
  position: relative;
 
  padding-left: 48px;
}

form details summary::-webkit-details-marker {
  display: none; 
}


form summary::before {
  content: "";
  width: 40px;
  height: 40px;
  background-image: url('https://www.bentley.edu/files/alumni/site/slate-forms/assets/bu-plus-icon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease;
  transform-origin: center;
}

	


form details[open] > summary::before {
  transform: translateY(-50%) rotate(45deg);
}



.confirm_page p{
	
	 font: normal 1rem/1.5 arial, sans-serif !important;
	
}

.form_pages.confirm_page a {
	
	color: var(--royalblue) !important;
}


.disclaimer {
    font-size: 0.9rem;
	 display: inline-block;
    margin: 1rem 0;
   
}

/*** style the "disclaimers" that aren't using the class name ***/

.form_label span {
    font-size: 0.9rem !important;
    display: inline-block;
    margin: 1rem 0;
}


/*** bird animation ***/

.vid-overlay-outer { 
	
	position: absolute; 
	width: 60%; 
	aspect-ratio: 16 / 8.5; 
	position: absolute; 
	right: -300px;
	top: 0; }

.vid-overlay { 
	width: 100%; 
	height: 100%; 
	mix-blend-mode: color-burn; 
	mask-image: linear-gradient(120deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%); }




@media only screen and (max-width: 767px) {
	
	#content {


	padding: 1rem 0 !important;
	background-image: url(https://www.bentley.edu/files/alumni/site/slate-forms/assets/form-theme-bg-mobile4a-ug.webp);
	background-attachment:scroll;
	background-position: bottom left;
	background-size: contain;
	background-color:#97b1cd;
}
	

	
	form h1 {
   
    font-size: 1.5rem !important;
 	line-break: anywhere;
	width:auto;
}
	
	.form_pages, #register_date, #register_location, #form_description {
		
	width:auto;
	
	}
	

	 .form_label, label, input, textarea, select, .replicate_insert_container a {
		
  font-size: 1.1rem !important; 
}
	
	.replicate_insert_container a, a.replicate_delete {
		
		padding: 1.25rem 1rem;
	}
	
	
form	input[type="checkbox"], form input[type="radio"] {
  transform: scale(1.5); 
  margin: 0; 
}
	
	form input[type="checkbox"] + form label, 
form input[type="radio"] + label {
  margin: 0.5rem;
 display: inline-block !important;
font-size: 1.1rem  !important;
	
}
	
	.replicate_destination {
 
		
		margin:1rem 0 !important;
}
	
	a.replicate_delete {
    width: auto;
	top:0.5rem;
		
    
}
	
	div.form_question {
		padding:0 !important;
	}


	
	table.fixed>tbody>tr>td {
    
    padding: 0 !important;
    
}
	
	button.default.form_button_submit {
    font-size: 1.25rem;
}
	
	#register_date, #register_location, #form_description {
		
		font-size:1rem !important;
		
		
	}
	
 form label{
	
		font-size:1.5rem !important;
	line-height: 1.25 !important;
	
		
}
	
	
	
	#content #form_response_banner, #content div[role=banner]  { /** banner that displays name and "click here" if not you **/
	
 /*
	width: auto;
	left:auto;
	top:30px;
	padding:0.5rem !important;
	right:auto;
	margin: 0 auto !important;
    position: unset;
		*/
}
	
	#content #form_response_banner, #content div[role=banner] {
   
		 /*
	width: auto;
    left: auto;
    top: 30px;
    padding: 10px !important;
    right: auto;
    box-sizing: revert;
    margin: 0 auto !important;
    position: unset;
		*/
}

	#content #form_response_banner::before {
		
		/*
		display:none; */
	}

	
	form summary::marker {
		
		font-size: 150%;
		
	}
	
	
form	details p {
	
	
	margin-top:0;
}
	
	

	
	.form_response { /*** fix long input labels that wrap onto multiple lines not lining up with the input object **/

    display: flex;
    align-items: baseline;
}
	
	/*** birds mobile ***/
	
.vid-overlay-outer { 
	

	left:0;
	right:auto;
	width:100%;

	
	
}
	
	
	
}
	
@media only screen and (orientation: landscape) and (max-width: 767px) {
	
form	select {
	
width:50%;
	
}
	
	div.form_question {
    margin: 0 10px;
 
}
	
	}
	
	
	
	
	
	
/******************************/
	
	
	
	
/* Override form stylesheet *only* inside .progress_dialog_0 */

.progress_dialog_0 #content {
	
  background: revert !important;

}

.progress_dialog_0 .form_responses {
    color: red;
    font-size: 0.8rem;
    display: block;
    width: 100%;
}
	

.progress_dialog_0 .form_label {
	width: fit-content !important;
    display: block !important;
    font-size: 0.8rem !important;
}

/*Page Targetted Form Embed Specfific Overrides*/
/* .layout-container--page-mccallum-graduate-school-of-business */ .form-embed__inner {
	background-image: url(https://www.bentley.edu/files/alumni/site/slate-forms/assets/form-theme-bg5-ug.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #C5C5C5;
    background-attachment: fixed;
    background-position: top center;
    display: flow-root;
    position: relative;
}

@media only screen and (max-width: 767px) {
	
/* 	.layout-container--page-mccallum-graduate-school-of-business */ .form-embed__inner {
		padding: 1rem 0 !important;
		background-image: url(https://www.bentley.edu/files/alumni/site/slate-forms/assets/form-theme-bg-mobile4a-ug.webp);
		background-attachment:scroll;
		background-position: bottom left;
		background-size: cover;
		background-color:#97b1cd;
	}
}