/* =============================================================================
   Flexbox Model
   ========================================================================== */
   
.flexv{ 
	display: flex;   
    flex-direction:column;
}

.flexcv{                   
	flex: 1;                            
 }


.flexh{    
	display: flex;   
    flex-direction:row;
}

.flexch{     
	flex: 1;                            
 }
 













/* =============================================================================
   Basic Elements
   ========================================================================== */

.wrapper{position:relative;}

.content{position:relative;}







































/* =============================================================================
   Complex Button
   ========================================================================== */
.complexButton{	    
	display: flex;   
    flex-direction:row;
	background:transparent !important;
	min-height:60px;
	min-width:150px;
	cursor:pointer;
}

.complexButton .button{  
	flex: 1;
}

.complexButton .text{
	background-color:transparent !important; 
	padding-left: 0px; 
	text-align: right; 
	font-size: 60px; 
	line-height: 1; 
	height:inherit; 
	color:#ffffff; 
	position:relative; 
	letter-spacing:5px; 
	min-width:25px; 
	width:auto; 
	font-family:'LCARS Block';
	overflow:hidden;
	text-overflow:clip;
}

.complexButton .block, 
.complexButton .bar {
	min-width:25px; 
	position:relative; 
	min-height:100%;
}

.complexButton .cap{
	position:relative;  
	height:100%;
}

.complexButton .button{
	width:auto; 
	position:relative; 
	height:100%;
	min-width:0px;
}

.complexButton *{margin-left:5px;}
.complexButton :first-child{margin-left:0px;}
.complexButton .text + *{margin-left:5px;}












/* =============================================================================
   Radio Complex Button
   ========================================================================== */

