:root {
	--color-primary: #008e4e;
	--color-secundary:#01172f;
	--border-radius: 4px
 }

@font-face {
  font-family: Karla;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Karla-Light.woff2") format("woff2");
}
@font-face {
  font-family: Karla;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Karla-Regular.woff2") format("woff2");
}
@font-face {
  font-family: Karla;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Karla-Medium.woff2") format("woff2");
}
@font-face {
  font-family: Karla;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Karla-Bold.woff2") format("woff2");
}
@font-face {
  font-family: Karla;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Karla-ExtraBold.woff2") format("woff2");
}
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Lora-Bold.woff2") format("woff2");
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/templates/site/ostmesse/fonts/Poppins-Medium.woff2") format("woff2");
}
  

/*--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	width:100%;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */


/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a{
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 600;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 75%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
	
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}


/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
/*	padding: 0.35em 0.75em 0.625em;*/
	padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/* accessability */
.visually-hidden:not(:focus):not(:active){
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: absolute !important
}

*:focus:not(:focus-visible) {
    outline: none;
}
.btn-primary:focus{
	box-shadow: none !important;
	outline: 1px dashed var(--color-primary) !important;
    outline-offset: 2px !important;
}
.btn-secondary:focus{
	box-shadow: none !important;
	outline: 1px dashed var(--color-secundary) !important;
    outline-offset: 2px !important;
}
*:focus-visible {
    outline: 1px dashed currentColor !important;
    outline-offset: 2px !important;
}
.skip-to-main-content-link{
	position: absolute;
	left:-99999px
}
.skip-to-main-content-link:focus {  
	display: block;
	left:5px;
	top:5px;
	text-align: center;
	margin: 0px auto;
	color: var(--color-primary)  !important;
	z-index:999;
	white-space: nowrap !important;
}
/* accessability */
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */

body,
button,
input,
select,
optgroup,
textarea,
legend {
	color: var(--color-secundary);
	font-family: 'Karla', Arial,sans-serif;
	font-size: 18px;
	line-height: 1.5;
}

h1,h2{
	font-family: 'Lora', serif;
	font-style: normal;
	font-weight: 700;	
	line-height: 150%;
	text-align:center
}
h3,h4,h5{
	font-family: 'Karla', Arial,sans-serif;
	font-style: normal;
	font-weight: 700;	
	line-height: 150%;
}
h1{
	font-size: 48px;
	margin-bottom:40px;
}
h2{
	font-size: 48px;
	margin-bottom:20px
}
@media(max-width:768px){
	h1{
		font-size: 36px;
	}
	h2{
		font-size: 30px;
	}
}

.container{
	max-width:1440px;
}

a{
	color:var(--color-primary);
	text-decoration:underline
}
a:hover{
	color:var(--color-secundary);
}

.btn{
	padding: 12px 24px;
	border-radius: var(--border-radius);
	white-space: nowrap;
}
.btn.input-password-toggle{
	padding:0 8px;
}
.btn-primary{
	border:2px solid var(--color-primary) !important;
	background-color: var(--color-primary) !important;
	color:#fff
}
.btn-primary:hover,.btn-primary:focus{
	border:2px solid var(--color-primary) !important;
	background-color: #fff !important;
	color:var(--color-primary) !important
}
.btn-primary-inverse{
	border:2px solid var(--color-primary) !important;
	background-color: #fff !important;
	color:var(--color-primary) !important
}
.btn-primary-inverse:hover,.btn-primary-inverse:focus{
	border:2px solid var(--color-primary) !important;
	background-color: var(--color-primary) !important;
	color:#fff !important
}
.btn-danger{
	border:2px solid #dc3545 !important;
}
.btn-danger:hover,.btn-danger:focus{
	border:2px solid #dc3545 !important;
	background-color: #fff !important;
	color:#dc3545 !important
}
.btn-secondary{
	border:2px solid var(--color-secundary);
	background-color: #FFFFFF;
	color:var(--color-secundary)
}
.btn-secondary:hover,.btn-secondary:focus{
	border:2px solid var(--color-secundary) !important;
	background-color: var(--color-secundary) !important;
	color:#fff;
}
#system-message-container{
	max-width:1440px;
	margin:0 auto;
}
input,
select,
optgroup,
textarea,.form-control{
	border:1px solid #aaa;
	border-radius:var(--border-radius);
	background:#fefefe;
	padding:10px;
	width:100%;
	max-width:600px;
}
.form-select{
	border:1px solid #aaa;
	border-radius:var(--border-radius);
	padding:10px;
}
.password-group input{
	max-width:561px
}


input[type="radio"],input[type="checkbox"]{
	width:auto;
	max-width:auto;
}
input[type="checkbox"]{
	margin-top:10px;
	border:1px solid #aaa;
}
input[type="radio"]{
	border-color:#aaa
}
.com_users button[type="submit"]{
	margin-top:20px;
}

