/**************************************************

    GENERAL

**************************************************/

body {
    font-size: 14px;
}

h1 {
    font-weight: bold;
    font-size: 28px;
}

h2 {
    font-weight: bold;
    font-size: 21px;
}

h3 {
    font-weight: bold;
    font-size: 14px;
}

p,
ul,
ol {
    font-size: 14px;
}


/**************************************************

    Card

**************************************************/

.card {
    background-color: #002552; 
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    color: #fff;
    display: block;
    overflow: hidden;
    padding-bottom: 100%;
    position: relative;
    width: 100%;
}

.card:visited {
    color: #fff;
}

.card__content {
    bottom: 0;
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%;
    transition: all 0.2s linear;
}

.card__content::before,
.card__content::after {
    content: '';
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
}

.card__content::before {
   /* background: linear-gradient(15deg, rgba(0, 55, 122, 1) 0%, rgba(0, 55, 122, 0) 60%);*/
}

.card__content::after {
    background: #e0e7ef;
    opacity: 0;
    transition: all 0.2s linear;
}

.card:hover .card__content::after {
    opacity: 1;
}

.card__title {
    background: #00377a;
    bottom: 0;
    color: #fff;
    font-size: 18px;
    left: 0;
    letter-spacing: 1px;
    line-height: 30px;
    padding: 15px 20px;
    position: absolute;
    transition: all 0.3s linear;
    width: 100%;
    z-index: 20;
}

/*
    https://css-tricks.com/multi-line-padded-text/
    
*/
/*
.card__title strong {
    background: #00377a;
    border: 3px solid #00377a;
    border-width: 3px 0;
    box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
        -ms-box-decoration-break: clone;
        -o-box-decoration-break: clone;
    box-shadow: 5px 0 0 #00377a, -5px 0 0 #00377a;
    position: relative;
}
*/

.card__title strong::after {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg width='100%25' height='100%25' viewBox='0 0 34 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cpath d='M24,20c-0.512,0 -1.023,-0.195 -1.414,-0.586c-0.781,-0.781 -0.781,-2.047 0,-2.828l4.586,-4.586l-25.172,0c-1.104,0 -2,-0.896 -2,-2c0,-1.104 0.896,-2 2,-2l25.172,0l-4.586,-4.586c-0.781,-0.781 -0.781,-2.047 0,-2.828c0.781,-0.781 2.047,-0.781 2.828,0l8.028,8.028c0.177,0.184 0.312,0.393 0.405,0.615c0.098,0.238 0.153,0.498 0.153,0.771c0,0.273 -0.055,0.533 -0.153,0.771c-0.093,0.222 -0.228,0.431 -0.405,0.615c-0.001,0 -0.001,0.001 -0.001,0.001l-8.027,8.027c-0.391,0.391 -0.902,0.586 -1.414,0.586' style='fill:%23fff;fill-rule:nonzero;'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    height: 12px;
    left: -10px;
    opacity: 0;
    position: relative;
    transition: all 0.3s linear;
    width: 20px;
}

.card:hover .card__title strong::after {
    left: 0;
    opacity: 1;
}

.card__text {
    color: #00377a;
    font-size: 16px;
    left: 20px;
    opacity: 0;
    padding: 0 20px;
    position: absolute;
    right: -20px;
    top: 20px;
    transition: all 0.2s linear 0.1s;
    z-index: 20;
}

.card:hover .card__text {
    left: 0;
    opacity: 1;
    right: 0;
}

.card__text * {
    font-size: 18px;
}

.card__text > :last-child {
    margin-bottom: 0;
}
