body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;margin:0;background:#f6f7f9;color:#111}
textarea{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif}
header{background:#20232a;padding:12px 18px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;}
#headerMain{font-weight:bold;color:#fff;}
header a:link, header a:visited{color:#fff}
header a:hover, header a:active{color:#a9dcff}
#headerUser{display:flex;flex-direction:row;gap:20px;justify-content:flex-end}

a{color:#0b71ff;text-decoration:none}
main{max-width:1160px;margin:20px auto;position:relative}
.card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:16px;margin:14px 0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.grid{display:grid;gap:14px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;background:#0b71ff;color:#fff;border:none;border-radius:8px;padding:10px 14px;cursor:pointer}
.btn.secondary{background:#555}

#loginForm{
	display:flex;
	flex-direction:column;
	gap:10px;
	width:300px;
	margin-bottom:15px;
}

.loginRow{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
}

/*
.flash{padding:10px;border-radius:8px;margin:10px 0}
.flash.ok{background:#eaf6ff;border:1px solid #b9e0ff}
.flash.error{background:#ffecec;border:1px solid #ffc1c1}
pre{white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:10px}
small.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#666}
*/
.fontIcon::before {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 200;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.iconBtn {
  border: 1px solid #00B0F0;
  border-radius: 50%;
  cursor: pointer;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #00B0F0;
	color: white;
	padding:0;
}
.iconBtn:hover{
	background-color: #0099d1;
	border: 1px solid #0099d1;
}

.iconBtnSmall {
  border: 1px solid #00B0F0;
  border-radius: 50%;
  cursor: pointer;
  box-sizing: border-box;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #00B0F0;
	color: white;
}

.iconBtnSmall:hover{
	background-color: #0099d1;
	border: 1px solid #0099d1;
}

.addChapter::before,.addPage::before{
	content:"add";
} 

.close::before{
	content:"close";
}

.delete::before, .removeChapter::before, .removePage::before{
	content:"delete";
}

.refresh::before{
	content:"refresh";
}

.inlineBtn, button, input[type="submit"]{
	background-color: #00B0F0;
	  color: white;
	  padding: 10px 40px;
	  border-radius: 20px;
	  text-align: center;
	  cursor: pointer;
	  /*font-family: Helvetica, Arial, sans-serif;*/
	  font-size: 16px;
	  line-height: 20px;
	  border: none;
	  display: inline-block;
	  width: fit-content;
	  text-transform: lowercase;
	  white-space: nowrap;
	  height: 40px;
	  box-sizing: border-box;
}
.inlineBtn:hover, button:hover,input[type="submit"]:hover{
	background-color: #0099d1;
}

input[type="text"], input[type="number"], input[type="password"], textarea, select {
	border: 1px solid #d2d2d2;
	  border-radius: 20px;
	  background-color: white;
	  padding-inline: 15px;
	  /*font-family: 'Segoe UI', Helvetica, Arial, sans-serif;*/
	  font-size: 16px;
	  line-height: 20px;
	  box-sizing: border-box;
	  height: 40px;
}

textarea{
	height:auto;
}	

.lblCell{
	text-align: right;
	padding-right: 15px;
	padding-bottom: 10px;
}

.inputCell{
	padding-bottom: 10px;
}

/*------------------outline------------------------*/
.outlineColumns{
	font-weight:bold;
	margin-bottom:15px;
}

.slidecontainer {
  width: 50%;
}

/* The slider itself */
.slider {
  -webkit-appearance: none;  /* Override default CSS styles */
  appearance: none;
  width: 100%; /* Full-width */
  height: 25px; /* Specified height */
  background: #d3d3d3; /* Grey background */
  outline: none; /* Remove outline */
  opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
  -webkit-transition: .2s; /* 0.2 seconds transition on hover */
  transition: opacity .2s;
}

/* Mouse-over effects */
.slider:hover {
  opacity: 1; /* Fully shown on mouse-over */
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 25px; /* Set a specific slider handle width */
  height: 25px; /* Slider handle height */
  background: #04AA6D; /* Green background */
  cursor: pointer; /* Cursor on hover */
}

.slider::-moz-range-thumb {
  width: 25px; /* Set a specific slider handle width */
  height: 25px; /* Slider handle height */
  background: #04AA6D; /* Green background */
  cursor: pointer; /* Cursor on hover */
}

#editOutlineBox{
	margin-top:10px;
}

.outlineRow{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.outlineActions{

}

.inpChapterTitle,.inpPageTitle{width:400px;margin-bottom:10px;margin-right:10px}
.inpPageTitle{margin-left:20px;}
.addChapter,.addPage{margin-right:10px;}
.inpTest{background-color:orange !important;color:#fff !important}
.inpChapterKeywords, .inpPageKeywords{margin-left:10px;width:400px}

/*course*/
.subPages{
	transform: translateX(20px);
}

.question .card{
	margin:0;
}
.questionText{
	font-weight:bold;
	margin-bottom: 15px;
}

.answerText{
	margin-bottom:10px;
}

.answerMatchPair{
	display: flex;
	flex-direction: row;
	gap: 10px;
	justify-content: space-between;
}

.answerMatchPair .answerTextLeft,.answerMatchPair .answerTextRight, .answerSort{
	padding: 10px;
	background-color: #ccc;
	margin-bottom: 10px;
}

.answerMatchPair .answerTextLeft{
	border-radius: 10px 0 0 10px;
	position:relative;
	width: 45%;
}

.answerMatchPair .answerTextRight{
	border-radius: 0 10px 10px 0;
	position:relative;
	width: 45%;
}

.answerMatchPair .answerTextLeft::after {
  content: "";
  display: block;
  height: 20px;
  width: 16px;
  position: absolute;
  right: 0px;
  top: 50%;
  margin-top: -10px;
  background-color: white;
  border-radius: 10px 0 0 10px;
}

.answerMatchPair .answerTextRight::before {
  content: "";
  display: block;
  height: 20px;
  width: 16px;
  position: absolute;
  left: -15px;
  top: 50%;
  margin-top: -10px;
  background-color: #cccccc;
  border-radius: 10px 0 0 10px;
}

.answerSort{
	border-radius:10px;
}

.pageRow{
	display: flex;
	flex-direction: row;
	gap: 10px;
	position:relative;/*for loader*/
}

.pageRow .pageEdit{
	flex-grow: 1;
	max-width:300px;
	
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.pageRow .page{
	flex-grow: 3;
}

.contentBlock {
  border: 1px solid transparent;
  position: relative;
  border-radius:10px;
	padding:10px;
}

.contentBlock:hover {
  border: 1px solid #e8e8e8;
}

.contentBlockActions {
  position: absolute;
  top: 0;
  right: -100px;
  width: 100px;
  display: none;
  height: 100%;
}

.contentBlock:hover .contentBlockActions {
  display: flex;
	flex-direction: row;
  gap: 10px;
  justify-content: flex-end;
}

.pageContent p, .pageContent ul, .pageContent ol {
  margin: 0;
}

.pageContent ul, .pageContent ol{
	margin-top: 15px;
}

.pageImage img{
	max-width: 100%;
	height: auto;
}

.btnChangeImg{}

.btnChangeImg::before{
	content:"compare_arrows"
}

.additionalOptions{
	position:absolute;
	width:350px;
	top:-88px;
	right:-420px;
	z-index:10;
	margin: 0 !important;
}

.additionalOptionsTitle{
	font-size:16px;
	font-weight: bold;
	margin-bottom: 10px;
}

.additionalOptionsClose{
	position:absolute;
	top:-15px;
	right:-15px;
	z-index:10;
}

.additionalOptionsClose::before{
	content:"close";
}

.additionalOptionsBody {
	display:flex;
	flex-wrap: wrap;
	gap:15px;
	max-height:600px;
	overflow-y: auto;
	min-height: 350px;
	flex-direction:column;
}

.imagePicker{}
.imagePickerTitle{}
.imagePickerClose{}
.imagePickerClose::before{}
.additionalOptionsBody.imagePickerBody{
	flex-direction:row;
}

.imagePickerBody > div{
	width:100px;
	height:100px;
	border:1px solid #e8e8e8;
}

.imagePickerBody img{
	cursor: pointer;
	object-fit: contain;
	max-width: inherit;
	max-height: inherit;
	height: inherit;
	width: inherit;
}
/*--------------------accordion----------------------------*/
.accordion section{
	border-radius: 10px;
	overflow: hidden;
}
.accordion .panel{}


.accordion .panelTitle{
	background-color: #00B0F0;
	padding:10px 10px 10px 30px;
	color:#fff;
	font-weight:bold;
	position: relative;
}

#mainCourse:not(.edit) .accordion .panelTitle{
	cursor: pointer;
}

.accordion .panelTitle::before{
	content: 'keyboard_arrow_down';
	  font-size: 32px;
	  display: block;
	  position: absolute;
	  left: 0;
	  top: 5px;
	  width: 32px;
	  height: 30px;
	  /*transition: 0.4s ease;*/
}

.accordion .panel.opened .panelTitle::before{
	transform: rotate(-180deg);
}

.accordion .panelContent{
	background-color: #f7f7f7;
	padding:10px;
	display:none;
}
.accordion .panel.opened .panelContent{
	display:block;
}

#mainCourse.edit .accordion .panelContent{
	display:block !important;
}

/*--------------------flippingCards----------------------------*/
.flippingCards{
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr 1fr;
}

#mainCourse:not(.edit) .flippingCards .crdContainer{
	perspective: 1000px;
	display: flex;
	height: 250px;
	min-width: 240px;
	width: 100%;
	cursor:pointer;
}

#mainCourse:not(.edit) .flippingCards .crd{
	width: 100%;
	height: 100%;
	position: relative;
	transform-style: preserve-3d;
	transition: transform .3s cubic-bezier(0.65, 0, 0.35, 1);
}

#mainCourse:not(.edit) .flippingCards .crd.flipped {
	transform: rotateY(180deg);
}

#mainCourse:not(.edit) .flippingCards .crdTitle,
#mainCourse:not(.edit) .flippingCards .crdContent{
	text-align: center;
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  border-radius: 10px;
	  backface-visibility: hidden;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  font-size: 24px;
	  font-weight: bold;
	  color: white;
	  background-color: #00B0F0;
	  transition: all .1s cubic-bezier(0.65, 0, 0.35, 1);
}

#mainCourse:not(.edit) .flippingCards .crdTitle{
	box-sizing: border-box;
	padding: 0.5rem;
}

#mainCourse:not(.edit) .flippingCards .crdContent{
	box-sizing: border-box;
	  color: black;
	  background-color: #f7f7f7;
	  border: solid 1px #e5e5e5;
	  flex-direction: column;
	  transform: rotateY(180deg);
} 

