In reading your question, one possible set up that comes to mind is that you can treat tank as a random grouping factor. Then, for each tank, you have multiple values of your response variable - total swim time - coming from the multiple fish in that tank:
Level 2: Tank 1 $......$ Tank 2 $.....$ Tank 3 $...$ Tank 4
Level 1: πππ $...$ ππππ $...$ πππ $...$ ππ
In the above diagram, your response obsevation level is Level 1 and your random grouping factor level is Level 2.
Given the above, temperature is a Level 2 predictor variable (i.e., a tank-level predictor variable). Indeed, its values change from tank to tank, but not from fish-to-fish within the same tank.
It is not clear from the information you provided if you included fish from all 4 crosses in any particular tank. If you did, then cross can be considered a Level-1 predictor (i.e., a fish-level predictor). If the 4 crosses are all the crosses you care about in your study, it makes sense to consider cross as a predictor in the fixed effects portion of your model.
Of course, if cross has more than the 4 levels you were able to include in your study, you would be able to consider cross as a random grouping factor. But if these 4 levels are all you care about, then see the previous paragraph.
The tricky thing here is that you are interested in the effect of a Level 2 predictor: temperature. Assuming your model only includes a single grouping factor, I wonder if your best bet would be to actually consider a GEE-type model rather than a mixed effects model to conduct inference on this Level 2 predictor.