.roster {
    display: flex;   
    flex-wrap: wrap;
}

.roster-item {
    display: block;
    position: relative;
    width: 278px;
    height: 360px;
    margin: 10px 1%;
    perspective: 1000px;
	left: -10px
}

.roster-item:hover .flipper, 
.roster-item.hover .flipper {
    transform: rotateY(180deg);
}

.roster-item .flipper {
	transition: 0.6s;
	transform-style: preserve-3d;

	position: relative;
}

.roster-item .flipper .front,
.roster-item .flipper .back {
   -webkit-backface-visibility: hidden;    
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
    width: 278px;
    height: 360px;
}

.roster-item .flipper .front {
	z-index: 2;
	transform: rotateY(0deg);
}

.roster-item .flipper .back {
    z-index: 1;
	transform: rotateY(180deg);
    background-color: #FFF;
    color: #000;
    padding: 50px 20px;
    box-sizing: border-box;
}

.roster-item .roster-item-details {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 46px;
    padding: 5px;
    background-color: #000;
    color: #FFF;
    overflow: hidden;
    box-sizing: border-box;
    line-height: 1.1em;  
}

.roster-item .roster-item-card img {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
    border: 0px;
}

.roster-item .roster-item-intro {
    font-size: 1em;
}

.roster-item .roster-item-intro .roster-item-name {
    padding-left: 50px;
    position: relative;
    margin-bottom: 10px;
}

.roster-item .roster-item-intro h4 {
    font-size: 1.3em;
}

.roster-item .roster-item-intro .roster-item-num {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    text-align: center;
    font-size: 2.7em;
    line-height: 1em;
    color: #700017;
    font-weight: bold;
}

.roster-item-name h4{color:#FFF !important}

.roster-item-card img {border: none!important}

@media screen and (max-width:1400px) {
    .roster-item {
        width: 292px;
        height: 380px;
        overflow: hidden;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 292px;
        height: 380px;
    } 
}

@media screen and (max-width:1024px) {
    .roster-item {
        width: 289px;
        height: 380px;
        overflow: hidden;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 289px;
        height: 380px;
    }     
}

@media screen and (max-width:980px) {
    .roster-item {
        width: 349px;
        height: 380px;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 349px;
        height: 380px;
    }     
}

@media screen and (max-width:780px) {
    .roster-item {
        width: 296px;
        height: 380px;
        overflow: hidden;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 296px;
        height: 380px;
    }    
}

@media screen and (max-width:680px) {
    .roster-item {;
        width: 268px;
        height: 350px;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 268px;
        height: 350px;
    }        
}

@media screen and (max-width:640px) {
    .roster-item {;
        width: 258px;
        height: 340px;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 258px;
        height: 340px;
    }        
}

@media screen and (max-width:600px) {
    .roster-item {;
        width: 100%;
        height: 360px;
    }
    
    .roster-item .flipper .front,
    .roster-item .flipper .back {
        width: 100%;
        height: 360px;
    }        
}