.radio .check{visibility:hidden;}
.radio.checked .check{visibility:visible;}
.radio .check:not([class*="bg-"]){background-color:#ffffff;}











/* =============================================================================
   Checkbox Complex Button
   ========================================================================== */

.checkbox .check:not([class*="bg-"]){background-color:#ffffff;}
.checkbox .check ~ .check{visibility:hidden;}

.checkbox.checked .check{visibility:hidden;}
.checkbox.checked .check ~ .check{visibility:visible;}











/* =============================================================================
   Duo & Duo Vertical Complex Button
   ========================================================================== */

.complexButton.vertical{
	flex-direction:column;
}

.complexButton.vertical .button{
	margin-left:0px; 
	margin-bottom:5px;
}

.complexButton.vertical .button:last-child{margin-bottom:0px;}

.complexButton.duo .button{margin-left:0px;}

.complexButton.duo:not(.vertical) .button:last-child{margin-left:-2px !important;}

.complexButton.vertical.duo .button{margin-bottom:0px;}
.complexButton.vertical.duo .button:last-child{margin-top:-2px !important; }


















/* =============================================================================
   Endcap Buttons
   ========================================================================== */
.endcap{overflow: hidden;}
.endcap{z-index:2; background-color:transparent !important;}
.endcap > *{
	position:absolute; 
	top:0px; 
	bottom:0px; 
	width:150%; 
	pointer-events:none; 
	transform-origin: bottom;
}

.endcap:after,
.endcap:before{z-index:3;}

.endcap.large{min-width:150px;}

.endcap.large.bottom-right:before{right:50px;}
.endcap.large.bottom-left:before{left:50px;}

.endcap.large.bottom-right:after{right:125px;}
.endcap.large.bottom-left:after{left:125px;}


.endcap.large.top-right:after{right:50px;}
.endcap.large.top-left:after{left:50px;}

.endcap.large.top-right:before{right:125px;}
.endcap.large.top-left:before{left:125px;}


.endcap.large.bottom-right .cap{right: -16px;}
.endcap.large.top-right .cap{
	right:67px;
}

.endcap.large.top-right .cap{transform: skew(-18deg);}
.endcap.large.bottom-right  .cap{transform: skew(18deg);}

.endcap.large.bottom-right .cap,
.endcap.large.top-right .cap{
	border-top-right-radius:60px;
	border-bottom-right-radius:60px;
}  

.endcap.large.bottom-left .cap{left:-16px;}
.endcap.large.top-left .cap{
	left: 67px;
}

.endcap.large.top-left .cap{transform: skew(18deg);}
.endcap.large.bottom-left  .cap{transform: skew(-18deg);}

.endcap.large.bottom-left .cap,
.endcap.large.top-left .cap{
	border-top-left-radius:60px;
	border-bottom-left-radius:60px;
}  
































/* =============================================================================
   Elbows
   ========================================================================== */
.elbow{
	position:relative; 
	z-index:1; 
	cursor:pointer; 
}

.elbow:before{
	font-size:20px; 
	display:block; 
	position:absolute; 
	left:0px; 
	right:0px; 
	padding:5px 7px; 
	letter-spacing:-1px;
	line-height:1.25;
	z-index: 2;
	background-color:transparent;
	background-clip:content-box;
	max-height: 100%;
	overflow:hidden;
}

.elbow:after{
	font-size:20px; 
	display:block; 
	position:absolute; 
	left:0px; 
	right:0px;
	padding:5px 7px 5px; 
	letter-spacing:-1px;	
	line-height:1.25; 
    z-index: 2;
	background-color:transparent;
	background-clip:content-box;
	max-height: 100%;
	overflow:hidden;
}

.elbow[data-label]:before{content:attr(data-label);}
.elbow[data-altlabel]:after{content:attr(data-altLabel);}

.elbow .block{
	position:absolute;
	z-index:1;  
	background-color:transparent;
	-webkit-box-sizing: content-box; 
	-moz-box-sizing: content-box;
	box-sizing: content-box; 
}

.elbow .bar{
	position:absolute; 
	background-color:inherit !important; 
    border-color: inherit !important;
}


.elbow.top-left .bar .block{
	border-left-color: inherit !important;
    border-top-color: inherit !important;
}

.elbow.bottom-left .bar .block{
	border-left-color: inherit !important;
    border-bottom-color: inherit !important;
}


.elbow.bottom-right .bar .block{
	border-right-color: inherit !important;
    border-bottom-color: inherit !important;
}


.elbow.top-right .bar .block{
	border-right-color: inherit !important;
    border-top-color: inherit !important;
}


/* =============================================================================
   Elbows - Default Horizontal
   ========================================================================== */
.elbow.default.horizontal{
	min-width:92.5px; 
	min-height:92.5px;	
}

.elbow.default.horizontal .block{
	min-height:35px;
	min-width:35px; 
	border-width:20px; 
	border-style: solid;
}
.elbow.default.horizontal .bar{
	max-height:30px;
	min-width:50px;
}

/* Top Right Default Horizontal Elbow */
.top-right.default.horizontal{
	border-top-right-radius:92.5px; 
	text-align:left;
}

.top-right.default.horizontal .bar{
	top:0px; 
	right:calc(100% - 5px);
}

.top-right.default.horizontal .block{
	right:-15px;
	top:calc(100% - 20px);
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:70px; 
	border-bottom-left-radius: 50px;
	
}

.top-right.default.horizontal:before{bottom:0px; right:10px;}
.top-right.default.horizontal:after{top:0px; right:70px;}

/* Top Left Default Horizontal Elbow */
.top-left.default.horizontal{
	border-top-left-radius:92.5px; 
	text-align:right;
}

.top-left.default.horizontal .bar{
	top:0px; 
	left:calc(100% - 5px);
}

.top-left.default.horizontal .block{
	top:calc(100% - 20px);
	left:-15px;
    border-right: 0px solid transparent;
    border-bottom: 0px solid transparent;
    border-top-left-radius: 70px;
    border-bottom-right-radius: 50px;

}

.top-left.default.horizontal:before{bottom:0px; left:10px;}
.top-left.default.horizontal:after{top:0px; left:70px;}

/* Bottom Left Default Horizontal Elbow */
.bottom-left.default.horizontal{
	border-bottom-left-radius:92.5px; 
	text-align:right;
}

.bottom-left.default.horizontal .bar{
	bottom:0px; 
	left:calc(100% - 5px);
}

.bottom-left.default.horizontal .block{
	bottom:calc(100% - 20px);
	left:-15px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:70px; 
	border-top-right-radius: 50px;
}


.bottom-left.default.horizontal:before{top:0px; left:10px;}
.bottom-left.default.horizontal:after{bottom:0px; left:70px;}

/* Bottom Right Default Horizontal Elbow */
.bottom-right.default.horizontal{
	border-bottom-right-radius:92.5px; 
	text-align:left;
}

.bottom-right.default.horizontal > .bar{
	bottom:0px; 
	right:calc(100% - 5px);
}

.bottom-right.default.horizontal .block{
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:70px; 
	border-top-left-radius: 50px;
	bottom:calc(100% - 20px);
	right:-15px;
}

.bottom-right.default.horizontal:before{top:0px;right:10px;}
.bottom-right.default.horizontal:after{bottom:0px; right:70px;}


/* =============================================================================
   Elbows - Default Vertical
   ========================================================================== */
.elbow.default.vertical{
	min-width:92.5px; 
	min-height:92.5px;	
}

.elbow.default.vertical .block{

	min-height:35px;
	min-width:35px; 
	border-width:20px; 
	border-style: solid;
}
.elbow.default.vertical .bar{
	min-height:50px;
	max-width:30px;
}

/* Top Right Vertical Default Elbow */
.top-right.default.vertical{
	border-top-right-radius:92.5px; 
}

.top-right.default.vertical .bar{
	right:0px;
	top:calc(100% - 5px);
}

.top-right.default.vertical .block{
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:70px; 
	border-bottom-left-radius: 50px;
	right:calc(100% - 20px);
	top:-15px;
}

.top-right.default.vertical:before{bottom:0px; right:10px;}
.top-right.default.vertical:after{top:0px;  right:70px;}

/* Top Left Vertical Default Elbow */
.top-left.default.vertical{
	border-top-left-radius:92.5px; 
	text-align:right;
}

.top-left.default.vertical .bar{
	left:0px;
	top:calc(100% - 5px);
}

.top-left.default.vertical .block{
	border-right:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-left-radius:70px; 
	border-bottom-right-radius: 50px;
	left:calc(100% - 20px);
	top:-15px;
}


.top-left.default.vertical:before{bottom:0px; left:10px;}
.top-left.default.vertical:after{top:0px; left:70px;}

/* Bottom Left Vertical Default Elbow */
.bottom-left.default.vertical{
	border-bottom-left-radius:92.5px; 
	text-align:right;
}

.bottom-left.default.vertical .bar{
	left:0px;
	bottom:calc(100% - 5px);
}

.bottom-left.default.vertical .block{
	left:calc(100% - 20px);
	bottom:-15px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:70px; 
	border-top-right-radius: 50px;
}


.bottom-left.default.vertical:before{bottom:0px; left:70px;}
.bottom-left.default.vertical:after{top:0px; left:10px;}

/* Bottom Right Vertical Default Elbow */
.bottom-right.default.vertical{
	border-bottom-right-radius:92.5px; 
}

.bottom-right.default.vertical .bar{
	right:0px;
	bottom:calc(100% - 5px);
}

.bottom-right.default.vertical .block{
	right:calc(100% - 20px);
	bottom:-15px;
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:70px; 
	border-top-left-radius: 50px;
}

.bottom-right.default.vertical:before{bottom:0px; right:70px;}
.bottom-right.default.vertical:after{top:0px; right:10px;}

























/* =============================================================================
   Elbows - Base Horizontal
*   This class is meant to be used as an elbow curve that matches
*   the UI vertical step.  Default is 60px height so a 60px 
*   border-radius. 
   ========================================================================== */
.elbow.base.horizontal{
	min-width:60px; 
	min-height:60px;	
}

/* Top Right Base Horizontal Elbow */
.elbow.base.horizontal .block{
	min-height:22px;
	min-width:22px; 
	border-width:20px; 
	border-style: solid;
}
.elbow.base.horizontal .bar{
	max-height:30px;
	min-width:50px;
}


.top-right.base.horizontal{
	border-top-right-radius:60px; 
	text-align:left;
}

.top-right.base.horizontal .bar{
	top:0px; 
	right:calc(100% - 5px);
}

.top-right.base.horizontal .block{
	right:-15px;
	top:calc(100% - 20px);
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:60px; 
	border-bottom-left-radius: 30px;
	
}

.top-right.base.horizontal:before{bottom:0px; right:10px;}
.top-right.base.horizontal:after{top:0px; right:50px;}

/* Top Left Base Horizontal Elbow */
.top-left.base.horizontal{
	border-top-left-radius:75px; 
	text-align:right;
}

.top-left.base.horizontal .bar{
	top:0px; 
	left:calc(100% - 5px);
}

.top-left.base.horizontal .block{
	top:calc(100% - 20px);
	left:-15px;
    border-right: 0px solid transparent;
    border-bottom: 0px solid transparent;
    border-top-left-radius: 60px;
    border-bottom-right-radius: 30px;

}

.top-left.base.horizontal:before{bottom:0px; left:10px;}
.top-left.base.horizontal:after{top:0px; left:50px;}

/* Bottom Left Base Horizontal Elbow */
.bottom-left.base.horizontal{
	border-bottom-left-radius:60px; 
	text-align:right;
}

.bottom-left.base.horizontal .bar{
	bottom:0px; 
	left:calc(100% - 5px);
}

.bottom-left.base.horizontal .block{
	bottom:calc(100% - 20px);
	left:-15px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:60px; 
	border-top-right-radius: 30px;
}


.bottom-left.base.horizontal:before{top:0px; left:10px;}
.bottom-left.base.horizontal:after{bottom:0px; left:50px;}

/* Bottom Right Base Horizontal Elbow */
.bottom-right.base.horizontal{
	border-bottom-right-radius:60px; 
	text-align:left;
}

.bottom-right.base.horizontal > .bar{
	bottom:0px; 
	right:calc(100% - 5px);
}

.bottom-right.base.horizontal .block{
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:60px; 
	border-top-left-radius: 30px;
	bottom:calc(100% - 20px);
	right:-15px;
}

.bottom-right.base.horizontal:before{top:0px; right:10px;}
.bottom-right.base.horizontal:after{bottom:0px; right:50px;}


/* =============================================================================
   Elbows - Base Vertical
   ========================================================================== */
.elbow.base.vertical{
	min-width:60px; 
	min-height:60px;	
}

.elbow.base.vertical .block{

	min-height:30px;
	min-width:30px; 
	border-width:20px; 
	border-style: solid;
}
.elbow.base.vertical .bar{
	min-height:50px;
	max-width:30px;
}

/* Top Right Vertical Base Elbow */
.top-right.base.vertical{
	border-top-right-radius:60px; 
}

.top-right.base.vertical .bar{
	right:0px;
	top:calc(100% - 5px);
}

.top-right.base.vertical .block{
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:60px; 
	border-bottom-left-radius: 30px;
	right:calc(100% - 20px);
	top:-15px;
}

.top-right.base.vertical:before{bottom:0px; right:10px;}
.top-right.base.vertical:after{top:0px; right:50px;}

/* Top Left Vertical Base Elbow */
.top-left.base.vertical{
	border-top-left-radius:60px; 
	text-align:right;
}

.top-left.base.vertical .bar{
	left:0px;
	top:calc(100% - 5px);
}

.top-left.base.vertical .block{
	border-right:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-left-radius:60px; 
	border-bottom-right-radius: 30px;
	left:calc(100% - 20px);
	top:-15px;
}


.top-left.base.vertical:before{bottom:0px; left:10px;}
.top-left.base.vertical:after{top:0px; left:50px;}

/* Bottom Left Vertical Base Elbow */
.bottom-left.base.vertical{
	border-bottom-left-radius:60px; 
	text-align:right;
}

.bottom-left.base.vertical .bar{
	left:0px;
	bottom:calc(100% - 5px);
}

.bottom-left.base.vertical .block{
	left:calc(100% - 20px);
	bottom:-15px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:60px; 
	border-top-right-radius: 30px;
}


.bottom-left.base.vertical:before{bottom:0px; left:50px;}
.bottom-left.base.vertical:after{top:0px; left:10px;}

/* Bottom Right Vertical Base Elbow */
.bottom-right.base.vertical{
	border-bottom-right-radius:60px; 
}

.bottom-right.base.vertical .bar{
	right:0px;
	bottom:calc(100% - 5px);
}

.bottom-right.base.vertical .block{
	right:calc(100% - 20px);
	bottom:-15px;
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:60px; 
	border-top-left-radius: 30px;
}

.bottom-right.base.vertical:before{bottom:0px; right:50px;}
.bottom-right.base.vertical:after{top:0px; right:10px;}


/* =============================================================================
   Elbows - Medium Horizontal
   ========================================================================== */
.elbow.medium.horizontal{
	min-width:50px; 
	min-height:50px;	
}

.elbow.medium.horizontal .block{
	min-height:17px;
	min-width:17px; 
	border-width:10px; 
	border-style: solid;
}
.elbow.medium.horizontal .bar{
	max-height:30px;
	min-width:50px;
}

/* Top Right medium Horizontal Elbow */
.top-right.medium.horizontal{
	border-top-right-radius:45px; 
	text-align:left;
}

.top-right.medium.horizontal .bar{
	top:0px; 
	right:calc(100% - 5px);
}

.top-right.medium.horizontal .block{
	right:-5px;
	top:calc(100% - 10px);
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:34px; 
	border-bottom-left-radius: 24px;
	
}

.top-right.medium.horizontal:before{bottom:0px; right:10px;}
.top-right.medium.horizontal:after{top:0px; right:25px;}

/* Top Left medium Horizontal Elbow */
.top-left.medium.horizontal{
	border-top-left-radius:45px; 
	text-align:right;
}

.top-left.medium.horizontal .bar{
	top:0px; 
	left:calc(100% - 5px);
}

.top-left.medium.horizontal .block{
	top:calc(100% - 10px);
	left:-5px;
    border-right: 0px solid transparent;
    border-bottom: 0px solid transparent;
    border-top-left-radius: 34px;
    border-bottom-right-radius: 24px;

}

.top-left.medium.horizontal:before{bottom:0px; left:10px;}
.top-left.medium.horizontal:after{top:0px; left:25px;}

/* Bottom Left medium Horizontal Elbow */
.bottom-left.medium.horizontal{
	border-bottom-left-radius:45px; 
	text-align:right;
}

.bottom-left.medium.horizontal .bar{
	bottom:0px; 
	left:calc(100% - 5px);
}

.bottom-left.medium.horizontal .block{
	bottom:calc(100% - 10px);
	left:-5px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:34px; 
	border-top-right-radius: 24px;
}


.bottom-left.medium.horizontal:before{top:0px; left:10px;}
.bottom-left.medium.horizontal:after{bottom:0px; left:25px;}

/* Bottom Right medium Horizontal Elbow */
.bottom-right.medium.horizontal{
	border-bottom-right-radius:30px; 
	text-align:left;
}

.bottom-right.medium.horizontal > .bar{
	bottom:0px; 
	right:calc(100% - 5px);
}

.bottom-right.medium.horizontal .block{
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:34px; 
	border-top-left-radius: 24px;
	bottom:calc(100% - 10px);
	right:-5px;
}

.bottom-right.medium.horizontal:before{top:0px; right:10px;}
.bottom-right.medium.horizontal:after{bottom:0px; right:25px;}

/* =============================================================================
   Elbows - Medium Vertical
   ========================================================================== */
.elbow.medium.vertical{
	min-width:45px; 
	min-height:45px;	
}

.elbow.medium.vertical .block{

	min-height:20px;
	min-width:20px; 
	border-width:10px; 
	border-style: solid;
}

.elbow.medium.vertical .bar{
	min-height:50px;
	max-width:50px;
}

/* Top Right Vertical medium Elbow */
.top-right.medium.vertical{
	border-top-right-radius:45px; 
}

.top-right.medium.vertical .bar{
	right:0px;
	top:calc(100% - 5px);
}

.top-right.medium.vertical .block{
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:34px; 
	border-bottom-left-radius: 24px;
	right:calc(100% - 10px);
	top:-5px;
}

.top-right.medium.vertical:before{bottom:0px; right:10px;}
.top-right.medium.vertical:after{top:0px; right:25px;}

/* Top Left Vertical medium Elbow */
.top-left.medium.vertical{
	border-top-left-radius:45px; 
	text-align:right;
}

.top-left.medium.vertical .bar{
	left:0px;
	top:calc(100% - 5px);
}

.top-left.medium.vertical .block{
	border-right:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-left-radius:34px; 
	border-bottom-right-radius: 24px;
	left:calc(100% - 10px);
	top:-5px;
}


.top-left.medium.vertical:before{bottom:0px; left:10px;}
.top-left.medium.vertical:after{top:0px; left:25px;}

/* Bottom Left Vertical medium Elbow */
.bottom-left.medium.vertical{
	border-bottom-left-radius:45px; 
	text-align:right;
}

.bottom-left.medium.vertical .bar{
	left:0px;
	bottom:calc(100% - 5px);
}

.bottom-left.medium.vertical .block{
	left:calc(100% - 10px);
	bottom:-5px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:34px; 
	border-top-right-radius: 24px;
}


.bottom-left.medium.vertical:before{bottom:0px; left:25px;}
.bottom-left.medium.vertical:after{top:0px; left:10px;}

/* Bottom Right Vertical medium Elbow */
.bottom-right.medium.vertical{
	border-bottom-right-radius:45px; 
}

.bottom-right.medium.vertical .bar{
	right:0px;
	bottom:calc(100% - 5px);
}

.bottom-right.medium.vertical .block{
	right:calc(100% - 10px);
	bottom:-5px;
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:34px; 
	border-top-left-radius: 24px;
}

.bottom-right.medium.vertical:before{bottom:0px; right:25px;}
.bottom-right.medium.vertical:after{top:0px; right:10px;}

 
 
 
 /* =============================================================================
   Elbows - small Horizontal
   ========================================================================== */
.elbow.small.horizontal{
	min-width:25px; 
	min-height:25px;	
}

.elbow.small.horizontal .block{
	min-height:10px;
	min-width:10px; 
	border-width:5px; 
	border-style: solid;
}
.elbow.small.horizontal .bar{
	min-height:13px;
}

/* Top Right small Horizontal Elbow */
.top-right.small.horizontal{
	border-top-right-radius:25px; 
	text-align:left;
}

.top-right.small.horizontal .bar{
	top:0px; 
	right:calc(100% - 2px);
}

.top-right.small.horizontal .block{
	right:-3px;
	top:calc(100% - 5px);
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:30px; 
	border-bottom-left-radius: 20px;
	
}

.top-right.small.horizontal:before{bottom:0px; right:10px; font-size: 14px;}
.top-right.small.horizontal:after{top:0px; right:25px; font-size: 14px;}

/* Top Left small Horizontal Elbow */
.top-left.small.horizontal{
	border-top-left-radius:25px; 
	text-align:right;
}

.top-left.small.horizontal .bar{
	top:0px; 
	left:calc(100% - 2px);
}

.top-left.small.horizontal .block{
	top:calc(100% - 5px);
	left:-3px;
    border-right: 0px solid transparent;
    border-bottom: 0px solid transparent;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 20px;

}

.top-left.small.horizontal:before{bottom:0px; left:10px; font-size: 14px;}
.top-left.small.horizontal:after{top:0px; left:25px; font-size: 14px;}

/* Bottom Left small Horizontal Elbow */
.bottom-left.small.horizontal{
	border-bottom-left-radius:25px; 
	text-align:right;
}

.bottom-left.small.horizontal .bar{
	bottom:0px; 
	left:calc(100% - 2px);
}

.bottom-left.small.horizontal .block{
	bottom:calc(100% - 5px);
	left:-3px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:30px; 
	border-top-right-radius: 20px;
}


.bottom-left.small.horizontal:before{top:0px; left:10px; font-size: 14px;}
.bottom-left.small.horizontal:after{bottom:0px; left:25px; font-size: 14px;}

/* Bottom Right small Horizontal Elbow */
.bottom-right.small.horizontal{
	border-bottom-right-radius:25px; 
	text-align:left;
}

.bottom-right.small.horizontal > .bar{
	bottom:0px; 
	right:calc(100% - 2px);
}

.bottom-right.small.horizontal .block{
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:30px; 
	border-top-left-radius: 20px;
	bottom:calc(100% - 5px);
	right:-3px;
}

.bottom-right.small.horizontal:before{top:0px; right:10px; font-size: 14px;}
.bottom-right.small.horizontal:after{bottom:0px; right:25px; font-size: 14px;}

/* =============================================================================
   Elbows - small Vertical
   ========================================================================== */
.elbow.small.vertical{
	min-width:25px; 
	min-height:25px;	
}

.elbow.small.vertical .block{

	min-height:10px;
	min-width:10px; 
	border-width:5px; 
	border-style: solid;
}

.elbow.small.vertical .bar{
	min-width:13px;
}

/* Top Right Vertical small Elbow */
.top-right.small.vertical{
	border-top-right-radius:25px; 
}

.top-right.small.vertical .bar{
	right:0px;
	top:calc(100% - 2px);
}

.top-right.small.vertical .block{
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:30px; 
	border-bottom-left-radius: 20px;
	right:calc(100% - 5px);
	top:-3px;
}

.top-right.small.vertical:before{bottom:0px; right:10px; font-size: 14px;}
.top-right.small.vertical:after{top:0px; right:25px; font-size: 14px;}

/* Top Left Vertical small Elbow */
.top-left.small.vertical{
	border-top-left-radius:25px; 
	text-align:right;
}

.top-left.small.vertical .bar{
	left:0px;
	top:calc(100% - 2px);
}

.top-left.small.vertical .block{
	border-right:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-left-radius:30px; 
	border-bottom-right-radius: 20px;
	left:calc(100% - 5px);
	top:-3px;
}


.top-left.small.vertical:before{bottom:0px; left:10px; font-size: 14px;}
.top-left.small.vertical:after{top:0px; left:25px; font-size: 14px;}

/* Bottom Left Vertical small Elbow */
.bottom-left.small.vertical{
	border-bottom-left-radius:25px; 
	text-align:right;
}

.bottom-left.small.vertical .bar{
	left:0px;
	bottom:calc(100% - 2px);
}

.bottom-left.small.vertical .block{
	left:calc(100% - 5px);
	bottom:-3px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:30px; 
	border-top-right-radius: 20px;
}


.bottom-left.small.vertical:before{bottom:0px; left:25px; font-size: 14px;}
.bottom-left.small.vertical:after{top:0px; left:10px; font-size: 14px;}

/* Bottom Right Vertical small Elbow */
.bottom-right.small.vertical{
	border-bottom-right-radius:25px; 
}

.bottom-right.small.vertical .bar{
	right:0px;
	bottom:calc(100% - 2px);
}

.bottom-right.small.vertical .block{
	right:calc(100% - 5px);
	bottom:-3px;
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:30px; 
	border-top-left-radius: 20px;
}

.bottom-right.small.vertical:before{bottom:0px; right:25px; font-size: 14px;}
.bottom-right.small.vertical:after{top:0px; right:10px; font-size: 14px;}
 



/* =============================================================================
   Elbows - large Horizontal
   ========================================================================== */
.elbow.large.horizontal{
	min-width:145px; 
	min-height:145px;	
}

.elbow.large.horizontal .block{
	min-height:55px;
	min-width:55px; 
	border-width:35px; 
	border-style: solid;
}
.elbow.large.horizontal .bar{
	min-height:60px;
	max-height:75px;
	min-width:80px;
}

/* Top Right large Horizontal Elbow */
.top-right.large.horizontal{
	border-top-right-radius:145px; 
	text-align:left;
}

.top-right.large.horizontal .bar{
	top:0px; 
	right:calc(100% - 5px);
}

.top-right.large.horizontal .block{
	right:-30px;
	top:calc(100% - 35px);
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:105px; 
	border-bottom-left-radius: 70px;
	
}

.top-right.large.horizontal:before{bottom:0px; right:10px;}
.top-right.large.horizontal:after{top:0px; right:150px;}

/* Top Left large Horizontal Elbow */
.top-left.large.horizontal{
	border-top-left-radius:145px; 
	text-align:right;
}

.top-left.large.horizontal .bar{
	top:0px; 
	left:calc(100% - 5px);
}

.top-left.large.horizontal .block{
	top:calc(100% - 35px);
	left:-30px;
    border-right: 0px solid transparent;
    border-bottom: 0px solid transparent;
    border-top-left-radius: 105px;
    border-bottom-right-radius: 70px;

}

.top-left.large.horizontal:before{bottom:0px; left:10px;}
.top-left.large.horizontal:after{top:0px; left:150px;}

/* Bottom Left large Horizontal Elbow */
.bottom-left.large.horizontal{
	border-bottom-left-radius:145px; 
	text-align:right;
}

.bottom-left.large.horizontal .bar{
	bottom:0px; 
	left:calc(100% - 5px);
}

.bottom-left.large.horizontal .block{
	bottom:calc(100% - 35px);
	left:-30px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:105px; 
	border-top-right-radius: 70px;
}


.bottom-left.large.horizontal:before{top:0px; left:10px;}
.bottom-left.large.horizontal:after{bottom:0px; left:150px;}

/* Bottom Right large Horizontal Elbow */
.bottom-right.large.horizontal{
	border-bottom-right-radius:145px; 
	text-align:left;
}

.bottom-right.large.horizontal > .bar{
	bottom:0px; 
	right:calc(100% - 5px);
}

.bottom-right.large.horizontal .block{
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:105px; 
	border-top-left-radius: 70px;
	bottom:calc(100% - 35px);
	right:-30px;
}

.bottom-right.large.horizontal:before{top:0px; right:10px;}
.bottom-right.large.horizontal:after{bottom:0px; right:150px;}


/* =============================================================================
   Elbows - large Vertical
   ========================================================================== */
.elbow.large.vertical{
	min-width:145px; 
	min-height:145px;	
}

.elbow.large.vertical .block{
	min-height:55px;
	min-width:55px; 
	border-width:35px; 
	border-style: solid;
}

.elbow.large.vertical .bar{
	min-height:80px;
	max-height:60px;
	min-width:75px;
}

/* Top Right Vertical large Elbow */
.top-right.large.vertical{
	border-top-right-radius:145px; 
}

.top-right.large.vertical .bar{
	right:0px;
	top:calc(100% - 5px);
}

.top-right.large.vertical .block{
	border-left:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-right-radius:105px; 
	border-bottom-left-radius: 70px;
	right:calc(100% - 35px);
	top:-30px;
}

.top-right.large.vertical:before{bottom:0px; right:10px;}
.top-right.large.vertical:after{top:0px; right:150px;}

/* Top Left Vertical large Elbow */
.top-left.large.vertical{
	border-top-left-radius:145px; 
	text-align:right;
}

.top-left.large.vertical .bar{
	left:0px;
	top:calc(100% - 5px);
}

.top-left.large.vertical .block{
	border-right:0px solid transparent; 
	border-bottom:0px solid transparent; 
	border-top-left-radius:105px; 
	border-bottom-right-radius: 70px;
	left:calc(100% - 35px);
	top:-30px;
}


.top-left.large.vertical:before{bottom:0px; left:10px;}
.top-left.large.vertical:after{top:0px; left:150px;}

/* Bottom Left Vertical large Elbow */
.bottom-left.large.vertical{
	border-bottom-left-radius:145px; 
	text-align:right;
}

.bottom-left.large.vertical .bar{
	left:0px;
	bottom:calc(100% - 5px);
}

.bottom-left.large.vertical .block{
	left:calc(100% - 35px);
	bottom:-30px;
	border-right:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-left-radius:105px; 
	border-top-right-radius: 70px;
}


.bottom-left.large.vertical:before{bottom:0px; left:150px;}
.bottom-left.large.vertical:after{top:0px; left:10px;}

/* Bottom Right Vertical large Elbow */
.bottom-right.large.vertical{
	border-bottom-right-radius:145px; 
}

.bottom-right.large.vertical .bar{
	right:0px;
	bottom:calc(100% - 5px);
}

.bottom-right.large.vertical .block{
	right:calc(100% - 35px);
	bottom:-30px;
	border-left:0px solid transparent; 
	border-top:0px solid transparent; 
	border-bottom-right-radius:105px; 
	border-top-left-radius: 70px;
}

.bottom-right.large.vertical:before{bottom:0px; right:150px;}
.bottom-right.large.vertical:after{top:0px; right:10px;}