/* @import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600;700;800&display=swap'); */

html { height: 100%; }

body {
	margin:      0;
	height:      100%;
	font-family: Calibri, sans-serif;
	font-size:   18px;
	font-weight: 400;
	line-height: 1.4em;
	color:       #333333;
}

#content-wrapper {
	display:         flex;
	position:        relative;
	align-items:     center;
	justify-content: center;
	width:           100%;
	height:          100%;
}

#content-wrapper:before {
	position: absolute;
	top:      0;
	right:    0;
	bottom:   0;
	left:     0;
	content:  "";
	opacity:  20%;
}

#content {
	z-index:          100;
	overflow:         clip;
	margin:           0 10px;
	box-shadow:       0px 0px 10px RGBA(0, 0, 0, 0.5);
	border-radius:    5px;
	padding:          0;
	width:            100%;
	max-width:        640px;
	background-color: #fff;
}

.login-info {
	font-size:   16px;
	line-height: 1.3em;
	text-align:  center;
}

* { box-sizing: border-box; }

a {
	font-weight:     600;
	text-decoration: none;
	color:           #550A26;
}

a:hover { text-decoration: underline; }

.error {
	margin:     1em 5% 10px;
	border:     1px solid #c69;
	padding:    0 1em 0 1em;
	background: #FFEFF7;
}

input[type="text"],
input[type="password"] {
	box-sizing:       border-box;
	margin-top:       3px;
	border:           1px solid #888 !important;
	border-radius:    4px;
	padding:          10px 15px !important;
	width:            100%;
	font-size:        18px;
	background-color: #fff !important;
}

input[type="text"]:focus,
input[type="password"]:focus {
	border:           1px solid #48c !important;
	background-color: #fff !important;
}

input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; }

a.submit,
input[type="submit"] {
	margin:           20px 0;
	border:           none;
	border-radius:    5px;
	padding:          10px 50px;
	font-size:        18px;
	font-weight:      600;
	color:            #fff;
	background-color: #550A26;
}

a.submit:hover,
input[type="submit"]:hover {
	text-decoration:  none;
	background-color: #AA8492;
}

.submit { margin: 0; }

.enablebox { margin: 30px 0 20px 0; }

#logo {
	padding:          20px 16px 14px 20px;
	height:           61px;
	background-color: #550A26;
}

#logo img {
	width:  auto;
	height: 27px;
}

.login-wrapper { margin: 0 20px 20px 20px; }

.login-container {
	margin:           0 0 30px 0;
	border:           1px solid #ebebeb;
	border-radius:    5px;
	padding:          25px;
	text-align:       center;
	background-color: #f5e5ec;
}

.ktuser-login-fields { text-align: left; }

.ktuser-login-fields input[type=submit] { width: 100%; }

.login-links {
	padding:    20px 20px 25px 20px;
	text-align: center;
	border-top: 1px solid #ebebeb;
}

.login-links a { color: #550A26; }

.login-links a::before {
	margin-right: 10px;
	content:      '>';
}

#login h1 {
	margin:         0;
	font-size:      26px;
	font-weight:    700;
	line-height:    1.2em;
	letter-spacing: -1px;
}

#login h2 { font-size: 18px; }

#languagebar {
	margin:      15px 0 20px 0;
	padding:     0;
	font-size:   80%;
	font-weight: 600;
	text-align:  center;
}

div#error {
	margin:           30px 0 30px 0;
	border-radius:    4px;
	border:           2px solid #f00;
	padding:          8px 20px;
	color:            #f00;
	background-color: #fff;
}

#login ul.links a { text-decoration: none; }
#login ul.links a:hover { color: #111; }

#login ul.links {
	padding:             0px;
	list-style-type:     square;
	list-style-position: inside;
	font-family:         'Lucida Grande', arial, sans-serif;
	font-size:           85%;
}

#login ul.links li { margin-top: .3em; }

label {
	display:    block;
	margin-top: 15px;
}

.back-memeberarea-link { margin-top: 20px; }

#footer { text-align: center; }

.login-wrapper div.element input.inputelement {
	margin-left:  auto;
	margin-right: auto;
}

.success { text-align: center; }

.centered { text-align: center; }

.uid { font-size: 150%; }

/* Accessibility and the Twig password/error views, keeping Pro's active theme. */
#content-wrapper {
	padding:    20px 0;
	height:     auto;
	min-height: 100%;
}

a.submit, .strong_id { display: inline-block; }

.strong_id {
	margin:        20px 0;
	border:        0;
	border-radius: 5px;
	padding:       10px 30px;
	font:          inherit;
	font-weight:   600;
	color:         #fff;
	background:    #550a26;
	cursor:        pointer;
}

.strong_id:hover {
	text-decoration: none;
	background:      #aa8492;
}

.password-form { text-align: left; }

#login > h1 { padding: 0 20px; }

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline:        3px solid #550a26;
	outline-offset: 3px;
}

@media (max-width: 480px) {
  .login-wrapper { margin: 0 12px 16px; }

  .login-container { padding: 20px 14px; }

  #login h1 { font-size: 24px; }

  #content-wrapper { align-items: flex-start; }
}
