
:root {
  font-family: Inter, sans-serif;
  font-feature-settings: 'liga' 1, 'calt' 1; /* fix for Chrome */
}
@supports (font-variation-settings: normal) {
  :root { font-family: InterVariable, sans-serif; }
}


html, body, #pnsConnectionsWidget, .App {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: Inter, sans-serif;
  background-color: #ffffff;
}



/* MAIN */
.pns_mainDiv{
	display: flex;
	flex-direction: column;			
	height: calc(100%);
	--maxWidth: 500px;
}
.pns_mainDiv_Background {
	opacity: 0.50;
}
/* MAIN */




/* SPINNER */
.pns_spinner {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 99999;
	opacity: 1;
}
.pns_spinner_img {
	position: absolute;
	top: calc(50% - 20px);
	left: calc(50% - 20px);
	width: 40px;
	height: 40px;
}
/* SPINNER */



/* HEADER */
.pns_headerDiv {
	font-family: Inter, sans-serif;;
	flex-basis: auto;
	text-align: center;
	padding: 30px 0 20px 0;
}
.pns_headerTitle {
	font-size: 25pt;
	font-weight: 800;
	color: #445457;
}
.pns_headerTodaysDate {
	font-size: 10pt;
	color: #404040;
}
.pns_logo_img {
	width: 40px;
	height: auto;
	padding: 0 10px 0 10px;
}
/* HEADER */



/* CONTENT */
.pns_contentDiv{
	font-family: Inter, sans-serif;;
	flex: 1;
	overflow-y: auto;
	width: 95%;
	max-width: var(--maxWidth);
  margin: 0 auto;
}
.pns_centerText {
	text-align: center;
}
.pns_textPadding {
	padding: 10px;
}
.hidden {
	display: none;
}
/* CONTENT */



/* FOOTER */
.pns_footerDiv {
	flex-basis: auto;
	text-align: center;
	padding: 10px;	
	-webkit-box-shadow: 0 -3px 10px 0 rgba(100,100,100,0.10);
	-moz-box-shadow: 0 -3px 10px 0 rgba(100,100,100,0.10);
	box-shadow: 0 -3px 10px 0 rgba(100,100,100,0.10);
}
/* FOOTER */



/* BUTTONS */
.pns_btn {
	width: 100%;
	max-width: 250px;
	padding: 10px;
	border-radius: 0px;
	text-transform: uppercase;
	font-size: 18pt;
	cursor: pointer;
	outline: none;
	font-family: Inter, sans-serif;
}
.pns_btnPrimary {
	border: solid 1px #33ACDE;
	background-color: #33ACDE;
	color: white;
}
.pns_btnPrimary:hover {
	border: solid 1px #2d8fba;
	background-color: #2d8fba;
}
.pns_btnDisabled {
	background-color: #c0c0c0;
	cursor: not-allowed;
}
.pns_btn_tiny {
	width: 100%;
	max-width: 60px;
	padding: 6px 10px 8px 10px;
	border-radius: 0px;
	text-transform: uppercase;
	font-size: 18pt;
	cursor: pointer;
	outline: none;
	font-family: Inter, sans-serif;
	margin-left: 5px;
	height: 45px;
	vertical-align: 2px;
}
/* BUTTONS */



/* WELCOME PAGE */
.pns_pageWelcomeSalutation {
	font-size: 15pt;
	font-weight: bold;
	color: #404040;
	margin-top: 10px;
}
.pns_pageWelcomeChangeUser {
	font-size: 10pt;
	color: #909090;
}
.pns_pageWelcomeChangeUserLink {
	cursor: pointer;
	text-decoration: underline;
	font-weight: normal;
	color: #606060;
}
.pns_pageWelcomeText {
	font-size: 12pt;
	text-wrap: pretty;
}
.pns_pageSelectText {
	font-size: 14pt;
	margin: 10px 0 20px 0;
}
.pns_resendCodeDiv {
	cursor: pointer;
	text-decoration: underline;
	font-weight: normal;
	color: #a0a0a0;
	margin: 10px 0 0 0;
}
.pns_selectedItemHint {
	color: #c0c0c0;
}
/* WELCOME PAGE */