#mainCourse.edit .flippingCards .crdTitle,
#mainCourse.edit .flippingCards .crdContent{
	text-align: center;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  font-size: 24px;
	  font-weight: bold;
	  border-radius: 10px;
	  height:200px;
}

#mainCourse.edit .flippingCards .crdTitle{
	color: white;
	background-color: #00B0F0;
}
#mainCourse.edit .flippingCards .crdContent{
	color: black;
	  background-color: #f7f7f7;
}

/*--------------------table----------------------------*/
.pageContent table{}
.pageContent th{
	background-color: #00B0F0;
	padding:10px;
	color:#fff;
	font-weight:bold;
}
.pageContent td{
	background-color: #f7f7f7;
	padding:10px;
}

/*---------------------progressbar---------------------*/
.loaderBox {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 100;
	top:0;
	left:0;
}
.loaderBckg{
	position: absolute;
	background-color:#fff;
	opacity: 0.7;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.loaderFrame{
	background-color: #00B0F0;
	width: 65px;
	height: 65px;
	padding: 15px;
	border-radius: 15px;
	position: absolute;
	top: 50%;
	margin-top: -36px;
	left: 50%;
	margin-left: -36px;
}

.loader {
  width: 65px;
  aspect-ratio: 1;
  --g: radial-gradient(farthest-side,transparent calc(95% - 3px),#fff calc(100% - 3px) 98%,#0000 101%) no-repeat;
  background: var(--g), var(--g), var(--g);
  background-size: 30px 30px;
  animation: l10 1.5s infinite;
}
@keyframes l10 {
  0% {
	background-position: 0 0, 0 100%, 100% 100%;
  }
  25% {
	background-position: 100% 0, 0 100%, 100% 100%;
  }
  50% {
	background-position: 100% 0, 0 0, 100% 100%;
  }
  75% {
	background-position: 100% 0, 0 0, 0 100%;
  }
  100% {
	background-position: 100% 100%, 0 0, 0 100%;
  }
}