#body-row {
    margin-left: 0;
    margin-right: 0;
}

code {
	font-size: 14px !important;
}

:not(pre)>code[class*=language-], pre[class*=language-] {
	background: #eff0f1 !important;
}

.language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url {
    background: unset !important;
}

:target:before {
    content: "";
    display: block;
    margin-top: -115x;
    height: 115px;
    width: 1px;
}


.anchorjs-link {
  text-decoration: none;
}
*:hover > .anchorjs-link {
	text-decoration: none;
}

#sidebar-container {
    min-height: 100vh;
    padding: 0;
    width: 350px;
    padding-top: 115px;
    border-right: 2px solid #d8d8d8;
}

#sidebar-container .list-group a {
    color: #333;
}

#sidebar-container .list-group .cw-sidebar-submenu a {
    padding-left: 30px;
}

#sidebar-container .list-group .cw-sidebar-submenu .cw-sidebar-submenu-submenu a {
    padding-left: 40px;
}

#sidebar-container .list-group .cw-sidebar-submenu .cw-sidebar-submenu-submenu .cw-sidebar-submenu-submenu-submenu a {
    padding-left: 50px;
}

.submenu-icon {
	position: absolute;
    right: 20px;
}
.cw-sidebar-submenu {
    font-size: 0.95rem;
}

/* Separators */
.cw-sidebar-separator-title {
    
    height: 35px;
}

.cw-sidebar-separator {
    
    height: 25px;
}

.cw-current-page {
    background-color: #BEE5F6 !important;
    border-radius: 0 !important;
    /*border-bottom: 5px #0073ba !important;
    border-style: solid !important;
    border-right: 0px !important;
    border-left: 0px !important;
    border-top: 0px !important;*/
}
.cw-current-page:hover {
    color: #333 !important;
}

/* Closed submenu icon */
#sidebar-container .list-group .list-group-item[aria-expanded="false"] .submenu-icon::after {
    content: " \f105";
    font-family: FontAwesome;
    display: inline;
    text-align: right;
    font-size: 20px;
    font-weight: 300;
    padding-left: 10px;
}

/* Opened submenu icon */
#sidebar-container .list-group .list-group-item[aria-expanded="true"] .submenu-icon::after {
    content: " \f107";
    font-family: FontAwesome;
    display: inline;
    text-align: right;
    font-weight: 300;
    font-size: 20px;
    padding-left: 10px;
}

#content-container {
    width: calc(100% - 350px);
}

#content-container > div {
    padding-top: 131px;
}


.cw-text-gray {
    color: #222 !important;
}

.cw-margin-auto {
    margin: auto !important;
}

.cw-bg-sidebar-menu-item {
    background-color: #f8f9fa;
}

.list-group-item {
    border: none;
}
.list-group > .list-group-item {
    border-bottom: 1px solid #d8d8d8;
    border-top: 1px solid #d8d8d8;
    font-size: 18px;
    font-weight: 400;
}

.cw-extlink:after {
	content: " \f08E";
    font-family: FontAwesome;
    display: inline;
    font-weight: 300;
    font-size: 14px;
    padding-left: 10px;
}

.cw-docs-spacer {
	height: 115px;
}

.cs-gettingstarted-mobile-title {
		display: none;
	}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (max-width: 1320px) {
    #cs-gettingstarted-block {
    		width: 700px;
    }
    #cs-gettingstarted-block-2 {
    		width: 700px;
    }
    .cw-gettingstarted-card {
	    width: 200px;
	    height: 270px;
	    background-color: #3d7594;
	}
}

@media only screen and (max-width: 1160px) {
    #cs-gettingstarted-block {
    		width: 550px;
    }
    #cs-gettingstarted-block-2 {
    		width: 550px;
    }
    .cw-gettingstarted-card {
	    width: 150px;
	    height: 250px;
	    background-color: #3d7594;
	}
	.cw-gettingstarted-card-link {
		font-size: 14px;
	}
}

@media only screen and (max-width: 992px) {
	.cw-ggettingstarted-mobile-card-container {
		padding-bottom: 50px;
	}
	.cw-gettingstarted-mobile-title-container {
		height: 50px;
	}
	.cs-gettingstarted-mobile-title {
		display: block;
	}
	.cw-gettingstarted-card img {
		top: 20px;
		width: 62px;
    		left: -8px;
	}
	.cw-gettingstarted-card-link-container {
    		top: 90px;
	}
    #cs-gettingstarted-block {
    		display: none;
    }
    #cs-gettingstarted-block-2 {
    		width: 80%;
    }
    .cw-gettingstarted-card {
	    width: 100%;
	    height: 200px;
	    background-color: #3d7594;
	}
	.cw-gettingstarted-card-link {
		font-size: 20px;
	}
	.cw-getting-started-text {
	    position: absolute;
	    top: -15px;
	}
	
	#sidebar-container {
        padding-top: 101px;
    }
}




@media only screen and (max-width: 768px) {
	.cw-docs-spacer {
        height: 0px;
	}
    #content-container {
        width: 100vw;
    }

    #sidebar-container {
        width: 100vw;
        	min-height: 0;
    }
    
    
}