/* PAGE FORM */
.pns_pageForm {
	width: 100%;
}
.pns_pageFormInputContent {
	display: block;
	margin: 0 auto;
}
.pns_pageFormInputGroup {
	text-align: left;
	margin-bottom: 10px;
}
.pns_pageInputLabel {
	display: block;
	font-size: 10pt;
	color: #1D5F85;
	margin-bottom: 5px;
}
.pns_pageInputTextField {
	font-size: 20pt;
	border: solid 3px #c0c0c0;
	border-radius: px;
	outline: none;
	color: #606060;
	width: calc(100% - 6px); /* Not sure where the 6px is coming from */
	margin: 0 0 20px 0;
}
.pns_pageInputTextField_tiny {
	font-size: 20pt;
	border: solid 3px #c0c0c0;
	border-radius: px;
	outline: none;
	color: #606060;
	width: calc(100% - 80px); /* Not sure where the 6px is coming from */
	margin: 0 0 20px ;
}
.pns_pageInputTextFieldLeft {
	padding: 5px 0 5px 5px;
	text-align: left;
}
.pns_pageInputTextFieldCenter {
	padding: 5px 0 5px 0;
	text-align: center;
}
.pns_pageInputTextAreaField {
	font-family: Inter, sans-serif;;
	font-size: 14pt;
	padding: 5px;
}
.pns_pageInputFieldRequired::after {
	color: red;
	margin-left: 5px;
	content: '*';
}
.pns_pageFormSmall {
	width: 200px; max-width: 100%;
	margin: 10px;
}
.pns_pageFormMedium {
	width: 280px; max-width: 100%;
	margin: 10px;
}
.pns_pageFormLarge {
	width: 400px; max-width: 100%;
	margin: 10px;
}
.pns_pageFormFull {
	width: auto; max-width: 100% !important;
	margin: 10px;
}
.pns_pageMessage {
	margin: 10px 0 0 0;
	font-weight: bold;
}
.pns_pageSuccessMessage {
	color: green;
}
.pns_pageErrorMessage {
	color: red;
}
.pns_radio_Div {
	display: block;
	text-align: center;
	margin: 10px 0 10px 0;
}
.pns_radio_btn {
	height: 18px;
	width: 18px;
	border-radius: 50%;
	border: none;
	background-color: transparent;
	cursor: pointer;
	padding: 0px;
	outline-style: solid;
	outline-color: #c0c0c0;
	outline-offset: 3px;
	outline-width: 2px;
	margin: 0 0 0 10px;
}
.pns_radio_btn_checked {
	background-color: #33ACDE;
	transition: all .125s ease-in;
}
.pns_radio_txt {
	font-size: 13pt;
	color: #606060;
	margin: 10px 0 10px 0;
	cursor: pointer;
	padding: 0 10px 0 8px;
}
/* PAGE FORM */



/* SELECT ITEM */
.pns_selectionSectionDiv {
	margin: 20px 0 0 0;
}
.pns_selectItem {
	border: solid 1px #c0c0c0;
	background-color: #fdfdfd;
	cursor: pointer;
	text-align: center;
	color: #606060;
	display: flex;
	flex-direction: row;
	margin: 5px;
	padding: 5px;

}
.pns_selectItem:hover {
}
.pns_selectedItem {
	background-color: #33ACDE;
	color: white;
}
.pns_selectedItemTitle {
	font-size: 10pt;
	flex: 1 1 auto;
	margin: 8px 35px 8px 0 ;
	align-items: center;
	text-wrap: pretty;
}
.pns_selectedItemTitleBold {
	font-weight: bold;
}
.pns_selectedItemCongregation {
	display: block;
	font-style: italic;
	padding-top: 3px;
}
.pns_selectedItemLivestream {
	display: block;
	text-transform: uppercase;
	padding-top: 3px;
}
.pns_disabledItem {
	background-color: #c0c0c0;
	cursor: default;
}