label{
	margin-top:15px;
	margin-bottom:5px;
}
[id="jform[password1]-rules"]{
	margin-bottom:5px;
	max-width:600px;
}
input[type="checkbox"] + label,
input[type="radio"] + label {
  cursor: pointer;
	margin:0 5px;
}
.form-check input[type="radio"],.form-check input[type="checkbox"]{
	width:1em
}
.form-control:disabled,.form-control:read-only{cursor: not-allowed}
.form-control:read-only{
	background-color:#e9ecef
}
#member-registration fieldset .alert-info{
	background: none;
	border: none;
  	margin-top: 0px;
	margin-bottom: 0px;
  	padding: 0;
  	color: var(--color-secundary);
	font-weight:400
}
#jform_privacyconsent_privacy{
	margin-top:10px;
}
.altcha{
	border-radius:var(--border-radius);
}
.altcha label,.altcha input[type="checkbox"]{
	margin:0;
}
.altcha[data-state="verified"] label{
	color:var(--color-primary)
}
.invalid{
	color:#D20307
}
.com_users.view-registration legend,.com_users.view-reset legend,.com_users.view-profile legend{
	/*display:none;*/
	margin-top:20px;
	margin-bottom:0;
	font-weight:700;
	font-size:36px;
}
#com-users-login__form,form#user-registration,form#member-registration,form#member-profile,form.com-users-reset-confirm__form,form.com-users-reset-complete__form  {
	margin:0 auto;
	max-width:600px
}
.com-users-login__options{
	margin:40px auto 0 auto;
	max-width:600px
}
.list-group-item{
	border-color:#aaa
}
.mod-languages .btn{
	background: none !important;
	border:none !important;
	border-radius:0 !important;
	color:var(--color-secundary);
	padding:0;
}
.mod-languages a{
	color:var(--color-secundary);
}
#inner_header{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin:10px 0
}
#header_left{
	
}
#header_right{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	width:100%;
	
}

div.mod-languages li{
	margin:0;
	padding:0;
}
div.mod-languages ul li.lang-active{
	background: none
}

div.mod-languages ul li.lang-active a{
	font-weight:700
}
div.mod-languages ul li a:hover{
	color:rgba(62,62,60,.5);
}
div.mod-languages ul li:first-child:after{
	content:'|';
	color:rgba(62,62,60,.5);
}
#menu_bar{
	background-color:var(--color-primary);
	height:60px;
	display: flex;
	justify-content: center;
	align-items: center
}

#main_menu_toggler{
	display:none;
}

#mainmenu{
	display: flex;
	justify-content: center;
}
#main_menu{
	gap:40px
}
#main_menu a{
	color:#fff;
	font-weight:700;
	text-decoration:none;
	transition: all .4s
}
#main_menu a:hover{
	text-shadow: .7px 0 0 #fff;
}
@media(max-width:992px){
	#inner_header{
		align-items: flex-start;
	}
	#header_right{
		height: 100%;
		align-items: flex-end;
		flex-direction: column-reverse
	}
	#language_select{
		margin-top:auto;
	}
	#mainmenu{
		position: absolute;
		left:0;
		top:0;
		width:100%;
	}
	#main_menu a{
		color:var(--color-secundary)
	}
	#mainmenu li.default{
		display:block
	}
	#main_menu_toggler{
		display: flex
	}
	ul#main_menu {
		position: absolute;
		top: 0;
		left: -9999px;
		z-index: 1001;
		background: white;
		width: 80%;
		min-width:250px;
		height: 100vh;
		overflow-y: auto;
		transition: left 0.3s ease;
		display:block;
		padding-bottom:40px !important;
	}
	
	#mainmenu li {
		display: block;
  		margin: 0;
	}
	#mainmenu a{
		display:block;
		width:100%;
		text-align:left;
		padding:20px;
	}
	ul#main_menu.is-visible {
	  left: 0;
	}
	#menu_overlay {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.5);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease;
	}
	#menu_overlay.is-active {
  		opacity: 1;
  		visibility: visible;
	}
	#mainmenu li{
		display: block;
		width:100%;
		padding:0px;
		margin:0;
	}
	#mainmenu li.parent > a::after {
  		content: "";
	}
	#mainmenu a:hover,#mainmenu li.active a,#mainmenu li.active .mod-menu__sub li.active a,#mainmenu li.active .mod-menu__sub a:hover{
		color:#fff !important;
		background-color:var(--color-primary) !important;
	}
}
#content-container{
	padding: 60px 0
}
#footer-container{
	background-color:var(--color-primary);
	height:60px;
	width:100%;
	display: flex;
	align-items: center;
}
#footer-container a{
	color:#fff;
	font-weight:400;
	text-decoration:none;
	transition: all .4s;
	margin-right:40px
}

#footer-container a:hover{
	text-shadow: .7px 0 0 #fff;
}

.pagination.pagination-toolbar{
	margin-top:20px !important
}
.pagination.pagination-toolbar  > .page-link,.pagination.pagination-toolbar .page-link {
	color:var(--color-primary);
}
.pagination.pagination-toolbar .active > .page-link,.pagination.pagination-toolbar .page-link.active {
  color:#fff;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

body.manager #mainmenu li:has(.manageronly){
	display:block;
}
body.manager #mainmenu li:has(.useronly){
	display:none;
}

body.user #mainmenu li:has(.manageronly){
	display:none;
}
body.user #mainmenu li:has(.useronly){
	display:block;
}
