.flowchart {
  color: #000000;
}

.flowchart .column-title {
  background-color: #3399cc;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 1rem;
  border-radius: 0.375rem;
  color: white;
  text-align: center;
}

.flowchart h2, .flowchart h3 {
    background-color: #3399cc;
    margin-bottom: 0;
    font-size: 1.1rem;
    padding: 0.5rem 0.75rem;
    border: solid 1px #3399cc;
    border-radius: 0.375rem;
    color: white;
}
  
.flowchart h4 {
background-color: #256E93;
margin-bottom: 0;
font-size: 1.1rem;
padding: 0.5rem 0.75rem;
border: solid 1px #256E93;
border-radius: 0.375rem;
color: white;
}

.flowchart h5 {
background-color: #184962;
margin-bottom: 0;
font-size: 1.1rem;
padding: 0.5rem 0.75rem;
border: solid 1px #184962;
border-radius: 0.375rem;
color: white;
}

.flowchart h6 {
background-color: #040C10;
margin-bottom: 0;
font-size: 1.1rem;
padding: 0.5rem 0.75rem;
border: solid 1px #040C10;
border-radius: 0.375rem;
color: white;
}

.flowchart > .courses > .course:nth-child(2),
.flowchart > .courses > .course:nth-child(3) {
margin-top: 2.5rem;
}
.flowchart .courses {
display: flex;
flex-direction: column;
padding-left: 0;
position: relative;
}
.flowchart .courses .course {
align-items: baseline;
list-style: none;
flex-basis: 0;
flex-grow: 1;
position: relative;
}
.flowchart .courses .course:not(.no-indent) {
padding: 1rem 0 0 1.5rem;
}
.flowchart .courses .course.no-indent + .course.no-indent {
margin-top: 1.5rem;
}
.flowchart .genai-courses {
display: flex;
flex-direction: column;
position: relative;
}
.flowchart .genai-course-item {
margin-bottom: 0;
padding: 0;
list-style: none;
align-items: baseline;
}
.flowchart .genai-course-item::before,
.flowchart .genai-course-item::after {
display: none !important;
}
.flowchart .genai-course-item + .genai-course-item {
margin-top: 1.5rem;
}
.flowchart .genai-course-item .title {
justify-content: space-between;
display: flex;
cursor: pointer;
}
.flowchart .genai-course-item .title::after {
content: "+";
}
.flowchart .genai-course-item.show-content > .title::after {
content: "-";
}
.flowchart .genai-course-item.show-content > .content {
display: block;
}
.flowchart .courses .course:not(.no-indent)::before {
position: absolute;
top: 2.3rem;
left: 0;
width: 1.5rem;
height: 1px;
content: "";
background-color: #3399cc;
}
.flowchart .courses .course:not(.no-indent)::after {
background-color: #3399cc;
position: absolute;
content: "";
bottom: 0;
height: 100%;
width: 1px;
left: 0;
top: 0;
}
.flowchart .courses .course:not(.no-indent):last-child::after {
height: 2.3rem;
}
.flowchart .courses .course.show-content > .title::after {
content: "-";
}
.flowchart .courses .course.show-content > .content {
display: block;
}
.flowchart .courses .course .title {
justify-content: space-between;
display: flex;
cursor: pointer;
}
.flowchart .courses .course .title::after {
content: "+";
}
.flowchart .courses .course .content {
padding: 0.5rem;
display: none;
border: solid 1px #3399cc;
border-radius: 0.375rem;
}
.flowchart .courses .course .content .icons {
display: flex;
justify-content: space-evenly;
margin-bottom: 0.5rem;
}
.flowchart .courses .course .content .links {
display: flex;
justify-content: flex-end;
}
.flowchart .courses .course .content .links a,
.flowchart .courses .course .content .links span {
text-decoration: underline;
cursor: pointer;
color: #3399cc;
}
.flowchart .courses .course .content .links a:hover,
.flowchart .courses .course .content .links span:hover {
text-decoration: none;
}

@media only screen and (min-width: 992px) {
  .flowchart h2, .flowchart h3, .flowchart h4, .flowchart h5, .flowchart h6 {
    font-size: 1.2rem;
    padding: 0.5rem 1rem;
  }
  .flowchart .courses .course .content {
    padding: 1rem;
  }
  .flowchart .courses .course .content .icons {
    margin-bottom: 1rem;
  }
  .flowchart > .courses {
    flex-direction: row;
    align-items: flex-start;
  }
  .flowchart > .courses > .course:nth-child(1) {
    margin-right: 0.5rem;
  }
  .flowchart > .courses > .course:nth-child(1)::after {
    height: 2.3rem;
  }
  .flowchart > .courses > .course:nth-child(2) {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: 0 !important;
  }
  .flowchart > .courses > .course:nth-child(3) {
    margin-left: 0.5rem;
    margin-top: 0 !important;
  }
  .flowchart > .courses > .course:nth-child(2)::after,
  .flowchart > .courses > .course:nth-child(3)::after {
    height: 2.3rem;
  }
}