.pns_selectedItemTitle {
	font-size: 10pt;
	flex: 1 1 auto;
	margin: 8px 35px 8px 0 ;
	align-items: center;
}
.pns_selectedItemCheckDiv {
	margin: 0 0 0 10px;
	flex: 0 0 35px;
	align-items: center;
}
.pns_selectedItemCheck {
	font-size: 16pt;
	font-weight: bold;
	color: #1D5F85;
	display: flex;
	flex-direction: row;
	align-items: center;
}
.pns_selectedItemCheckPrevious {
	font-size: 16pt;
	font-weight: bold;
	color: #606060;
	display: flex;
	flex-direction: row;
	align-items: center;
}
.pns_selectedEventTitle {
	font-size: 14pt;
	margin: 0 0 5px 0;
	color: #1D5F85;
	font-weight: bold;
}
.pns_selectedEventTitleCampus {
	font-size: 12pt;
	margin: 0 0 20px 0;
	color: #1D5F85;
	font-style: italic;
}
.pns_selectedEventTitleLivestream {
	font-size: 12pt;
	margin: 0 0 0 0;
	color: #1D5F85;
	text-transform: uppercase;
}
.pns_addSpouseDiv {
	margin: 15px;
	font-size: 12pt;
	color: #909090;
}
.pns_addSpouseDiv:hover {
	cursor: pointer;
	color: #404040;
}
.pns_pagePublicationsDisclaimer {
	font-size: 10pt;
	font-style: italic;
	text-align: center;
	margin: 20px;
	text-wrap: pretty;
}
.pns_participantDisclaimerDiv {
	font-size: 10pt;
	font-style: italic;
	text-align: center;
	margin: 20px;
	text-wrap: pretty;
}
.pns_MissingEmailText {
	font-size: 10pt;
	color: red;
}
/* SELECT ITEM */




/* SELECT DROPDOWN */
.pns_selectDropDown {
	padding: 10px;
	border-radius: 0px;
	outline: none;
	font-size: 16pt;
	border: solid 1px #c0c0c0;
	color: #606060;
}
.pns_selectDropDownActual {
	width: calc(100% - 10px);
	margin: 5px;
	text-align: center;
}
/* SELECT DROPDOWN */




/* ACCORDION */
.pns_accordion_Div {
	margin: 0px;
	text-align: center;
}
.pns_accordion_btn {
	display: flex;
	width: 100%;
	max-width: 250px;
	padding: 10px;
	margin: 0 0 5px 0;
	/* text-transform: uppercase; */
	font-size: 12pt;
	cursor: pointer;
	outline: none;
	border: solid 1px #33ACDE;
	background-color: #33ACDE;
	color: white;
	border-radius: 0px;
}
.pns_accordion_btn:hover {
	border: solid 1px #2d8fba;
	background-color: #2d8fba;
}
.pns_accordion_showDiv {
	height: 265px;
	transition: height 0.3s ease-in-out;
	overflow: hidden;
}
.pns_accordion_hideDiv {
	height: 0;
	border: none;
	transition: height 0.3s ease-in-out;
	overflow: hidden;
}
.pns_accordion_text {
	justify-content: center;
	flex: 1 1 100%;
	margin: 0 0 0 35px;
}
.pns_accordion_arrow {
	justify-content: right;
	flex: 0 0 35px;
}
/* ACCORDION */



