body {
    margin:0px;
    padding:0px;
    font-family: 'Archivo Narrow', arial, sans-serif;
    font-size:20px;
    text-align:left;
}
table {
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}
a {
	color:#747474;
	text-decoration:none;
}
/*a:hover {
	color:#D9001E;
	text-decoration:underline;
}
*/
ul, li {
    margin:0;
    padding:0;
}

img {
	border: none;
}

/* A section wrapper. There might be something else around...Hard to tell  :/ */
.section {
    border-bottom: 2px dotted #999;
    clear: both;
    margin-bottom: 20px;
    padding-bottom: 15px;
}
.section:last-of-type {
    border-bottom: none;  /* No bottom border when last section */
    padding-bottom: 0;
}
.section:first-of-type {
    margin-top:10px;
    border-top: none; /* no top border when the first section */
}

/* Sometimes there is a subsection and it needs a subtitle */
/* .subsection is just being used as a selector. No styles */
.subsection h3 {
    color: #333;
    font-size: 1.5em;
}

/*Form Elements ***********************************************************************/
/* A class to wrap form sections in. */
.form-section {
    border-bottom: 2px #dcdcdc dotted;
    padding-bottom: 15px;
}

label.radio-button {
	width: 50%;
	clear: right;
	float: left;
	text-align:left;
	vertical-align:middle;
	margin: 0;
	border: none;
	padding-bottom: 5px;
}
label.checkbox {
    clear: left;
    float: left;
    margin: 0 5px 0 0;
    padding-bottom: 5px;
    text-align: left;
    vertical-align: middle;
    width: 75%;
}
input, select, textarea, file {
	font-size: 1.2em;
    color: #333333;
	text-align: left;
	border: 1px solid #dddddd;
	padding: 8px 3px;
    font-family:'Archivo Narrow',Arial;
}
input:hover, select:hover, textarea:hover, file:hover {
	background-color: #dddddd;
}
input:focus, select:focus, textarea:focus, file:focus {
	background-color: #dddddd;
}
.legend, .error-msg, .info {
	font-size: .8em;
	text-align: center;
	padding: 15px;
}
.legend {
    color:#fff;
}
.error-msg {
	color: #d9001e;
}
input.button {
	border: none;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color:#D9001E;
	padding: 5px 3px;
	position: static;
	cursor: pointer;
}
input.button:hover {
	background-color:#808080;
}
#form-container input.radio {
	outline: 5px solid red;
}
a.form-button {
    background:#D9001E;
    color:#FFF;
    font-size:12px;
    text-align:center;
    padding:4px 3px 4px;
    margin:4px 0 4px 0;
    border:none;
    position: static;
	text-decoration: none;
}
/********** Attendee List **********/
#admin-title {
    text-align:center;
    color:#3C3C3C;
    padding: 14px 0 15px 0;
    font-weight: bold;
}
#al-border {
    width:95%;
    padding:9px;
    margin:-5px 0 15px 19px;
    border-radius: 0 10px 10px 10px;
    border:#DCDCDC solid 1px;
    position: static;
}
ul#al-button {
    position:static;
    padding:0 0 0 0;
    line-height:1.5;
    margin:5px;
}
ul#al-button li {
    display:inline;
    list-style-type:none;
}
ul#al-button li.buttonmcbuttonface {
    display:table-cell;
}
ul#al-button li.buttonmcbuttonface.modal-button{
    display: grid;
}
ul#al-button li a {
    font-family:'Archivo Narrow',Arial;
    text-decoration:none;
    font-size:18px;
    text-align:center;
    margin:4px;
    color:#FFFFFF;
    background-color:#999;
    font-weight:bold;
    white-space: pre;
}
ul#al-button li a.confirmed {
    background-color: #10712b;

}
ul#al-button li a.cancel {
    background-color: red;

}
.here, .did_not_attend {
    padding:10px 19px;
    /*padding:5px 5px;*/
}
p.attendee-form {
	margin:0px;
}
ul#al-button li a:hover {
    color:#FFFFFF;
    background-color:#808080;
}

