
html {
    font-size: calc(16px + 2vmin);
    line-height: calc(1.1em + 0.5vh);
}

body {
    padding: 0px;    
    margin: 0px;     
    height: 100vh;
    overflow: hidden;
    
    --cont_padding: 0px;
    --title_height: 4vh + 20px;
    --main_border_width: 10px;
    --border_padding: 20px;
    --actions_pad_width: 180px; 
    --actions_pan_padding: 5vmin;
    --action_button_size: 120px; 
    --action_button_font_size: 0.7em; 
    --arbitrary_actionbar_extension: 15px;
    --action_low: 0.7;        
    --action_high: 1.3;
    
}

form {
    display: inline-block;
}

h1 {
    font-size: calc((16px + 2vmin)*1.2);
    line-height: calc((1.1em + 0.5vh)*1.2);
}

.title {
    background: #d0d0d0;
    height: calc(var(--title_height));
    width: calc(100vw - var(--border_padding));        
}

.title #title {
    display: inline-block;
    width: 90%;  /*if set via calc it confuses textfill js*/ 
    font-size: 15px;
    white-space: nowrap;    
    color: white;
    text-transform: capitalize;
    font-family: verdana, sans-serif;
    overflow: hidden;
}

.title #status {
    display: inline-block;
    width: 10%;
    float:right;
    text-align:right;
}

.title #status span {
    display: inline-block;
    background: grey;
    border-radius: 100%;
    width: calc(5px + 3vmin);
    height: calc(5px + 3vmin);
}

.main {

    margin: 0px;
    padding: 0px;
    
    width: calc(100vw - var(--border_padding));
    height: calc(100vh - var(--border_padding));
        
    border-width: var(--main_border_width);
    border-style: solid;
    border-color: #d0d0d0;
}        

#actions_pan {
    background: #fafafa;
    padding: var(--actions_pan_padding);
}

#actions_pan.liked {
    background: #f6fff6;
}

#actions_pan.despised {
    background: #fff6f6;
}

.prom_low {
    font-size: calc(var(--action_button_font_size)*var(--action_low));
    width: calc(var(--action_button_size)*var(--action_low));
    height: calc(var(--action_button_size)*var(--action_low));
    line-height: calc(var(--action_button_size)*var(--action_low));
}

.prom_middle {
    font-size: var(--action_button_font_size);
    width: var(--action_button_size);
    height: var(--action_button_size);
    line-height: var(--action_button_size);
}

.prom_high {
    font-size: calc(var(--action_button_font_size)*var(--action_high));
    width: calc(var(--action_button_size)*var(--action_high));
    height: calc(var(--action_button_size)*var(--action_high));
    line-height: calc(var(--action_button_size)*var(--action_high));
}

.cont {
    background: lightyellow;
    padding: var(--cont_padding);        
    display: inline-block;
    overflow: hidden;
}

.content_actions {
    display: block;
    position: absolute;
    text-align:center;
}

.content_actions span.action_button {
    margin-top: 0vw;
}

.content_actions span.prom_low {
    margin-left: calc(1vw*var(--action_low));
    margin-right: calc(1vw*var(--action_low));
}

.content_actions span.prom_middle {
    margin-left: 1vw;
    margin-right: 1vw;
}

.content_actions span.prom_high {
    margin-left: calc(1vw*var(--action_high));
    margin-right: calc(1vw*var(--action_high));
}

.arrows {
    visibility: hidden;
    margin-bottom: 10vh;
}

@media only screen and (orientation: portrait) {
    .cont {
        width: calc(100vw - var(--border_padding) - 2*var(--cont_padding));
        height: calc(100vh - var(--border_padding) - (var(--title_height)) - 2*var(--cont_padding) - var(--actions_pad_width) - 2*var(--actions_pan_padding));        
    }    
    #actions_pan {
        width: calc(100vw - var(--border_padding) - 2*var(--actions_pan_padding));
        height: var(--actions_pad_width);
        position:absolute;
        bottom: calc(var(--main_border_width));                        
    }    
    .actions {   
        float: right;
    }
    .prom_low {
        margin-right: calc(1vh*var(--action_low));
        margin-left: calc(1vh*var(--action_low));
    }        
    .prom_middle {
        margin-right: 1vh;
        margin-left: 1vh;
    }        
    .prom_high {
        margin-right: calc(1vh*var(--action_high));
        margin-left: calc(1vh*var(--action_high));
    }        
    .content_actions {
        bottom:calc(var(--actions_pad_width)*1.5);
        left:50%;
        width: calc(100vw - var(--border_padding) - 2*var(--cont_padding));
        transform:translateX(-50%);
    }
}