/* MODAL */
.pns_modalWrapper {
	position: fixed;
	top: 0; bottom: 0; left: 0; right: 0;
	background: rgba(232,232,232,0.6);
	z-index: -999999;
	opacity: 0;
	--pnsTransitionTime: 0.2s;
}
.pns_modalDiv {
	position: absolute;
	top:0; bottom: 0; left: 0; right: 0;
	margin: auto;
	min-width: 320px; width: 50%; max-width: 450px;
	height: 80%;
	background-color: #ffffff !important;
	border: solid 1px #d0d0d0;
	border-radius: 5px;
	z-index: -999998;
	opacity: 1;
}
.pns_modalTransitionIn {
	transition: opacity var(--pnsTransitionTime) ease-in, z-index var(--pnsTransitionTime) step-start;
	z-index: 9999;
	opacity: 1;
}
.pns_modalTransitionOut {
	transition: opacity var(--pnsTransitionTime) ease-in, z-index var(--pnsTransitionTime) step-end;
	z-index: -1;
	opacity: 0;
}
.pns_modalContent {
	font-family: Inter, sans-serif;;
	position: absolute;	
	top: 60px;
	bottom: 50px;
	left: 0; 
	right: 0;
	overflow-y: auto;
	overflow-x: hidden;
	background-color: white;
	padding: 10px;
}
.pns_modalHeader {
	font-size: 16pt;
	font-family: Inter, sans-serif;;
	color: #606060;
	padding: 15px;
	text-align: center;
}
.pns_modalHeaderTitle {
	padding-left: 20px;
}
.pns_modalHeaderClose {
	float: right;
	cursor: pointer;
	transition: transform .3s ease-in-out;
}
.pns_modalHeaderClose:hover {
	transform: rotate(180deg);
}
.pns_modalFooter {
	position: absolute;	
	bottom: 0;
	left: 0; 
	right: 0;
	background-color: white;
	border-radius: 0 0 5px 5px;
	text-align: center;
	padding: 10px;
}
.pns_modalBtn {
	width: 100%;
	max-width: 150px;
	padding: 5px;
	border-radius: 5px;
	text-transform: uppercase;
	font-size: 14pt;
	cursor: pointer;
	outline: none;
}
.pns_modalBtnPrimary {
	border: solid 1px #33ACDE;
	background-color: #33ACDE;
	color: white;
}
.pns_modalBtnPrimary:hover {
	border: solid 1px #2d8fba;
	background-color: #2d8fba;
}
.pns_modalBtnDisabled {
	background-color: #c0c0c0;
	cursor: not-allowed;
}
/* MODAL */




/* SUBMISSION */
.pns_submissionDiv {
	background-color: #DBF7CE;
	color: #3B7C21;
	padding: 10px;
	display: flex;
	flex-direction: row;
	align-items: center;
	border-left: solid 10px #3B7C21;
	margin: 10px;
}
.pns_submissionCheckDiv {
	flex: 0 0 15px;
	align-items: left;
}
.pns_submissionTextDiv {
	flex: 1 1 auto;
}
.pns_submissionTextMain {
	font-size: 12pt;
	font-weight: bold;
}
.pns_submissionTextSub {
	font-size: 10pt;
	text-wrap: pretty;
}
.pns_submissionCheck {
	font-size: 20pt;
}
.pns_publicationTitle {
	font-size: 18pt;
	font-weight: bold;
	font-style: italic;
	color: #1D5F85;
	margin: 30px 10px 10px 10px;
	font-family: Inter, sans-serif;
}
/* SUBMISSION */






/* PROGRESS BAR */
.pns_progressBarDiv {
	height: 5px;
	overflow-y: auto;
	width: 95%;
	max-width: var(--maxWidth);
  margin: 0 auto 10px auto;
	border: solid 1px #d0d0d0;
}
.pns_progressBar {
	display: block;
	background-color: #19ace0;
	height: 100%;
}
/* PROGRESS BAR */






/* LANGUAGE */
.pns_language_div {
	margin: 20px 0 0 0;
}
.pns_language {
	display: inline;
	margin: 10px 15px 10px 15px;
	cursor: pointer;
	font-weight: normal;
	color: #909090;
	font-size: 10pt;
}
.pns_language_selected {
	font-weight: bold;
	color: #404040;
}
.pns_language_flag_icon {
	width: 24px;
	height: auto;
	vertical-align: -2px;
	margin-right: 3px;
}
/* LANGUAGE */