/* New Styles */
.center {
    text-align:center;
}
.left {
    float:left;
    padding:5px 5px 5px 0;
}
.right {
    float:right;
    padding:5px 0 5px 5px;
}
h3.welcome {
    margin:10px;
    font-family: "Archivo Narrow", arial, sans-serif;
}
ul.session {
    display:inline-block;
}
ul.session li {
    list-style: none;
}
ul.session-details {
    display:inline-block;
    padding:0 0 0 10px;
}
ul.session-details li {
    list-style: none;
    font-size:20px;
}
.archivo {
    font-family: "Archivo Narrow", arial, helvetica;
}
#session-container, #association-selection, #attendee-info-container, #qr-code-container {
	border:2px dotted #CCC;
	padding:10px;
	margin-bottom:20px;
    text-align:left;
    box-sizing: border-box;
}
#main-container p {
    margin:20px 0;
    font-family: "Archivo Narrow", arial, helvetica;
}
#footer {
    margin-bottom:5px;
}
#footer p {
    font-size:.8em;
    font-family: "Archivo Narrow", arial, helvetica;
    text-align:left;
}
.small-button {
    background-color: #747474;
    border: 1px solid transparent;
    color: #fff;
    font-family: 'Archivo Narrow',Arial;
    font-size: 1.32em;
    margin: 8px 3px;
    padding: 4px 6px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 3px;
    cursor: pointer;

}
.smaller-button {
    background-color: #747474;
    border: 1px solid transparent;
    color: #fff;
    font-family: 'Archivo Narrow',Arial;
    font-size: 1.05em;
    margin: 8px 3px;
    padding: 2px 4px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 3px;
    cursor: pointer;

}
ul.association {
    margin:0 0 0 50px;
}
ul.association li {
    list-style: none;
}
.fine-print {
    font-size:.8em;
}
.form-section label {
	clear: left;
    color: #333;
    display: block;
    font-size: 1em;
    font-weight: bold;
	margin: 25px 5px 5px 0px;
    text-align: left;
}

.required:after {
    color: #d9001e;
	content: "\f069";
    font-family: 'Font Awesome 6 Pro';
    font-size: 12px;
    font-weight: 900;
    margin-left: 3px;
    vertical-align: super;
}

ul#f2f-tabs, #f2f-tabs-large {
    padding: 0;
}
ul#f2f-tabs li, #f2f-tabs-large li {
    display: inline;
    list-style-type: none;
}
ul#f2f-tabs li a, #f2f-tabs-large li a {
    background-color: #999;
    border: 1px solid #dcdcdc;
    color: #fff;
    display: block;
    float: left;
    font-size: 1em;
    line-height: 2em;
    margin: 9px 1px 0 0;
    padding: 2px 8px;
    position: relative;
    text-decoration: none;
    top: 1px;
}
ul#f2f-tabs li a:hover, #f2f-tabs-large li a:hover {
    background-color: #666;
}
.tab-selected {
    background-color: #fff !important;
    border-bottom: medium none !important;
    color: #d9001e !important;
    font-size: 16px;
    font-weight: bold;
    height: 50px;
    margin: 0 1px 0 0 !important;
}
#f2f-session-signin, div#empty {
    border: 1px solid #dcdcdc;
    padding: 10px;
    text-align: left;
}
#f2f-session-signin tr {
    text-align: left;
}
#f2f-session-signin tr td {
    padding: 10px;
}
.clear {
    clear: both;
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    width: 0;
}
th {
    padding: 5px;
    text-align: left;
}
.large-text {
    font-size: 1.5em !important
}
.submit-attendees {
    padding:13px 43px;
}
#f2f-tabs {
    display:none;
}
#f2f-tabs-large {
    display:block;
}

/* Section CSS. Same as A' */
/* A section wrapper. There might be something else around...Hard to tell  :/ */
.section {
    border-bottom: 2px dotted #dcdcdc;
    clear: both;
    margin-bottom: 20px;
    padding-bottom: 15px;
}
.section:last-of-type {
    border-bottom: none;  /* No bottom border when last section */
    padding-bottom: 0;
}
.section:first-of-type {
    margin-top:10px;
    border-top: none; /* no top border when the first section */
}

/*  A generic content container, with padding. Might be handy. */
.generic-container {
    padding: 5px 10px;
}

/* Make a typical button seem disabled */
.disabled-button {
    /*pointer-events: none !important;*/
    background-color: #dcdcdc !important;
    cursor: pointer !important;
    padding:13px 43px;
}

.success,
.error,
.info,
.option,
.warning {
    border: 1px solid transparent;
    font-family: "Archivo Narrow", arial, sans-serif;
    font-size: 16px;
    padding: 15px;
    text-align: center;
}
.success::before {
	content: "\f058";
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	margin-right: 3px;
}
.success {
	border-color: #d6e9c6;
	color: #3c763d;
    text-align: left;
}
.error::before {
	content: "\f321";
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	margin-right: 3px;
}
.error {
    border-color: #ebccd1;
    color: #a94442;
    text-align: left;
}
.info::before {
	content: "\f808";
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	margin-right: 3px;
}
.info {
	border-color: #bce8f1;
	color: #31708f;
    text-align: left;
}
.option {
    background-color: #fbfdfd;
    border-color: #808080;
    box-sizing:border-box;
    color: #333;
    margin-bottom: 10px;
    padding:15px 5px;
}
.warning {
    background-color: #f0ad4e;
    border-color: orange;
    font-weight:  bold;
    color: #333;
    text-align: left !important;
}
.warning a {
    color: #fff;
    font-weight: bold;
}
.success-small,
.error-small,
.info-small,
.option-small,
.warning-small {
    display:  block;
    font-size: 13px !important;
    padding: 8px !important;
}
label.modal-window-field {
    display: inline-block;
    margin-bottom: 20px;
}
.modal-form-subtitle {
    color:  #d9001e;
    margin-bottom: 10px;
}
.simple-button {
    font-family: 'Archivo Narrow',Arial;
    text-decoration: none;
    font-size: 20px;
    text-align: center;
    margin: 4px;
    padding: 13px 22px;
    color: #FFFFFF;
    background-color: #999;
    font-weight: bold;
    white-space: pre;
    border: none;
    cursor: pointer;

}
.simple-button:hover {
    color: #FFFFFF;
    background-color: #808080;
}

