@font-face {
	font-family: 'Calibri';
	src: url('./../assets/fonts/calibri-font-family/') format('truetype');
	font-weight: normal;
	font-style: normal;
}

:root {
	--primary-color: #228fca;
	--secondary-color: #3e28ab;
	--tertiary-color: #37117f;
}

* {
	box-sizing: border-box;
	max-width: 100%;
}

html,
body {
	font-family: 'Calibri';
	font-size: 20px;
	background: white;
	width: 100%;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


header,
footer {
	width: 100vw;
	background: linear-gradient(120deg, var(--primary-color) 0%, var(--secondary-color) 50%, var(--tertiary-color) 100%);
	color: white;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0rem 2rem;
	position: sticky;
	top: 0;
	z-index: 1000;
}

header h1,
footer h1 {
	color: white;
	font-size: 2rem;
}


h1 {
	color: black;
	font-size: 40px;
}

h2 {
	color: black;
	font-size: 30px;

}

.table-container {
      max-width: 900px;
      margin: auto;
      overflow-x: auto;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      border-radius: 8px;
      background-color: #fff;
    }

    table {
      width: 100%;
      border-collapse: separate;
	  border-spacing: 0 ;
      border-radius: 8px;
      overflow: hidden;
    }

    thead {
      background-color: #0078d4;
      color: white;
    }

    th, td {
      padding: 0.5rem;
      text-align: left;
	   font-size: 15px;
	}
    

    tbody tr:hover {
      font-size: 15px;
		background-color: #f0f8ff;
    }

    th {
      font-weight: 600;
      letter-spacing: 0.5px;
    }

  
    

nav a {
	color: white;
	margin: 0 1em;
	text-decoration: none;
	font-size: 18px;
}

.container {
	display: flex;
}

.main {
  flex: 1;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: 0em;
  margin-right: 3em;
  padding-left: 2em;
  border-left: 5px solid var(--primary-color);
}

.main_about {
  font-size: 18px;
	flex: 1;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: 0em;
  margin-right: 3em;
  padding-left: 2em;
  border-left: 5px solid var(--primary-color);
}

.diagram {
	background: #fff;
	border: 1px solid #ccc;
	padding: 1em;
	text-align: center;
}


/* Sidebar styles */
.sidebar {
	align-self: center;
	width: 350px;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	margin-top: 30px;
	background-color: #dae7f7;
	padding: 20px;
	box-sizing: border-box;
	border-right: 1px solid #642ce6;
	height: 220px;
	z-index: 500;
}
.text_width {
	width: 450px;
}

.sidebar h2 {
	margin-top: 0;
	color: #2c3e50;
}

.sidebar img {
	width: 100%;
	height: auto;
	margin: 15px 0;
	border: 1px solid #aaa;
	border-radius: 4px;
}

.sidebar p {
	font-size: 14px;
	color: #333;
}

.section1 {
  margin-bottom: 50px; 
  margin-top: 50px;
}

.td_border {
		border-bottom: 5px solid #d7ddf8; 
	      /*     #e0e0e0; */
	  border-right: 5px solid #b0bdf7;
	  border-left: 5px solid #b0bdf7;
	  border-top: 5px #b0bdf7;
		 
    }

.contact_box {
	z-index: 500;
	margin-left: auto;  
	margin-right: auto;  
    width: 90%;
    /* max-width: 350px; */
    flex-basis: 100%;
	display: block;
	text-align: center;
	/* font-size: clamp(1rem, 2.5vw, 1.5rem); */
	font-size: 1rem;
}

@media (max-width: 600px) {
    .contact_box {
        font-size: 1.25rem;
    }
}