@media only screen and (orientation: landscape) {
    .cont {
        width: calc(100vw - var(--actions_pad_width) - var(--border_padding) - 2*var(--actions_pan_padding) - 2*var(--cont_padding));
        height: calc(100vh - var(--border_padding) - (var(--title_height)) - 2*var(--cont_padding));
    }
    #actions_pan {
        width: var(--actions_pad_width);
        height: calc(100vh - var(--border_padding) - 2*var(--actions_pan_padding) - (var(--title_height)));
        float:right;    
        display: flex;
        align-items: flex-end;
        text-align: center;
    }
    .prom_low {
        margin-top: calc(2vw*var(--action_low));
    }
    .prom_middle {
        margin-top: 2vw;
    }
    .prom_high {
        margin-top: calc(2vw*var(--action_high));
    }
    .content_actions {
        width: calc(100vw - var(--actions_pad_width) - var(--border_padding) - 2*var(--actions_pan_padding) - 2*var(--cont_padding));
        bottom: 5vh;
    }
}    

@media only screen and (max-width:660.0px) , screen and (max-height:660.0px){
    .prom_low {
        width: calc(var(--action_button_size)/2*var(--action_low)); 
        height: calc(var(--action_button_size)/2*var(--action_low)); 
        line-height: calc(var(--action_button_size)/2*var(--action_low)); 
        font-size: calc(var(--action_button_font_size)*2/3*var(--action_low));
    }    
    .prom_middle {
        width: calc(var(--action_button_size)/2); 
        height: calc(var(--action_button_size)/2); 
        line-height: calc(var(--action_button_size)/2); 
        font-size: calc(var(--action_button_font_size)*2/3);
    }    
    .prom_high {
        width: calc(var(--action_button_size)/2*var(--action_high)); 
        height: calc(var(--action_button_size)/2*var(--action_high)); 
        line-height: calc(var(--action_button_size)/2*var(--action_high)); 
        font-size: calc(var(--action_button_font_size)*2/3*var(--action_high));
    }    

    @media (orientation: landscape) {
        .cont {
            width: calc(100vw - var(--actions_pad_width)/2 - var(--border_padding) - 2*var(--actions_pan_padding) - 2*var(--cont_padding) - var(--arbitrary_actionbar_extension));
        }
        #actions_pan {
            width: calc(var(--actions_pad_width)/2 + var(--arbitrary_actionbar_extension));
        }
        .content_actions {
            width: calc(100vw - var(--actions_pad_width)/2 - var(--border_padding) - 2*var(--actions_pan_padding) - 2*var(--cont_padding) - var(--arbitrary_actionbar_extension));
        }
    }

    @media (orientation: portrait) {
        .cont {
            height: calc(100vh - var(--border_padding) - (var(--title_height)) - 2*var(--cont_padding) - var(--actions_pad_width) / 2 - 2*var(--actions_pan_padding) - var(--arbitrary_actionbar_extension));        
        }    
        #actions_pan {
            height: calc(var(--actions_pad_width)/2 + var(--arbitrary_actionbar_extension));
        }    
        .content_actions {
            bottom:calc((var(--actions_pad_width)/2)*2);
        }
    }    
}

@media only screen and (max-width:480px) , screen and (max-height:480px){
    .prom_low {
        width: calc(var(--action_button_size)/4*var(--action_low)); 
        height: calc(var(--action_button_size)/4*var(--action_low)); 
        line-height: calc(var(--action_button_size)/4*var(--action_low)); 
        font-size: calc(var(--action_button_font_size)/2*var(--action_low));
    }    
    .prom_middle {
        width: calc(var(--action_button_size)/4); 
        height: calc(var(--action_button_size)/4); 
        line-height: calc(var(--action_button_size)/4); 
        font-size: calc(var(--action_button_font_size)/2);
    }    
    .prom_high {
        width: calc(var(--action_button_size)/4*var(--action_high)); 
        height: calc(var(--action_button_size)/4*var(--action_high)); 
        line-height: calc(var(--action_button_size)/4*var(--action_high)); 
        font-size: calc(var(--action_button_font_size)/2*var(--action_high));
    }    

    @media (orientation: landscape) {
        .cont {
            width: calc(100vw - var(--actions_pad_width)/4 - var(--border_padding) - 2*var(--actions_pan_padding) - 2*var(--cont_padding) - var(--arbitrary_actionbar_extension));
        }
        #actions_pan {
            width: calc(var(--actions_pad_width)/4 + var(--arbitrary_actionbar_extension));
        }
        .content_actions {
            width: calc(100vw - var(--actions_pad_width)/4 - var(--border_padding) - 2*var(--actions_pan_padding) - 2*var(--cont_padding) - var(--arbitrary_actionbar_extension));
        }
    }
    
    @media (orientation: portrait) {
        .cont {
            height: calc(100vh - var(--border_padding) - (var(--title_height)) - 2*var(--cont_padding) - var(--actions_pad_width)/4 - 2*var(--actions_pan_padding) - var(--arbitrary_actionbar_extension));        
        }    
        #actions_pan {
            height: calc(var(--actions_pad_width)/4 + var(--arbitrary_actionbar_extension));
        }    
        .content_actions {
            bottom:calc((var(--actions_pad_width)/4 + var(--arbitrary_actionbar_extension))*2);
        }
    }
}
    