#qr-container {
    display: none;
}
.text-bold-dark {
    color: #333;
    font-weight: bold;
}
.left-text {
    text-align: left;
}

/* language selector */
/* the header */
#logo-container {
    margin-top: 5px;
}
#top-nav {
    border-bottom: 1px dotted #808080;
    border-top: 1px dotted #808080;
    margin: 12px 0 20px;
    width: 100%; /* Make sure it uses the full width of the container */
}
/* dropdowns */
ul#menu {
    line-height: 1.5;
    /* max-width: 960px; */
    text-align: center;
    float: right;
}
/* Important: Parent <li>s should be relatively positioned */
ul#menu li {
    display: inline-block;
    list-style-type: none;
    position: relative; 
}
ul#menu li a {
    background-color: transparent;
    color: #666;
    display: block;
    font-family: 'Archivo Narrow', arial, sans-serif;
    font-size: 1em;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    transition: transform 0.3s;
    line-height: 1;
}
ul#menu li a:hover {
    cursor: pointer;
}
/* a checkmark icon for after a selected item */
.option-selected::after {
    content: "\f00c";
    font-family: 'Font Awesome 5 Pro';
    display: inline-block;
    margin-left: 5px;
}
/* keep the user options in the top right */
ul#menu.user-options-menu li a {
    padding: 15px 10px;
}
ul#menu li a:hover {
    transform: scale(1.1);
}
ul#menu li a:hover span i {
    color: #fff;
}
ul#menu li a span i {
    transition: color 0.2s;
}
ul#menu li a#selected {
    color: #fff;
    background-color: #d9001e;
    border-color: transparent;
    height: 26px;
    font-weight: bold;
}
ul#menu li a#selected span {
    color: #fff;
}
/* Submenu styling with roll down effect */
ul#menu li .submenu {
    display: block; /* Keep display block for transition */
    visibility: hidden; /* Initially hide the submenu */
    opacity: 0; 
    position: absolute; 
    top: 100%; /* Position below the parent */
    left: 0; /* Align submenu directly under the parent item */
    background-color: #fff;
    list-style-type: none;
    margin: 0;
    padding: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 
    z-index: 1000; 
    transform: scaleY(0); /* Initially collapse vertically */
    transform-origin: top; /* Expand from the top down */
    transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease; /* Smooth transition */
    max-height: 0; /* Ensure the submenu starts fully collapsed */
    overflow: hidden; 
    border-bottom-left-radius: 2px; 
    border-bottom-right-radius: 2px; 
}

ul#menu li.has-submenu > a::after {
    content: "\f107";
    font-family: 'Font Awesome 5 Pro';
    display: inline-block;
    margin-left: 5px;
}
ul#menu li .submenu li {
    width: 100%; /* Ensure submenu items take full width of the submenu */
}
ul#menu li .submenu li a {
    padding: 10px;
    display: block;
    text-decoration: none;
    color: #000;
    /* background-color: #f4f4f4; */
    font-weight: normal;
    text-align: left;
    min-width: 175px;
    font-size: 0.8em;
}
ul#menu li .submenu li a:hover {
    background-color: #ddd; /* Highlight on hover */
    cursor: pointer;
}
/* Show submenu on hover with correct roll down effect */
ul#menu li:hover .submenu {
    visibility: visible; /* Make the submenu visible */
    opacity: 1; /* Make the submenu fully opaque */
    transform: scaleY(1); /* Expand the submenu vertically */
    transform-origin: top;  /* Ensure it expands from the top down */
    max-height: 500px; /* Ensure it expands to fit all items */
    overflow: visible; /* Allow overflow when expanded */
    right: 0;
    left: auto;
    text-align: right;
}
/* langPicker is the actual submenu; size it to its content (bug 27130) */
ul#menu #langPicker {
    right: 0;
    left: auto;
    text-align: left;
}
ul#menu #langPicker li a {
    min-width: 0;
    white-space: nowrap;
}

@media
only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
    #f2f-tabs {
        display:block;
        font-size:.6em;
    }
    #f2f-tabs-large {
        display:none;
    }

    ul#al-button {
    	margin-bottom:15px;
        text-align:center;
    }
    .here {
    	padding:13px 68px;
    }
    .submit-attendees, .disabled-button {
    	padding:13px 43px;
    }
}
